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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
IDAssist — Plugin de Engenharia Reversa com IA para IDA Pro | Kitploit
Ferramentas/GitHubGitHub/symgraph/idassist
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoEngenharia ReversaDepuradoresColeta de InformaçõesAnálise de BináriosAprendizado de MáquinaAprendizado e EducaçãoEngenharia Reversa Assistida por IA
GitHub
70573181há 1 mêsRevisado pelo Kitploit
symgraph/idassist

IDAssist

Plugin de Engenharia Reversa com IA para IDA Pro

Ver Repositório

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
# IDAssist

*Plugin de Engenharia Reversa com IA para o IDA Pro*

**Autor:** Jason Tang

## Descrição

O IDAssist é um plugin para IDA Pro que integra análise baseada em LLM diretamente na interface do IDA, fornecendo engenharia reversa de binários assistida por IA por meio de provedores LLM configuráveis, gráficos de conhecimento semântico, pesquisa de documentos RAG e suporte a uma grande diversidade de provedores LLM.

Construído com Python e PySide6, o IDAssist é executado como um painel acoplável dentro do IDA Pro 9.0+ e se comunica com provedores LLM (OpenAI, Anthropic, Ollama, LiteLLM e outros) para analisar funções, sugerir renomeações, responder perguntas sobre código e construir um gráfico de conhecimento pesquisável de um binário inteiro.

<!-- CAPTURA DE TELA: Interface principal do IDAssist mostrando a aba Explicar com uma explicação de função e painel de análise de segurança -->
![Screenshot](https://assets.kitploit.com/production/public/readmes/13845/a8d641f250f37a6e8112849f84bbea6d77d333b63ca8f777fbdf93f9f0d137ce.gif)

## Principais Funcionalidades

**Explicação de Funções** — Gere explicações detalhadas em linguagem natural de funções descompiladas com análise automática de segurança, incluindo nível de risco, perfil de atividade, flags de segurança e detecção de API.

**Chat de Consulta Interativo** — Faça perguntas sobre o binário com histórico de chat persistente. Use macros de contexto (`#func`, `#addr`, `#line`, `#range`) para injetar código de função, endereços ou intervalos de desmontagem nas consultas.

**Ações Automatizadas** — Sugestões de renomeação assistidas por IA para funções, variáveis e tipos. Revise as alterações propostas em uma tabela com pontuações de confiança e aplique as ações selecionadas de volta ao IDB.

**Gráfico de Conhecimento Semântico** — Construa e explore um gráfico de conhecimento das funções do binário, relacionamentos de chamada, fluxos de dados e características de segurança. Inclui renderização gráfica visual, pesquisa semântica e detecção de comunidades.

**Pesquisa de Documentos RAG** — Faça upload de documentos de referência (`.txt`, `.md`, `.rst`, `.pdf`) e use-os como contexto durante consultas LLM. Suporta pesquisa híbrida texto+vetor via indexação Whoosh.

**Integração SymGraph** — Envie e receba nomes de funções, nomes de variáveis, tipos e dados de gráfico para a plataforma colaborativa SymGraph. Inclui um assistente de várias etapas com resolução de conflitos para pull.

**Gerenciamento de Configurações** — Configure vários provedores LLM e MCP, gerencie credenciais da API SymGraph, customize o prompt do sistema e defina caminhos de banco de dados.

## Capacidades Avançadas

### Agente ReAct

A aba Consulta suporta um modo de agente autônomo ReAct (Raciocínio + Ação). Quando ativado, o LLM planeja uma estratégia de investigação, executa ferramentas para coletar informações, reflete sobre as descobertas e sintetiza uma resposta abrangente — tudo automaticamente em várias rodadas de raciocínio.

### Pensamento Estendido

Configure níveis de esforço de raciocínio para controlar quanto o LLM "pensa" antes de responder:

| Nível | Orçamento de Pensamento | Melhor para |
|-------|--------------------------|-------------|
| Nenhum | Desativado | Consultas rápidas e simples |
| Baixo | ~2K tokens | Análise direta |
| Médio | ~10K tokens | Complexidade moderada |
| Alto | ~25K tokens | Análise profunda, código complexo |

### Integração MCP

O IDAssist pode se conectar a servidores MCP externos para interações LLM aumentadas por ferramentas, onde o modelo pode inspecionar funções programaticamente, ler desmontagem, consultar referências cruzadas e modificar o IDB durante o raciocínio. São suportados tanto servidores MCP baseados em URL (`SSE` ou `HTTP Streamable`) quanto servidores MCP baseados em stdio iniciados a partir de um comando CLI local. O IDAssist também fornece ferramentas internas integradas para chamada de funções sem exigir um servidor MCP externo.

### Chamada de Funções

Provedores LLM com suporte a chamada de ferramentas podem invocar funções de análise do IDA durante a conversa, permitindo investigação iterativa sem intervenção manual.

### Feedback RLHF

Forneça feedback positivo/negativo sobre explicações e respostas de consultas. O feedback é armazenado localmente e pode ser usado para melhorar a engenharia de prompts e a seleção de modelos.

## Arquitetura

O IDAssist segue um padrão MVC (Model-View-Controller):

- **Views** (`src/views/`) — Widgets de aba PySide6 que emitem sinais na interação do usuário
- **Controllers** (`src/controllers/`) — Conectam sinais da view a chamadas de serviço, gerenciam estado
- **Services** (`src/services/`) — Lógica de negócios, provedores LLM, acesso a banco de dados, análise de gráficos
- **Ferramentas Internas** (`src/services/internal_tools.py`) — Definições de ferramentas específicas do IDA para chamada de funções LLM
- **Ferramentas de Gráfico** (`src/services/graphrag/graphrag_tools.py`) — Ferramentas de leitura/escrita de gráfico semântico para interação LLM

Princípios de design principais:
- Todas as chamadas de API do IDA são executadas na thread principal via `execute_on_main_thread()`
- As respostas do LLM são transmitidas incrementalmente para a interface
- Bancos de dados SQLite locais para persistência (nenhum banco de dados externo necessário)
- Registro de serviços singleton com inicialização thread-safe

## Início Rápido

1. **Instale o plugin** (recomendado — Gerenciador de Plugins do IDA):

   ```
   hcli plugin install idassist
   ```

   Isso instala automaticamente o plugin e suas dependências Python no ambiente do IDA.

2. **Ou instale manualmente** (a partir do tarball de lançamento):

   Baixe o zip da última versão em [GitHub Releases](https://github.com/jtang613/IDAssist/releases) e extraia-o no diretório de plugins do IDA:

   **Linux / macOS:**
   ```bash
   unzip IDAssist-*.zip -d ~/.idapro/plugins/
   ```

   **Windows:**
   Extraia o zip em `%APPDATA%\Hex-Rays\IDA Pro\plugins\`.

   Em seguida, instale as dependências usando **o Python empacotado do IDA** (não o Python do sistema):

   **Linux / macOS:**
   ```bash
   <IDA_INSTALL_DIR>/python3/bin/pip3 install -r ~/.idapro/plugins/IDAssist/requirements.txt
   ```

   **Windows:**
   ```cmd
   "<IDA_INSTALL_DIR>\python3\python.exe" -m pip install -r "%APPDATA%\Hex-Rays\IDA Pro\plugins\IDAssist\requirements.txt"
   ```

   > Substitua `<IDA_INSTALL_DIR>` pelo caminho de instalação do seu IDA Pro (por exemplo, `/opt/idapro-9.0` ou `C:\Program Files\IDA Pro 9.0`).
   >
   > **Dica:** Você também pode definir a variável de ambiente `IDAUSR` para um diretório personalizado contendo um subdiretório `plugins/`.

3. **Abra o IDAssist:** Inicie o IDA Pro, abra um binário e pressione `Ctrl+Shift+A` (ou Edit > Plugins > IDAssist).

4. **Configure um provedor:** Vá para a aba Configurações, clique em **Adicionar** em Provedores LLM e configure seu provedor preferido.

5. **Analise uma função:** Navegue até qualquer função, clique na aba **Explicar** e pressione **Explicar Função**.

Para instruções detalhadas de configuração, veja [Primeiros Passos](https://github.com/symgraph/idassist/blob/master/docs/getting-started.md).

## Configuração do Provedor LLM

O IDAssist suporta os seguintes tipos de provedor:

| Tipo | Método de Autenticação | Notas |
|------|------------------------|-------|
| `anthropic_platform` | API Key | API Anthropic direta |
| `anthropic_oauth` | OAuth (navegador) | Autenticação baseada em navegador |
| `anthropic_claude_cli` | CLI local | Usa o binário `claude` da CLI |
| `bedrock` | Credenciais AWS | API AWS Bedrock Converse direta |
| `openai_platform` | API Key | API OpenAI direta |
| `openai_oauth` | OAuth (navegador) | Autenticação baseada em navegador |
| `ollama` | Nenhum (local) | Modelos auto-hospedados |
| `litellm` | URL de Proxy | Proxy multi-provedor |

### Modelos Recomendados

| Provedor | Modelo | Pontos Fortes |
|----------|--------|---------------|
| Anthropic | `claude-sonnet-4-6` | Análise de código forte, pensamento estendido |
| OpenAI | `gpt-5.3-codex` | Rápido, boa análise geral |
| Ollama | `qwen2.5-coder:32b` | Local, não precisa de chave API |

## Usando o Gráfico Semântico

A aba Gráfico Semântico fornece um gráfico de conhecimento do binário:

1. **ReIndexar Binário** — Extrai estrutura de funções, grafo de chamadas e referências cruzadas
2. **Análise Semântica** — Gera resumos LLM para cada função
3. **Análise de Segurança** — Detecta padrões de vulnerabilidade e APIs relevantes para segurança
4. **Fluxo de Rede** — Rastreia operações de rede através do grafo de chamadas
5. **Detecção de Comunidades** — Agrupa funções relacionadas em módulos

Explore o gráfico via **Visualização em Lista** (chamadores, chamados, arestas, flags), **Gráfico Visual** (diagrama de nós interativo com expansão N-hop) ou **Pesquisa** (7 tipos de consulta, incluindo pesquisa semântica, funções semelhantes e contexto de chamada).

## Ações do Menu de Contexto

Clique com o botão direito em qualquer visualização de Desmontagem ou Pseudocódigo para acessar:

| Ação | Atalho | Efeito |
|------|--------|--------|
| Explicar Função | `Ctrl+Shift+E` | Abre a aba Explicar e gera explicação |
| Perguntar Sobre Seleção | `Ctrl+Shift+Q` | Abre a aba Consulta com contexto `#func` |
| Sugestões de Renomeação | — | Abre a aba Ações e gera sugestões |

## Requisitos

- **IDA Pro 9.0+** com Python 3 e PySide6
- **Decompilador Hex-Rays** (recomendado para recursos de pseudocódigo)
- Pacotes Python listados em `requirements.txt`

## Documentação

- [Índice de Documentação](https://github.com/symgraph/idassist/blob/master/docs/index.md)
- [Primeiros Passos](https://github.com/symgraph/idassist/blob/master/docs/getting-started.md)
- Referências de Abas: [Explicar](https://github.com/symgraph/idassist/blob/master/docs/tabs/explain-tab.md) | [Consulta](https://github.com/symgraph/idassist/blob/master/docs/tabs/query-tab.md) | [Ações](https://github.com/symgraph/idassist/blob/master/docs/tabs/actions-tab.md) | [Gráfico Semântico](https://github.com/symgraph/idassist/blob/master/docs/tabs/semantic-graph-tab.md) | [RAG](https://github.com/symgraph/idassist/blob/master/docs/tabs/rag-tab.md) | [Configurações](https://github.com/symgraph/idassist/blob/master/docs/tabs/settings-tab.md)
- Fluxos de Trabalho: [Explicar](https://github.com/symgraph/idassist/blob/master/docs/workflows/explain-workflow.md) | [Consulta](https://github.com/symgraph/idassist/blob/master/docs/workflows/query-workflow.md) | [Gráfico Semântico](https://github.com/symgraph/idassist/blob/master/docs/workflows/semantic-graph-workflow.md)

## Página Inicial

[https://symgraph.ai](https://symgraph.ai)

## Licença

Consulte o arquivo LICENSE para obter detalhes.
Baixar ferramenta