Skip to content
Back to skills

Apex Method

ASecurity

**Alvo:** pacotes enviados `apexmethod.skill` + `apexmethodneoformat.zip` (conteúdo idêntico, layouts diferentes: plano vs árvore theneoai), auditados contra o repositório APEX integral (v00.37 master de 20.496 linhas + boot v00.39.1 de 111 páginas). **Método:** nenhuma alegação aceita sem validação concreta — toda contagem foi re-derivada programaticamente do repo, todo bug foi reproduzido ao vivo antes de ser reportado, e toda correção tem teste de regressão no benchmark. **Data:** 2026-07-...

  • 2 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 8, 2026
ai-agentspythonrustgosqlexpressgitapi

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 18 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add thiagofernandes1987-create/APEX --skill apex-method --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Apex Method?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Apex Method
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thiagofernandes1987-create-apex-method/badge)](https://www.skillsdirectory.com/skills/thiagofernandes1987-create-apex-method)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Auditoria "Autópsia" da Skill apex-method — v1.16.0 → v1.17.0

**Alvo:** pacotes enviados `apexmethod.skill` + `apexmethodneoformat.zip` (conteúdo idêntico,
layouts diferentes: plano vs árvore theneoai), auditados contra o repositório APEX integral
(v00.37 master de 20.496 linhas + boot v00.39.1 de 111 páginas).
**Método:** nenhuma alegação aceita sem validação concreta — toda contagem foi re-derivada
programaticamente do repo, todo bug foi reproduzido ao vivo antes de ser reportado, e toda
correção tem teste de regressão no benchmark.
**Data:** 2026-07-13.

---

## 1. Sumário executivo

A skill é uma destilação genuína e majoritariamente honesta do APEX: os 24 motores rodavam
(24/24 com dependências instaladas), o UCO embarcado é **byte-idêntico** ao autoral do repo,
a matemática bayesiana confere, e os 3 riscos do repo (V-01 pickle/V-02 marketplace/V-03
probe) **não** foram herdados. Porém a autópsia encontrou: **2 alegações de inventário falsas**
(cobertura de agentes e de skills nativas), **1 dependência oculta que matava o ponto de
entrada**, **9 bugs reproduzidos**, **4 itens de dead code**, **3 fraquezas de segurança**
e **5 chamadas esquecidas** (fluxo documentado ≠ fluxo executado). Tudo corrigido em v1.17.0;
benchmark ampliado de 24 para 27 testes, **27/27 PASS** — e o núcleo agora passa até num
ambiente sem sklearn/sympy.

## 2. Alegações do inventário vs realidade medida

| Alegação (inventario v1.15/1.16) | Medido no repo | Veredito |
|---|---|---|
| "183 agentes reais do APEX" (= todos) | **213 únicos** (219 AGENT.md; 30 de `community-awesome` ausentes do roster — mesmo ponto cego do `tools/generate_agent_roster.py`, que só varre `community-subagents` + `cs_*`) | 🔴 FALSO → corrigido: roster com 213 |
| "430 skills reais" + "Nada ficou de fora" | as 430 são TODAS de `theneoai/awesome-skills`; **0 das 3.784 skills nativas** do repo estavam indexadas | 🔴 FALSO → corrigido: `apex_native_skills_index.json` (3.784) + `repo_bridge` |
| "14 diffs (packs v00.33–36)" | packs reais contêm **18 DIFF_***; a lib tinha 6 DIFF_* + 8 itens mistos (12 DIFFs faltavam) | 🟠 INCOMPLETO → corrigido: 18/18 |
| "111 módulos" | 111 páginas em `apex_boot/v00_39_1/pages` — bate 1:1 com `module_registry.json` | 🟢 EXATO |
| "41 assets" | 41 diretórios em `algorithms/` — cobertura 1:1 | 🟢 EXATO |
| "18 MCPs" | 18 entradas; 5 dirs de `integrations/` (claude-commands, external-plugins, knowledge-work, official-plugins, plugins) fora do mcp_registry mas citados em apex-assets.md | 🟡 OK com nota |
| "24/24 PASS" | verdadeiro **somente** com sklearn+sympy instalados; num ambiente limpo: **19/24**, com o orchestrator (ponto de entrada) morrendo em ModuleNotFoundError | 🟠 ENGANOSO → corrigido: fallback `_tfidf.py` + verify degradável |
| "8C/44SR/18G/7H documentadas+enforçadas" | SR_36–40 enforçadas de verdade; refs citam 19/44 SRs e 2/18 Gs; **SR_46/47 (v00.39) ausentes** | 🟠 PARCIAL → SR_46/47 documentadas |
| UCO "nativizado" | `diff` = vazio vs `algorithms/uco/universal_code_optimizer_v4.py` | 🟢 FIEL |
| Matemática bayesiana | Beta(1,1)+8/10→0.75→ADOPT; posterior A=0.7407; gates R_acum — reproduzidos | 🟢 CORRETA |
| Versão | SKILL.md dizia 1.16.0, inventario dizia 1.15.0 | 🟠 DRIFT → unificado 1.17.0 |
| guards.md "all 18 scripts pass SR_40" | eram 24 scripts | 🟠 DRIFT → corrigido |

## 3. Bugs encontrados (todos reproduzidos ao vivo antes de corrigir)

| ID | Onde | Bug | Prova | Correção |
|---|---|---|---|---|
| B-01 | router/gravity/agent_registry/orchestrator | sklearn como dependência RÍGIDA — ponto de entrada crashava em ambiente limpo | benchmark 19/24 sem sklearn | `_tfidf.py` (TF-IDF+cosine puro stdlib) como fallback |
| B-02 | skill_scout + guards | `.loads()` em REJECT irrestrito → **`json.loads` rejeitava qualquer skill legítima** (FP crítico no fluxo de descoberta) | scan de `json.loads` → REJECTED | reject só para receivers deserializadores (pickle/marshal/dill/shelve/yaml/joblib); resto vira REVIEW |
| B-03 | orchestrator.`_safe_arith` | `9**9**9` congela o processo (bignum ilimitado no caminho EXPRESS) | hang >2s reproduzido | expoente literal ≤64 obrigatório |
| B-04 | orchestrator.`express_check` | case-sensitive: "What is 2+2?" não caía no caminho aritmético | retornava `answer: None` | lowercase antes do strip |
| B-05 | orchestrator.`pmi_converge` | candidato numérico com answer não-numérica → ValueError não tratado | crash reproduzido | degrada o candidato para qualitativo |
| B-06 | curated.`best_for_task` | parser de installs lia "1.2M" como 1.2 e "391K" como 391 → ordenação por popularidade invertida | teste unitário | parser correto (K=1e3, M=1e6) |
| B-07 | mental_interpreter.`optimal_size_for_target` | `ceil` onde a desigualdade exige `floor`: p=0.9, ε=0.05 → n=3 → confiabilidade acumulada 0.857 **< alvo 0.9** | verificação aritmética | `floor` + regressão `(1-ε)^n ≥ p` |
| B-08 | fractal_compression | hipótese já podada continuava dominando outras (estado de `a` nunca checado) | inspeção + teste | `a["state"] != "ACTIVE" → continue` |
| B-09 | hypothesis_dag.`register` | o reset >200 nós apagava o próprio log de eventos antes de gravar `[DAG_RESET]` | inspeção | preserva `events` através do reset |

## 4. Segurança

**Não herdado do repo (verificado):** sem `pickle.load` (V-02), sem dependência da org
`apex-marketplace` (V-01 — aparece só numa string de demo), sem sonda fora da allowlist (V-03).

| ID | Fraqueza | Correção |
|---|---|---|
| S-01 | `fetch_text` seguia **redirects para fora da allowlist** (host só era checado na URL inicial) | re-checa o host da URL FINAL (`r.geturl()`); + cap de 2MB |
| S-02 | `forge_load_gate` (SR_37) não via `getattr` dinâmico — `getattr(os, 's'+'ystem')` passava pelo gate estrito | `getattr` com nome não-literal = REJECT |
| S-03 | fetch sem pin de commit = confiança num branch móvel (classe V-01) | `repo_bridge` aceita `APEX_REPO_REF`/`set_ref()` para pinar sha |

Limite honesto (mantido no SKILL.md): o scanner AST é um gate estático best-effort, não um
sandbox; a fronteira real continua sendo a aprovação humana (H5).

## 5. Dead code e chamadas esquecidas

- **Dead code removido/ativado:** `ATTRACTION_RADIUS` e `NEIGHBOR_COLOAD` declarados e nunca
  usados (o radius estrito agora é usado com fallback relaxado); `_load_cat` duplicata
  byte-a-byte de `_load` (virou alias); `import re` sem uso em `gravity.plan`; função interna
  `score()` morta em `curated.best_for_task`; `flatten`/`sigmoid_grad` órfãs no UCO
  (mantidas — o arquivo é espelho fiel do autoral do repo, drift proposital = falso "fiel").
- **Chamadas esquecidas (fluxo do inventário ≠ código):** o diagrama prometia
  `mental_interpreter` no cálculo do modo — nunca era chamado (agora `run()` devolve
  `phase_plan` com `n_final`); `bayes.filter_priors` (G5) implementado e jamais invocado
  (agora aplicado no PMI quando candidatos trazem `prior`); `snapshot`/`apex_st_metric` no
  fim do fluxo são passos do LLM, não do código — documentado como tal. `pot.run_parallel`,
  `numeric.rk4_trajectory`, `guards.zero_ambiguity_lint_*` e `curated.preassign` são API
  pública documentada (não são dead code).

## 6. Integração do repositório completo + descoberta de skills (novo em v1.17.0)

- **`scripts/repo_bridge.py`** — TODO o repo endereçável pela skill: 3.784 skills nativas
  (`search_native`/`native_skill`), 213 agentes (`agent`), 111 páginas de boot (`page`),
  qualquer arquivo (`fetch`) — clone local quando existe, senão GitHub raw com allowlist,
  checagem de redirect, cap de tamanho, ref pinável e recusa de path traversal.
- **`catalog/apex_native_skills_index.json`** — índice completo gerado do repo (3.784
  entradas: id, categoria, path, descrição).
- **Descoberta em cascata com aprovação:** `gravity.plan()` agora resolve lacunas na ordem
  (1) biblioteca nativa → (2) busca skills.sh (URL pronta) → (3) busca GitHub (URL pronta),
  emitindo `ASK_USER_TO_APPROVE_INSTALL`: Claude apresenta o candidato e **só instala
  (`npx skills add owner/repo`) após aprovação explícita do usuário** (H5). Nada é
  auto-instalado ou auto-executado.

## 7. Verificação final

```
python3 tests/benchmark.py    # 27/27 PASS (~1.4s)
```

- 24 testes originais + `repo_bridge` + `_tfidf` + `audit_regressions` (um assert por bug).
- Em ambiente simulado SEM sklearn/sympy: orchestrator, router, gravity, agent_registry e
  verify continuam funcionando (degradação declarada, não crash).
- SKILL.md: 245 linhas (≤300), frontmatter neoformat válido, SR_40 auto-conformidade mantida.

---

## Adendo — rodadas de correção do backlog (v1.17.1 → v1.18.0)

Após a autópsia inicial, o backlog priorizado do `inventario.md` foi executado em rodadas,
cada uma validada contra regressão (benchmark de 27 → **31/31 PASS**; núcleo revalidado em
ambiente sem sklearn/sympy/numpy):

- **P1 (qualidade de roteamento):** diffs bilíngues (`text_en`) passam a ser atraídos por
  tarefas EN; índice nativo enriquecido (desc≤400 + trigger words — busca "bayesian" agora
  retorna); fallback de raio no `gravity.plan`.
- **P2 (segurança/fonte):** **V-02** `_RestrictedUnpickler` bloqueia RCE por pickle;
  **V-03** sonda migra para host da allowlist; **V-01** orgs reivindicáveis
  (`apex-marketplace`/`apex-framework`) removidas de trusted_domains + fallback/test_url/catálogo
  apontando ao repo real; **B-04** ontology 404 corrigida; `generate_agent_roster.py` corrigido
  na fonte (varre `community-awesome`, 163 → 196); `tools/lint_executor.py` preenche `executor:`
  nas 50 páginas faltantes com **page_manifest sha8 regenerado (111/111 conferem)**.
- **P3 (completude):** `scripts/monte_carlo.py` real (P10/P50/P90 + CV) ligado ao PMI;
  as 44 SRs documentadas em `rules.md`; 5 dirs de `integrations/` indexados (18 → 23 MCPs);
  `snapshot` ligado ao `orchestrator.run()`; `code_genetics` com persistência SQLite opcional.

**Remanescente (pesquisa/externo, não-defeito):** embeddings reais no lugar do TF-IDF lexical;
avaliação externa independente do EVALUATION_REPORT. Tudo que era defeito/lacuna acionável está
corrigido, testado e otimizado.

Files in this skill

  • AUDITORIA_AUTOPSIA_v1_42.md15.5 KB
  • AUDITORIA_CIENTIFICA.md18.8 KB
  • AUDITORIA_SKILL.md10.1 KB
  • CLASSIFICACAO_APEX.md6.4 KB
  • EVALUATION_REPORT.md2.1 KB
  • SKILL.md59.5 KB
  • VALIDACAO_AUDITORIA_GPT_v1_43.md5.2 KB
  • catalog/agents_catalog.json8.1 KB
  • catalog/algorithms_map.json4.9 KB
  • catalog/apex_agents_roster.json35.6 KB
  • catalog/capability_map.json56.4 KB
  • catalog/coverage_report.json12.7 KB
  • catalog/curated_skills.json9 KB
  • catalog/diffs_lib.json9.4 KB
  • catalog/knowledge_base_seed.json4.1 KB
  • catalog/managed_assets.json14.8 KB
  • catalog/mcp_registry.json4.6 KB
  • catalog/module_registry.json19.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…