← 开源
symgraph

IDAssist

AI-Powered Reverse Engineering Plugin for IDA Pro

ApplicationsSpecialistsResearch & knowledgePython
在 GitHub 打开
增长势头
+124 小时新增 Star+0.1%
880
Star
95
Fork
+115
本周
6
贡献者
创建于 2026-02-25 · 更新于 2026-10-16 · 今日第 6102 名
主要开发者
jtang613nikolas-sturmsymgraph

symgraph/IDAssist 排名第 6,102,有 880 个星标。

同类别比较

symgraph/IDAssist 排名第 6,102,此处有 8 个同类条目;bpwhelan/GameSentenceMiner 排名第 6,105。

同类别比较
名称排名指标
pocketpaw/pocketpaw6,084
语言:
Python
星标数:
891
分叉数:
328
简介:
Your AI agent in 30 seconds. Not 30 hours. Self-hosted, open-source personal AI with desktop installer, multi-agent Command Center(Deep Work), and 7-layer security. Anthropic, OpenAI, or Ollama.
Alanosy/exam-platform6,093
语言:
Java
星标数:
885
分叉数:
93
简介:
在线考试系统
nftechie/stonkfly6,095
语言:
Python
星标数:
884
分叉数:
163
简介:
A full retained fly-connectome simulation with experimental memory and guarded Coinbase AgentKit trading actions.
chatfire-AI/huobao-canvas6,096
语言:
JavaScript
星标数:
883
分叉数:
237
简介:
火宝无限画布;支持文生图,图生图,图生视频,多模型切换。兼容 openai标准格式
bpwhelan/GameSentenceMiner6,105
语言:
Python
星标数:
879
分叉数:
59
简介:
An immersion toolkit for learning Languages through games and other visual media.
KINGSTON-115/llm-pid-tuner6,106
语言:
Python
星标数:
878
分叉数:
85
简介:
基于 LLM 的极简 PID 自动调参系统 (CLI 版)
e2b-dev/surf6,112
语言:
TypeScript
星标数:
875
分叉数:
144
简介:
Surf is a computer use AI agent powered by OpenAI that interacts with a E2B's virtual desktop environment through natural language instructions
Nexus-JPF/note-companion6,119
语言:
TypeScript
星标数:
870
分叉数:
119
简介:
Note Companion: AI assistant for Obsidian that goes beyond just a chat. (prev File Organizer 2000)
关键参数与规格
关键参数与规格
参数值
语言Python
类别Applications
子类别Specialists,Research & knowledge
关键词Embeddings, Knowledge base, Retrieval, Security
星标数880
分叉数95
贡献者6
创建日期2026-02-25
更新日期2026-10-16
1 天星标数1
7 天星标数115
排名6,102
上次排名6,263
排名变化161
7 天星标排名866
上次 7 天星标排名706
7 天星标排名变化-160
总星标排名12,311
上次总星标排名12,302
总星标排名变化-9
国家Canada
README 摘录

IDAssist *AI-Powered Reverse Engineering Plugin for IDA Pro* **Author:** Jason Tang Description IDAssist is an IDA Pro plugin that integrates LLM-powered analysis directly into IDA's interface, providing AI-assisted binary reverse engineering through configurable LLM providers, semantic knowledge graphs, RAG document search, and supports a wide diversity of LLM providers. Built with Python and PySide6, IDAssist runs as a dockable panel inside IDA Pro 9. 0+ and communicates with LLM providers (OpenAI, Anthropic, Ollama, LiteLLM, and more) to

analyze functions, suggest renames, answer questions about code, and build a searchable knowledge graph of an entire binary. Use context macros ( , , , ) to inject function code, addresses, or disassembly ranges into queries. Review proposed changes in a table with confidence scores, then apply selected actions back to the IDB. Includes visual graph rendering, semantic search, and community detection. Supports hybrid text+vector search via Whoosh indexing. Includes a multi-step wizard with conflict resolution for pulls. Advanced Capabilities ReAct Agent The

Query tab supports an autonomous ReAct (Reasoning + Acting) agent mode. Both URL-based MCP servers ( or ) and stdio-based MCP servers started from a local CLI command are supported. IDAssist also provides built-in internal tools for function calling without requiring an external MCP server. Function Calling LLM providers with tool-calling support can invoke IDA analysis functions mid-conversation, enabling iterative investigation without manual intervention. RLHF Feedback Provide thumbs-up/thumbs-down feedback on explanations and query responses. Feedback

is stored locally and can be used to improve prompt engineering and model selection. **Or install manually** (from release tarball): Download the latest release zip from GitHub Releases and extract it into your IDA plugins directory: **Linux / macOS:** **Windows:** Extract the zip into . Then install dependencies using **IDA's bundled Python** (not your system Python): **Linux / macOS:** **Windows:** Replace with your IDA Pro installation path (e. > **Tip:** You can also set the environment variable to a custom directory containing a subdirectory

. **Open IDAssist:** Launch IDA Pro, open a binary, and press (or Edit > Plugins > IDAssist). **Configure a provider:** Go to the Settings tab, click **Add** under LLM Providers, and configure your preferred provider. **Analyze a function:** Navigate to any function, click the **Explain** tab, and press **Explain Function**. For detailed setup instructions, see Getting Started. Choose an instruction-tuned, coding, or reasoning model supported by your runtime. **Hosted frontier models**: Opus, Sonnet, and GPT are recommended for code analysis and complex

investigations. **Agentic mode and Actions**: Choose a model and serving backend with reliable native tool calling and multi-step reasoning. Extended thinking controls depend on the selected model and provider. These are family names, not literal API identifiers. In Settings, enter the exact model ID or installed tag provided by your endpoint. See the model guidance for selection criteria and official model resources. Using the Semantic Graph The Semantic Graph tab provides a knowledge graph of the binary: 1. 0

+** with Python 3 and PySide6 **Hex-Rays Decompiler** (recommended for pseudocode features) Python packages listed in Documentation Documentation Index Getting

常见问题

记录了多少星标和分叉?

symgraph/IDAssist 有 880 个星标和 95 个分叉。

仓库排名是多少?

symgraph/IDAssist 排名第 6,102。

记录的语言和类别是什么?

symgraph/IDAssist 有 880 个星标,语言为 Python,类别为 Applications。

哪个仓库排名最接近?

symgraph/IDAssist 与 bpwhelan/GameSentenceMiner 比较,后者排名第 6,105,有 879 个星标。

README

IDAssist

AI-Powered Reverse Engineering Plugin for IDA Pro

Author: Jason Tang

Description

IDAssist is an IDA Pro plugin that integrates LLM-powered analysis directly into IDA's interface, providing AI-assisted binary reverse engineering through configurable LLM providers, semantic knowledge graphs, RAG document search, and supports a wide diversity of LLM providers.

Built with Python and PySide6, IDAssist runs as a dockable panel inside IDA Pro 9.0+ and communicates with LLM providers (OpenAI, Anthropic, Ollama, LiteLLM, and more) to analyze functions, suggest renames, answer questions about code, and build a searchable knowledge graph of an entire binary.

Core Features

Function Explanation — Generate detailed natural-language explanations of decompiled functions with automatic security analysis including risk level, activity profile, security flags, and API detection.

Interactive Query Chat — Ask questions about the binary with persistent chat history. Use context macros (#func, #addr, #line, #range) to inject function code, addresses, or disassembly ranges into queries.

Automated Actions — AI-powered rename suggestions for functions, variables, and types. Review proposed changes in a table with confidence scores, then apply selected actions back to the IDB.

Semantic Knowledge Graph — Build and explore a knowledge graph of the binary's functions, call relationships, data flows, and security characteristics. Includes visual graph rendering, semantic search, and community detection.

RAG Document Search — Upload reference documents (.txt, .md, .rst, .pdf) and use them as context during LLM queries. Supports hybrid text+vector search via Whoosh indexing.

SymGraph Integration — Push and pull function names, variable names, types, and graph data to the SymGraph collaborative platform. Includes a multi-step wizard with conflict resolution for pulls.

Settings Management — Configure multiple LLM and MCP providers, manage SymGraph API credentials, customize the system prompt, and set database paths.

Advanced Capabilities

ReAct Agent

The Query tab supports an autonomous ReAct (Reasoning + Acting) agent mode. When enabled, the LLM plans an investigation strategy, executes tools to gather information, reflects on findings, and synthesizes a comprehensive answer — all automatically across multiple reasoning rounds.

Extended Thinking

Configure reasoning effort levels to control how much the LLM "thinks" before responding:

Level Thinking Budget Best For
None Disabled Fast, simple queries
Low ~2K tokens Straightforward analysis
Medium ~10K tokens Moderate complexity
High ~25K tokens Deep analysis, complex code

MCP Integration

IDAssist can connect to external MCP servers for tool-augmented LLM interactions where the model can programmatically inspect functions, read disassembly, query cross-references, and modify the IDB during reasoning. Both URL-based MCP servers (SSE or Streamable HTTP) and stdio-based MCP servers started from a local CLI command are supported. IDAssist also provides built-in internal tools for function calling without requiring an external MCP server.

Function Calling

LLM providers with tool-calling support can invoke IDA analysis functions mid-conversation, enabling iterative investigation without manual intervention.

RLHF Feedback

Provide thumbs-up/thumbs-down feedback on explanations and query responses. Feedback is stored locally and can be used to improve prompt engineering and model selection.

Architecture

IDAssist follows an MVC (Model-View-Controller) pattern:

  • Views (src/views/) — PySide6 tab widgets that emit signals on user interaction
  • Controllers (src/controllers/) — Connect view signals to service calls, manage state
  • Services (src/services/) — Business logic, LLM providers, database access, graph analysis
  • Internal Tools (src/services/internal_tools.py) — IDA-specific tool definitions for LLM function calling
  • Graph Tools (src/services/graphrag/graphrag_tools.py) — Semantic graph read/write tools for LLM interaction

Key design principles:

  • All IDA API calls execute on the main thread via execute_on_main_thread()
  • LLM responses stream incrementally to the UI
  • Local SQLite databases for persistence (no external database required)
  • Singleton service registry with thread-safe initialization

Quick Start

  1. Install the plugin (recommended — IDA Plugin Manager):

    hcli plugin install idassist
    

    This automatically installs the plugin and its Python dependencies into IDA's environment.

  2. Or install manually (from release tarball):

    Download the latest release zip from GitHub Releases and extract it into your IDA plugins directory:

    Linux / macOS:

    unzip IDAssist-*.zip -d ~/.idapro/plugins/
    

    Windows: Extract the zip into %APPDATA%\Hex-Rays\IDA Pro\plugins\.

    Then install dependencies using IDA's bundled Python (not your system Python):

    Linux / macOS:

    /python3/bin/pip3 install -r ~/.idapro/plugins/IDAssist/requirements.txt
    

    Windows:

    "\python3\python.exe" -m pip install -r "%APPDATA%\Hex-Rays\IDA Pro\plugins\IDAssist\requirements.txt"
    

    Replace `` with your IDA Pro installation path (e.g., /opt/idapro-9.0 or C:\Program Files\IDA Pro 9.0).

    Tip: You can also set the IDAUSR environment variable to a custom directory containing a plugins/ subdirectory.

  3. Open IDAssist: Launch IDA Pro, open a binary, and press Ctrl+Shift+A (or Edit > Plugins > IDAssist).

  4. Configure a provider: Go to the Settings tab, click Add under LLM Providers, and configure your preferred provider.

  5. Analyze a function: Navigate to any function, click the Explain tab, and press Explain Function.

For detailed setup instructions, see Getting Started.

LLM Provider Setup

IDAssist supports the following provider types:

Type Auth Method Notes
anthropic_platform API Key Anthropic API direct
anthropic_oauth OAuth (browser) Browser-based authentication
anthropic_claude_cli Local CLI Uses the claude CLI binary
bedrock AWS Credentials Direct AWS Bedrock Converse API
openai_platform API Key OpenAI API direct
openai_oauth OAuth (browser) Browser-based authentication
ollama None (local) Self-hosted models
litellm Proxy URL Multi-provider proxy

Recommended Models

  • Open-weight models: GLM, Qwen, DeepSeek, Nemotron, Gemma, and Muse are recommended families for local or self-hosted analysis. Choose an instruction-tuned, coding, or reasoning model supported by your runtime.
  • Hosted frontier models: Opus, Sonnet, and GPT are recommended for code analysis and complex investigations.
  • Agentic mode and Actions: Choose a model and serving backend with reliable native tool calling and multi-step reasoning. Extended thinking controls depend on the selected model and provider.

These are family names, not literal API identifiers. In Settings, enter the exact model ID or installed tag provided by your endpoint. See the model guidance for selection criteria and official model resources.

Using the Semantic Graph

The Semantic Graph tab provides a knowledge graph of the binary:

  1. ReIndex Binary — Extracts function structure, call graph, and cross-references
  2. Semantic Analysis — Generates LLM summaries for each function
  3. Security Analysis — Detects vulnerability patterns and security-relevant APIs
  4. Network Flow — Tracks network operations across the call graph
  5. Community Detection — Groups related functions into modules

Explore the graph via the List View (callers, callees, edges, flags), Visual Graph (interactive node diagram with N-hop expansion), or Search (7 query types including semantic search, similar functions, and call context).

Context Menu Actions

Right-click in any Disassembly or Pseudocode view to access:

Action Hotkey Effect
Explain Function Ctrl+Shift+E Opens Explain tab and generates explanation
Ask About Selection Ctrl+Shift+Q Opens Query tab with #func context
Rename Suggestions — Opens Actions tab and generates suggestions

Requirements

  • IDA Pro 9.0+ with Python 3 and PySide6
  • Hex-Rays Decompiler (recommended for pseudocode features)
  • Python packages listed in requirements.txt

Documentation

Homepage

https://symgraph.ai

License

See LICENSE file for details.

排名相邻
同类项目