Repolode
symgraph

symgraph/GhidrAssist

为 Ghidra 提供 LLM 辅助的逆向分析扩展,支持代码解释、对话与智能体式调查。

Star
767
Fork
77
未关闭 Issue
4
最近提交
5天前

这是什么?

GhidrAssist 是一个为 Ghidra 编写的 Java 插件,用于将大语言模型接入逆向工程流程。它兼容任何 OpenAI v1 接口的服务,既可对接 Ollama、LM Studio 等本地部署,也可使用 OpenAI、Anthropic、Azure 等云端模型。用户可以用汇编或反编译伪 C 代码解释函数,进行带历史记录的多轮对话,并结合当前函数上下文发起自定义查询。

插件还会为二进制文件构建语义知识图谱,覆盖语句、基本块、函数、模块和整个二进制五个层级。LLM 生成的摘要保存在 SQLite 中,并通过 Leiden 算法发现函数社区。它同时提取网络、文件 I/O 和加密相关 API 的使用情况,并给出风险等级。ReAct 智能体模式可以规划调查步骤、调用工具并汇总结论,MCP 支持则可配合 GhidrAssistMCP 调用 Ghidra 专用工具。

该项目面向希望在 Ghidra 中使用 LLM 辅助分析的逆向工程师和安全研究人员,要求 Ghidra 11.0 或更高版本。

核心功能

  • 01对反汇编和反编译伪 C 代码的函数进行解释。
  • 02支持带持久化历史记录的多轮对话。
  • 03构建分层语义知识图谱,并使用 SQLite 存储。
  • 04提取网络、文件 I/O 和加密 API 的使用情况并标注风险等级。
  • 05运行 ReAct 智能体,自动规划并执行分析步骤。
  • 06通过 SSE 连接 MCP 服务器,调用 Ghidra 专用工具。

适用场景

  • 在二进制样本初步分析时快速理解陌生函数。
  • 扫描二进制文件中的网络、文件和加密 API 调用并查看风险标签。
  • 使用本地 LLM 分析私有二进制文件,避免代码上传到云端。
  • 提出需要多步推理的问题,例如跟踪跨函数的数据流。

快速上手

  1. 1

    如有需要,将二进制发布 ZIP 压缩包复制到 Ghidra 扩展目录

  2. 2

    在 Ghidra 中依次进入 File > Install Extension 并启用 GhidrAssist

  3. 3

    打开 CodeBrowser,启用 GhidrAssist,然后在设置中填写 API 地址和 API 密钥

使用前须知

  • 需要兼容 OpenAI v1 的大模型 API,可能需要付费 API 密钥或本地模型服务。
  • 需要 Ghidra 11.0 或更高版本。
  • 智能体模式和 Actions 功能依赖支持可靠工具调用的模型。

标签

常见问题

GhidrAssist 是什么?
为 Ghidra 提供 LLM 辅助的逆向分析扩展,支持代码解释、对话与智能体式调查。 GhidrAssist 是一个为 Ghidra 编写的 Java 插件,用于将大语言模型接入逆向工程流程。它兼容任何 OpenAI v1 接口的服务,既可对接 Ollama、LM Studio 等本地部署,也可使用 OpenAI、Anthropic、Azure 等云端模型。用户可以用汇编或反编译伪 C 代码解释函数,进行带历史记录的多轮对话,并结合当前函数上下文发起自定义查询。
GhidrAssist 可以免费使用吗?用的什么许可证?
GhidrAssist 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
GhidrAssist 还在维护吗?
活跃维护中。GhidrAssist 最近一次提交是在 2026年10月16日。
GhidrAssist 适合用来做什么?
在二进制样本初步分析时快速理解陌生函数。 扫描二进制文件中的网络、文件和加密 API 调用并查看风险标签。 使用本地 LLM 分析私有二进制文件,避免代码上传到云端。 提出需要多步推理的问题,例如跟踪跨函数的数据流。
GhidrAssist 怎么安装和运行?
如有需要,将二进制发布 ZIP 压缩包复制到 Ghidra 扩展目录 在 Ghidra 中依次进入 File > Install Extension 并启用 GhidrAssist 打开 CodeBrowser,启用 GhidrAssist,然后在设置中填写 API 地址和 API 密钥
在哪里获取 GhidrAssist?
源代码和安装说明在 GitHub 上:https://github.com/symgraph/GhidrAssist

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目