Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
binary-ninja-headless-mcp — Servidor MCP Headless do Binary Ninja — fornecendo a agentes de IA capacidades profundas de engenharia reversa por meio de 180 ferramentas. | Kitploit
Ferramentas/GitHubGitHub/mrphrazer/binary-ninja-headless-mcp
Engenharia ReversaScripting e AutomaçãoDepuradoresFuzzingUtilitários e FrameworksAnálise de BináriosAprendizado e EducaçãoEngenharia Reversa Assistida por IA

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 →
GitHub
mrphrazer/binary-ninja-headless-mcp

binary-ninja-headless-mcp

Servidor MCP Headless do Binary Ninja — fornecendo a agentes de IA capacidades profundas de engenharia reversa por meio de 180 ferramentas.

Ver Repositório
2351922há 12 diasRevisado pelo Kitploit
Compartilhar

Binary Ninja Headless MCP

Um servidor headless Binary Ninja que fala MCP (Protocolo de Contexto de Modelo), dando a agentes de IA acesso completo a fluxos de trabalho profundos de engenharia reversa — desmontagem, IL, patches, tipos, referências cruzadas e mais — sem uma GUI.

Projetado para rodar no mesmo contêiner Docker que o runtime do agente. Sem sidecars, sem serviços extras.

Este projeto inteiro — código, testes e documentação — é 100% vibe coded.

Porquê

Os servidores MCP existentes do Binary Ninja são vinculados à GUI ou expõem uma superfície de ferramentas limitada. Este servidor é apenas headless e projetado para fluxos de trabalho orientados por agentes em ambientes de VM/contêiner em sandbox: o agente obtém controle total sobre o sistema de análise, automatizando grandes partes da engenharia reversa enquanto você discute interativamente e direciona o processo.

O objetivo é uma interface onde agentes possam inspecionar, refinar e estender uma análise ao longo do tempo — atualizando tipos, símbolos e metadados, melhorando incrementalmente o banco de dados de análise, aplicando patches e iterando com segurança usando desfazer/refazer, e executando scripts personalizados quando um fluxo de trabalho precisar de algo sob medida.

Funcionalidades

  • 181 ferramentas em 36 grupos de funcionalidades: análise, desmontagem, IL, patches, desfazer/refazer, tipos, fluxos de trabalho, memória, busca, referências cruzadas, scripts e mais.
  • Somente leitura por padrão com fluxos de trabalho seguros de mutação (desfazer/refazer, transações).
  • Acesso a scripts via binja.eval e binja.call para qualquer coisa que o catálogo de ferramentas não cubra.
  • Transportes Stdio e TCP.
  • Zero dependências de runtime além do próprio Binary Ninja.
  • Modo falso de backend para CI e desenvolvimento sem licença do Binary Ninja.

Pré-requisitos

  • Python 3.11+
  • Uma instalação do Binary Ninja com uma licença compatível com headless e o módulo Python binaryninja importável no seu runtime (para análise real)
  • Para CI/desenvolvimento sem Binary Ninja, use o modo falso de backend

Instalação

git clone https://github.com/mrphrazer/binary-ninja-headless-mcp.git
cd binary-ninja-headless-mcp
pip install .

Ou instale diretamente da raiz do repositório sem clonar:

pip install git+https://github.com/mrphrazer/binary-ninja-headless-mcp.git

Início Rápido

Transporte Stdio (padrão):

python3 binary_ninja_headless_mcp.py

Transporte TCP:

python3 binary_ninja_headless_mcp.py --transport tcp --host 127.0.0.1 --port 8765

Modo falso de backend (nenhum Binary Ninja necessário):

python3 binary_ninja_headless_mcp.py --fake-backend

Uso com Agentes de IA

Este servidor fala MCP padrão sobre stdio (padrão) ou tcp, então qualquer host de agente compatível com MCP pode usá-lo.

Claude Code

claude mcp add binary_ninja_headless_mcp -- python3 /path/to/binary-ninja-headless-mcp/binary_ninja_headless_mcp.py

Ou adicione ao .mcp.json do seu projeto:

{
  "mcpServers": {
    "binary_ninja_headless_mcp": {
      "command": "python3",
      "args": ["binary_ninja_headless_mcp.py"],
      "cwd": "/path/to/binary-ninja-headless-mcp"
    }
  }
}

Codex

codex mcp add binary_ninja_headless_mcp -- python3 binary_ninja_headless_mcp.py

Host MCP Genérico

  • Registre um servidor chamado binary_ninja_headless_mcp.
  • Use o comando python3 com args ["binary_ninja_headless_mcp.py"] quando o cwd for a raiz do repositório, ou use um caminho absoluto do script em args.
  • Defina cwd para o caminho do repositório se você quiser que caminhos relativos como samples/ls sejam resolvidos corretamente.
  • Use transporte stdio a menos que seu host exija TCP.
  • Para modo falso (sem Binary Ninja instalado), adicione --fake-backend.
  • Verifique a conectividade chamando health.ping, depois session.open.

Padrão de Co-localização Docker

Modelo de implantação recomendado: execute o processo do agente e este servidor MCP na mesma imagem de contêiner.

Exemplo base:

FROM python:3.11-slim
WORKDIR /app
COPY . /app
RUN python -m pip install --upgrade pip && pip install ruff pytest
CMD ["python3", "binary_ninja_headless_mcp.py"]

Se você precisar de análise real do Binary Ninja no contêiner, adicione seu runtime do Binary Ninja + configuração de licença nesta mesma imagem e inicie o agente com este servidor MCP configurado.

Métodos MCP

  • initialize
  • ping
  • tools/list
  • tools/call
  • shutdown

Comportamento de tools/list:

  • Sem parâmetros explícitos de paginação, retorna o catálogo completo de ferramentas.
  • Se offset ou limit for fornecido, usa saída paginada (offset=0, limit=50 padrão no modo paginado).
  • Suporta filtragem via:
    • prefix (por exemplo binary.)
    • query (correspondência de substring contra nome/descrição da ferramenta)
  • Retorna metadados de paginação: offset, limit, total, has_more.
  • Quando uma página é truncada (has_more=true), inclui next_offset e uma dica notice.

Comportamento da resposta de chamada de ferramenta:

  • structuredContent é o payload completo canônico.
  • content[0].text é uma string de resumo compacta (não duplicação completa de JSON).
  • Essa divisão é intencional para manter o uso de contexto menor enquanto ainda expõe dados completos legíveis por máquina.

Qualidade e Testes

Este repositório é bem testado e possui portões de qualidade obrigatórios.

  • Suíte de testes: execute pytest --collect-only -q para a contagem atual de testes coletados.
  • Fluxo de trabalho de CI exige:
    • ruff format --check .
    • ruff check .
    • pytest
  • CI usa BINARY_NINJA_HEADLESS_MCP_FAKE_BACKEND=1 para que as verificações sejam executadas sem exigir instalação do Binary Ninja.
  • Testes estruturais adicionais verificam consistência do registro de ferramentas e alcançabilidade do backend.

Controles de Contexto

  • O modo somente leitura é o padrão para sessões abertas (read_only=true).
  • binary.basic_blocks_at e function.basic_blocks são paginados (offset/limit).
  • memory.read tem um limite de resposta: length <= 65536.

Limitações

  • APIs Empresariais atualmente não são cobertas.
  • APIs do Depurador atualmente não são cobertas.

Modelo de Segurança

  • A comunicação MCP (stdio/tcp) não é autenticada por padrão.
  • O servidor expõe scripts arbitrários via binja.eval e acesso amplo à API via binja.call.
  • Isso é proposital para ambientes de contêiner confiáveis e orientados a agentes.
  • Não exponha este servidor diretamente a usuários ou redes não confiáveis.

Fluxo de Trabalho de Desenvolvimento Local

ruff format --check .
ruff check .
BINARY_NINJA_HEADLESS_MCP_FAKE_BACKEND=1 pytest -q

Fuzzer de Funcionalidades

Use o fuzzer de funcionalidades MCP embutido para exercitar uma ampla superfície de ferramentas contra samples/ls.

Backend real do Binary Ninja:

python3 -m binary_ninja_headless_mcp.fuzzer --binary samples/ls --iterations 120 --seed 1337

Execução de teste com backend falso:

python3 -m binary_ninja_headless_mcp.fuzzer --binary samples/ls --fake-backend --iterations 20

Escreva um relatório JSON de cobertura:

python3 -m binary_ninja_headless_mcp.fuzzer --binary samples/ls --report-json /tmp/mcp-fuzzer-report.json

Flags úteis:

  • --min-success-tools N: sai com código diferente de zero se menos de N ferramentas tiverem sucesso.
  • --verbose: imprime cada chamada de ferramenta durante o fuzzing.
  • --update-analysis: abre a sessão semente com update_analysis=true.

Catálogo de Funcionalidades

O servidor atualmente expõe 181 ferramentas em 36 grupos de funcionalidades.

Baixar ferramenta