PARE. LEIA ESTE SKILL.MD COMPLETO ANTES DE CHAMAR QUALQUER ENDPOINT.
O que analyze-elf faz?
Faça engenharia reversa de recursos de binários ELF compilados. Não é um desmontador — é um extrator de recursos que responde "o que este binário faz?"
Quando Usar
- Entender o que uma ferramenta CLI compilada faz (Bun SEA, Go, Rust, C/C++)
- Extrair comandos CLI, flags e texto de ajuda
- Recuperar máquinas de estado, esquemas de protocolo e tipos de evento
- Mapear métodos JSON-RPC e modelos de dados Zod
- Produzir um relatório de acusação com diagramas Mermaid
Início Rápido
# Comando principal — extrair recursos, gerar relatório de acusação
.pi/skills/analyze-elf/run.sh features /caminho/para/binario --goal "entender o sistema de missão"
# Com análise AST via /treesitter (mais lento, mais profundo)
.pi/skills/analyze-elf/run.sh features /caminho/para/binario --ast --goal "encontrar todos os métodos RPC"
# Saída JSON para uso programático
.pi/skills/analyze-elf/run.sh features /caminho/para/binario --output-format json
# Informações ELF de baixo nível (cabeçalhos, símbolos, detecção de runtime)
.pi/skills/analyze-elf/run.sh elf /caminho/para/binario
# Extração de strings com regex
.pi/skills/analyze-elf/run.sh strings /caminho/para/binario --pattern "missão|worker"
Comandos
| Comando | Descrição |
|---|---|
features | Principal. Extrair recursos → gerar relatório de acusação com diagramas Mermaid |
elf | Baixo nível: cabeçalhos, seções, símbolos, detecção de runtime |
strings | Extração de strings com filtro regex |
O que features Extrai
| Categoria | Método | Exemplo |
|---|---|---|
| Comandos CLI | Correspondência de padrões de texto de ajuda | exec, daemon, mcp |
| Máquinas de estado | Padrões de atribuição de enum (M.State="valor") | orchestrator_turn, paused |
| Tipos de evento | Padrões KH.literal("nome_tipo") | mission_accepted, worker_completed |
| Métodos JSON-RPC | Padrões method: KH.literal("nome") | droid.session_notification |
| Esquemas Zod | Extração de campos KH.object({...}) | Feature, WorkerHandoff, State |
| Pacotes npm | "name": "pkg" em package.json empacotado | @grpc/grpc-js |
| Rotas de API | Literais de caminho /api/ e /v1/ | /api/auth/login |
| Classes/funções | AST via /treesitter (com flag --ast) | MissionRunner, spawnWorker |
Composição
/treesitter (Análise AST)
Quando --ast é passado, a habilidade:
- Extrai strings fonte JS de
.rodata - Filtra linhas com padrões JS (function/class/import/Zod)
- Envia chunks através de
/treesitter parse --language javascript - Extrai classes, funções e assinaturas de método
/create-walkthrough (Gerado automaticamente)
O comando features produz um relatório de acusação com:
- Árvore de comandos CLI Mermaid
- Diagramas de máquina de estado Mermaid
- Taxonomia de tipos de evento Mermaid
- Tabelas de esquema com tipos de campo
- Avaliação de risco ("O Que Poderia Dar Errado")
/create-figure
Diagramas de dependência e módulo no formato DOT estão disponíveis via o comando elf para renderização através de /create-figure.
Dependências
pyelftools— análise estruturada de ELFhttpx— chamadas de API /scillmtyper— CLIloguru— logging- Sistema:
binutils(readelf, nm, strings)