symgraph/GhidrAssist

An LLM extension for Ghidra to enable AI assistance in RE.

解决的问题

逆向工程二进制文件是一个劳动密集型的过程,需要手动追踪复杂的汇编语言和反编译代码。GhidrAssist 通过将大型语言模型 (LLMs) 直接集成到 Ghidra 中,自动化代码解释、漏洞检测和二进制文件的结构分析,从而减少了这项工作量。

运作方式

它作为一个 Ghidra 插件运行,连接到与 OpenAI 兼容的 API(本地或云端)。它采用了几种先进的 AI 技术:

  • Graph-RAG: 它建立了一个存储在 SQLite 中的层次化语义知识图谱 (Statement $\rightarrow$ Block $\rightarrow$ Function $\rightarrow$ Module $\rightarrow$ Binary),允许进行快速、无需 LLM 的搜索和结构探索。
  • ReAct Agentic Mode: 自主代理使用“思考-行动-观察”(Think-Act-Observe) 循环来提出调查步骤、执行工具并综合研究结果。
  • MCP Integration: 它使用 Model Context Protocol 允许 LLMs 调用特定的 Ghidra 工具进行导航和分析。
  • Security Extraction: 它静态扫描网络、文件 I/O 和加密 API,以分配风险等级和函数活动概况。

目标受众

使用 Ghidra 并希望通过 AI 驱动的自动化和语义搜索来加速分析的安全研究人员、恶意软件分析师和逆向工程师。

特色亮点

  • 交互式 AI 协助: 提供反汇编和伪 C 代码的解释,以及多轮对话界面。
  • 自主调查: 代理模式可以独立导航二进制文件、重命名变量并追踪数据流。
  • 语义知识图谱: 使用 Leiden 算法进行社区检测,自动将相关函数分组为逻辑模块。
  • 自定义上下文: 通过基于 Lucene 的搜索支持 RAG,将自定义文档或漏洞利用笔记注入查询中。
  • 推理控制: 允许用户为支持扩展思考的模型调整“努力程度”(Low, Medium, High)。

相关

  • 项目
  • 项目
  • 项目
  • 项目