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)。
相关
- 项目
- 项目
- 项目
- 项目