Repolode
symgraph

symgraph/GhidrAssist

Uma extensão para Ghidra baseada em LLM que adiciona explicação de código, chat e análise agêntica com IA aos fluxos de trabalho de engenharia reversa.

Estrelas
767
Forks
77
Issues abertas
4
Último commit
há 5 dias

O que é?

GhidrAssist é um plugin Java para Ghidra que conecta profissionais de engenharia reversa a modelos de linguagem de grande porte. Ele funciona com qualquer API compatível com OpenAI v1, incluindo servidores locais como Ollama e LM Studio e provedores na nuvem como OpenAI, Anthropic e Azure. Os usuários podem explicar funções em código de disassembly ou pseudo-C decompilado, manter conversas com várias interações e histórico salvo, além de executar consultas personalizadas diretamente com contexto da função.

Além de prompts básicos, o plugin cria um grafo de conhecimento semântico do binário nos níveis de instrução, bloco, função, módulo e binário. Ele armazena resumos gerados por LLM em SQLite, detecta comunidades de funções com o algoritmo Leiden e identifica o uso de APIs de rede, I/O de arquivos e criptografia, atribuindo níveis de risco. O modo de agente ReAct pode planejar etapas de investigação, chamar ferramentas e sintetizar descobertas. O suporte a MCP permite trabalhar com o servidor GhidrAssistMCP e suas ferramentas específicas para Ghidra.

O projeto é voltado a profissionais de engenharia reversa e pesquisadores de segurança que querem contar com a ajuda de LLMs dentro do Ghidra. Requer o Ghidra 11.0 ou posterior.

Recursos principais

  • 01Explica funções em código de disassembly e pseudo-C decompilado.
  • 02Oferece chat com várias interações e histórico persistente.
  • 03Cria um grafo de conhecimento semântico hierárquico com armazenamento em SQLite.
  • 04Identifica o uso de APIs de rede, I/O de arquivos e criptografia, atribuindo níveis de risco.
  • 05Executa um agente ReAct que planeja e realiza etapas de investigação.
  • 06Conecta-se a servidores MCP por SSE para usar ferramentas específicas do Ghidra.

Casos de uso

  • Obter explicações rápidas de funções desconhecidas durante a triagem de binários.
  • Verificar um binário em busca de uso de APIs de rede, arquivos ou criptografia, com rótulos de risco.
  • Executar um LLM local em binários proprietários sem enviar o código a um serviço na nuvem.
  • Fazer perguntas com várias etapas, como rastrear o fluxo de dados entre funções.

Início rápido

  1. 1

    Copie o ZIP da versão binária para o diretório Extensions do Ghidra (se necessário).

  2. 2

    No Ghidra, acesse File > Install Extension e ative o GhidrAssist.

  3. 3

    Abra o CodeBrowser, ative o GhidrAssist e configure o host da API e a chave da API nas configurações.

Antes de usar

  • Requer uma API de LLM compatível com OpenAI v1, que pode exigir uma chave de API paga ou um servidor de modelos local.
  • Requer Ghidra 11.0 ou posterior.
  • O modo Agentic e Actions dependem de modelos com suporte confiável a chamadas de ferramentas.

Tópicos

Perguntas frequentes

O que é GhidrAssist?
Uma extensão para Ghidra baseada em LLM que adiciona explicação de código, chat e análise agêntica com IA aos fluxos de trabalho de engenharia reversa. GhidrAssist é um plugin Java para Ghidra que conecta profissionais de engenharia reversa a modelos de linguagem de grande porte. Ele funciona com qualquer API compatível com OpenAI v1, incluindo servidores locais como Ollama e LM Studio e provedores na nuvem como OpenAI, Anthropic e Azure. Os usuários podem explicar funções em código de disassembly ou pseudo-C decompilado, manter conversas com várias interações e histórico salvo, além de executar consultas personalizadas diretamente com contexto da função.
GhidrAssist é gratuito? Qual é a licença?
GhidrAssist é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
GhidrAssist ainda é mantido?
Manutenção ativa. O último commit de GhidrAssist foi em 16 de out. de 2026.
Para que posso usar GhidrAssist?
Obter explicações rápidas de funções desconhecidas durante a triagem de binários. Verificar um binário em busca de uso de APIs de rede, arquivos ou criptografia, com rótulos de risco. Executar um LLM local em binários proprietários sem enviar o código a um serviço na nuvem. Fazer perguntas com várias etapas, como rastrear o fluxo de dados entre funções.
Como instalar GhidrAssist?
Copie o ZIP da versão binária para o diretório Extensions do Ghidra (se necessário). No Ghidra, acesse File > Install Extension e ative o GhidrAssist. Abra o CodeBrowser, ative o GhidrAssist e configure o host da API e a chave da API nas configurações.
Onde consigo GhidrAssist?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/symgraph/GhidrAssist

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados