Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ida-cli — Servidor MCP headless do IDA Pro para análise binária assistida por IA, alimentado por idalib | Kitploit
Ferramentas/GitHubGitHub/cpkt9762/ida-cli
Engenharia ReversaAnálise de BináriosEngenharia Reversa Assistida por IA
GitHubcpkt9762/ida-cli

ida-cli

Servidor MCP headless do IDA Pro para análise binária assistida por IA, alimentado por idalib

Ver Repositório
28863há 2 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
# ida-cli

CLI headless para IDA e toolkit baseado em skills para análise de binários em macOS e Linux. O `ida-cli` seleciona automaticamente um backend de runtime, inicia um servidor local quando necessário, e expõe a mesma superfície como uma CLI plana, um transporte MCP via stdio e um transporte MCP HTTP Streamable.

[中文说明](https://github.com/cpkt9762/ida-cli/blob/master/README.zh-CN.md)

## Dois Pontos de Entrada para o Utilizador

- o binário local `ida-cli` (cliente + serviço num único executável)
- a skill instalável `ida-cli` (`skill/SKILL.md`) para ambientes de agentes

A camada de serviço subjacente (worker / router) é iniciada e encerrada automaticamente pela CLI. Só precisa de executar `serve` / `serve-http` explicitamente quando quiser um serviço de longa duração e endereçável externamente.

## Matriz de Suporte

### Plataformas Anfitriãs

- Suportadas: macOS, Linux
- Não suportadas: Windows

### Política de Runtime do IDA

| Versão do IDA | Backend | Notas |
|---|---|---|
| `< 9.0` | unsupported | — |
| `9.0 – 9.2` | `idat-compat` | invoca `idat` + IDAPython |
| `9.3+` | `native-linked` | faz ligação com `idalib` fornecido (vendored) |

A seleção do backend é feita em tempo de execução por `probe-runtime`. A compilação ainda requer um IDA SDK porque a camada nativa fornecida (vendored) é ligada a ele; em tempo de execução, a CLI abre o próprio IDA a partir de `IDADIR` ou de um caminho de instalação comum normalizado.

## Capacidades Atuais

Em runtimes IDA 9.x suportados, o `ida-cli` pode:

- abrir binários PE / ELF / Mach-O crus e reutilizar bases de dados `.i64` em cache
- listar e resolver funções, desmontar por endereço ou nome, descompilar via Hex-Rays
- consultar segmentos, strings, importações, exportações, pontos de entrada, símbolos globais
- resolver contexto de endereço ↔ segmento / função / símbolo
- ler bytes / strings / inteiros, aplicar helpers `read_*` e `convert_number`
- consultar xrefs para / de um endereço (incluindo xrefs para strings e campos de struct)
- construir grafos de chamadas, blocos básicos e caminhos de fluxo de controlo
- procurar texto, imediatos, bytes, instruções, operandos, pseudocódigo
- declarar / aplicar tipos, renomear símbolos e locais, definir comentários
- executar snippets IDAPython via `run_script`

Itens em aberto: algumas operações de escrita intensiva e edição avançada de tipos ainda estão parciais no `idat-compat`. Consulte [docs/TOOLS.md](https://github.com/cpkt9762/ida-cli/blob/master/docs/TOOLS.md) para a lista de ferramentas gerada.

## Início Rápido

### Recomendado: Instalar a Skill

O ponto de entrada predefinido é a skill `ida-cli`, não uma instalação manual da CLI.

```bash
# list the skill exposed by this repository
npx -y skills add https://github.com/cpkt9762/ida-cli --list

# install the ida-cli skill for Codex
npx -y skills add https://github.com/cpkt9762/ida-cli --skill ida-cli --agent codex --yes --global
```

Após a instalação, a skill inclui o seu próprio wrapper de bootstrap:

```bash
~/.agents/skills/ida-cli/scripts/ida-cli.sh --help
~/.agents/skills/ida-cli/scripts/ida-cli.sh probe-runtime
~/.agents/skills/ida-cli/scripts/ida-cli.sh --path /path/to/binary list-functions --limit 20
```

Se `ida-cli` não estiver presente, o wrapper instala-o através do instalador do repositório antes de encaminhar o comando.

### Instalação Direta da CLI (Opcional)

Utilize isto apenas se quiser a CLI autónoma sem passar pela skill.

```bash
curl -fsSL https://raw.githubusercontent.com/cpkt9762/ida-cli/master/scripts/install.sh | bash -s -- --add-path
```

Variantes úteis:

```bash
# install a specific release
curl -fsSL https://raw.githubusercontent.com/cpkt9762/ida-cli/master/scripts/install.sh | bash -s -- --tag v0.9.3 --add-path

# build directly from a branch or ref
curl -fsSL https://raw.githubusercontent.com/cpkt9762/ida-cli/master/scripts/install.sh | bash -s -- --ref master --build-from-source --add-path
```

Notas:

- O instalador coloca o lançador em `~/.local/bin/ida-cli` por predefinição.
- `--add-path` adiciona esse diretório bin ao seu ficheiro rc de shell.
- Se nem `IDASDKDIR` nem `IDALIB_SDK` estiverem definidos e for necessária uma compilação local, o instalador clona automaticamente o `HexRaysSA/ida-sdk` de código aberto.
- Quando existem múltiplas instalações do IDA, exporte `IDADIR` explicitamente antes de instalar ou executar `ida-cli`.

### Compilar a Partir do Código Fonte

```bash
git clone https://github.com/cpkt9762/ida-cli.git
cd ida-cli

export IDADIR="/Applications/IDA Professional 9.4.app/Contents/MacOS"   # or a Linux install
export IDASDKDIR="/path/to/ida-sdk"                                     # root or ida-sdk/src

cargo build --bin ida-cli
./target/debug/ida-cli --help
```

### Utilizar a CLI

A `ida-cli` é orientada ao cliente (client-first). Qualquer subcomando de cliente inicia automaticamente um servidor Streamable-HTTP local vinculado a uma porta aleatória e escreve `/tmp/ida-cli.socket` para descoberta:

```bash
./target/debug/ida-cli --path /path/to/sample.bin list-functions --limit 20
./target/debug/ida-cli --path /path/to/sample.bin decompile --addr 0x140001000
./target/debug/ida-cli --path /path/to/sample.bin raw '{"method":"get_xrefs_to","params":{"address":"0x140001000"}}'
```

Os comandos cujo primeiro argumento é um subcomando de serviço (`serve`, `serve-http`, `serve-worker`, `probe-runtime`) entram em modo de serviço:

```bash
./target/debug/ida-cli serve                          # stdio MCP transport
./target/debug/ida-cli serve-http --bind 127.0.0.1:8765
./target/debug/ida-cli probe-runtime
```

Exemplo de saída do backend-probe:

```json
{"runtime":{"major":9,"minor":1,"build":250226},"backend":"idat-compat","supported":true,"reason":null}
```

```json
{"runtime":{"major":9,"minor":4,"build":260610},"backend":"native-linked","supported":true,"reason":null}
```

Para a superfície completa da CLI, consulte [skill/references/cli-tool-reference.md](https://github.com/cpkt9762/ida-cli/blob/master/skill/references/cli-tool-reference.md).

## Requisitos de Compilação

- Rust 1.87+
- LLVM / Clang
- Sistema anfitrião macOS ou Linux
- Uma instalação do IDA via `IDADIR` (o suporte de runtime começa no IDA 9.0)
- Um IDA SDK via `IDASDKDIR` ou `IDALIB_SDK`

O caminho do SDK pode apontar para qualquer uma das estruturas:

- `/path/to/ida-sdk`
- `/path/to/ida-sdk/src`

## Notas de Runtime

### `idat-compat`

Backend de compatibilidade para IDA 9.0–9.2. Ele invoca `idat`, executa pequenos scripts IDAPython e devolve JSON estruturado ao runtime da CLI.

### `native-linked`

Backend para IDA 9.3+. Faz ligação com a linha `idalib` fornecida (vendored) e abre bases de dados no processo.

### Cache e Caminhos Locais de Runtime

- Cache de bases de dados: `~/.ida/idb/`
- Registos (logs): `~/.ida/logs/server.log`
- Socket Unix do servidor: `~/.ida/server.sock`
- Ficheiro PID do servidor: `~/.ida/server.pid`
- Ficheiro de descoberta da CLI (mapeia a CLI plana para o socket ativo): `/tmp/ida-cli.socket`
- Cache de grandes respostas JSON: `/tmp/ida-cli-out/`

## CI e Lançamentos (Releases)

O GitHub Actions compila e testa a árvore em runners hospedados contra o `HexRaysSA/ida-sdk` de código aberto, pelo que o CI não depende de nenhuma estrutura privada de máquina.

Comportamento atual do workflow:

- pushes e pull requests contra `master` executam validação
- pushes com tag como `v0.9.3` geram arquivos de lançamento para Linux e macOS
- os lançamentos incluem `install.sh` e arquivos por plataforma

Os binários de lançamento são compilados contra stubs do SDK. No momento da instalação, o lançador gerado por `install.sh` resolve o seu runtime local do IDA através de `IDADIR` ou de um conjunto normalizado de caminhos de instalação comuns antes de invocar `ida-cli`.

## Documentação

- [docs/BUILDING.md](https://github.com/cpkt9762/ida-cli/blob/master/docs/BUILDING.md) — compilar a partir do código fonte
- [docs/ARCHITECTURE.md](https://github.com/cpkt9762/ida-cli/blob/master/docs/ARCHITECTURE.md) — router, backends, federação
- [docs/TRANSPORTS.md](https://github.com/cpkt9762/ida-cli/blob/master/docs/TRANSPORTS.md) — stdio, HTTP streamable, multi-IDB
- [docs/TOOLS.md](https://github.com/cpkt9762/ida-cli/blob/master/docs/TOOLS.md) — catálogo de ferramentas gerado
- [docs/TESTING.md](https://github.com/cpkt9762/ida-cli/blob/master/docs/TESTING.md) — testes de integração e unitários
- [skill/SKILL.md](https://github.com/cpkt9762/ida-cli/blob/master/skill/SKILL.md) — bootstrap da skill e política de utilização
- [skill/references/cli-tool-reference.md](https://github.com/cpkt9762/ida-cli/blob/master/skill/references/cli-tool-reference.md) — superfície completa da CLI

## Licença

MIT
Baixar ferramenta