Servidor MCP para engenharia reversa de executáveis Windows e formatos binários. Combina triagem estática, recuperação de funções assistida por Ghidra, ferramentas orientadas a plugins, gerenciamento de artefatos e execução opcional em runtime Windows isolada.
Rikune é um servidor MCP para engenharia reversa de executáveis Windows e formatos binários relacionados. Ele combina ingestão de amostras, triagem estática, recuperação de funções assistida por Ghidra, ferramentas especializadas orientadas por plugins, gerenciamento de artefatos e execução opcional em runtime Windows isolado por trás de uma interface Model Context Protocol.
O fluxo de trabalho atual do servidor voltado para IA é organizado em torno de uma superfície de gateway mínima:
workflow.search para classificar perfis, fluxos de trabalho e capacidades especializadas correspondentes para o tipo de arquivo e objetivo do usuário.workflow.run action=request_upload para upload de arquivos do host, ou deixe workflow.search apontar clientes legados para ferramentas ocultas de compatibilidade de ingestão de amostras.workflow.run action=start com o sample_id retornado.workflow.run action=status e workflow.run action=promote para monitorar e aprofundar a execução em estágios.artifact.read para artefatos completos persistidos quando a saída compacta do fluxo de trabalho não for suficiente.sample.*, workflow.analyze.*, workflow.triage, tools.discover e task.status permanecem registrados para compatibilidade ou inspeção de baixo nível, mas novos clientes devem preferir workflow.search, workflow.run e artifact.read.
Ao conectar através do gateway remoto rikune-agent, os clientes MCP veem nomes de transporte estáveis:
workflow_search, workflow_run, artifact_read, rikune_tool_call e os controles
rikune_connection_*. rikune_connection_refresh atualiza apenas o cache interno de capacidade upstream; não expande a lista de ferramentas MCP. Use rikune_tool_call somente após
workflow_search identificar uma subferramenta interna específica do analisador que não seja coberta pelos gateways primários de fluxo de trabalho ou artefato.
workflow.search usa tipo de amostra, descobertas e metadados de perfil para rotear para capacidades especializadas sem expor todas as ferramentas desde o início.O Docker estático é o padrão mais seguro. Ele não executa amostras.
.\rikune.ps1 install -Profile static -DataRoot "D:\Docker\rikune"
./rikune.sh install --profile static --data-root "$HOME/.rikune"
Equivalente manual:
npm install
npm run build
npm run docker:generate:all
docker compose --env-file .docker-runtime.env -f docker-compose.analyzer.yml up -d --build analyzer
O modo híbrido executa o Analisador no Docker e delega trabalhos Windows ao vivo para um Windows Host Agent. O Host Agent pode iniciar o Windows Sandbox sob demanda ou controlar uma VM Hyper-V configurada.
.\rikune.ps1 install -Profile hybrid -InstallRuntime
Do Linux/macOS com um host Windows remoto:
./rikune.sh install --profile hybrid --windows-host <windows-host> --windows-user <windows-user>
Conectar um cliente MCP não inicia o Windows Sandbox nem executa uma amostra. O trabalho de runtime ao vivo só começa quando uma ferramenta o solicita explicitamente, como runtime.debug.session.start, runtime.debug.command, sandbox.execute ou um estágio de execução dinâmica promovido.
npm install
npm run build
npm test
node dist/index.js
O pacote raiz requer Node.js 22 ou mais recente. Alguns subpacotes de runtime podem ser executados em versões mais antigas do Node, mas o desenvolvimento do repositório e a CLI raiz publicada devem usar Node 22+.
Comece com workflow.search sempre que o fluxo de trabalho, tipo de arquivo ou backend solicitado não estiver claro. Ele classifica perfis correspondentes e retorna dicas compactas de prontidão/roteamento sem ativar ferramentas especializadas ocultas.
Para arquivos do host, chame workflow.run action=request_upload, faça POST dos bytes brutos para a URL de upload retornada e depois leia sample_id da resposta HTTP. sample.request_upload e sample.ingest são auxiliares de compatibilidade, não o caminho normal voltado para IA.
Para implantações de analisador remoto ou rikune-agent, defina API_PUBLIC_BASE_URL, RIKUNE_API_PUBLIC_BASE_URL ou RIKUNE_ANALYZER_PUBLIC_URL para a base da API HTTP acessível ao cliente, por exemplo http://159.195.136.226:18080. As sessões de upload então retornam valores públicos upload_url / status_url em vez de URLs localhost locais ao contêiner. O gateway remoto também normaliza URLs de upload localhost de analisadores mais antigos para seu endpoint configurado.
Se a API HTTP estiver habilitada, POST /api/v1/samples ainda está disponível para integrações não-MCP. A ingestão bem-sucedida retorna um sample_id; a análise deve usar sample_id, não um caminho local, após a importação.
Chame workflow.run action=start com o sample_id. O primeiro estágio realiza um perfil rápido e cria ou reutiliza uma execução de análise. O plan_id retornado mapeia para a execução de análise persistida.
Use workflow.run action=promote para solicitar estágios mais profundos. O pipeline atualmente modela estes estágios:
fast_profileenrich_staticfunction_mapreconstructsemantic_reviewsdynamic_plandynamic_executesummarizeTrabalhos de longa duração são enfileirados através do sistema de jobs. Consulte o estado compacto do estágio com workflow.run action=status.
workflow.run action=status é a visualização principal da execução em estágios. Grandes cargas úteis de estágios históricos podem ser podadas com um aviso no nível superior; use artifact.read para artefatos completos. task.status é uma visualização bruta de fila/processo para compatibilidade e inclui telemetria de memória external_active_* para subprocessos do analisador.
Superfícies úteis de acompanhamento:
workflow.searchworkflow.runanalysis.context.getartifact.read, mais auxiliares de compatibilidade de artefato como artifact.list, artifact.diff e artifact.downloadreport.summarize, report.generate, workflow.summarizeworkflow.semantic_name_reviewworkflow.function_explanation_reviewworkflow.module_reconstruction_reviewtool.help, tool.readiness e tools.discover para inspeção de compatibilidade/depuração