集成
Kong:基于 Ghidra 的大模型去符号二进制分析流水线
命令行分析流水线,通过 PyGhidra 在进程内运行 Ghidra,请 Claude、OpenAI 或兼容 OpenAI 接口的模型为去符号二进制文件中的函数、类型和参数命名,并沿调用图自底向上处理,使调用者能看到已命名的被调函数。它先匹配已知库函数与密码算法特征,再把反编译结果疑似混淆的函数交给可调用工具、借助 z3 化简的去混淆环节,将结果应用到 Ghidra 程序中,并导出带注释的 C 代码和 analysis.json 文件。README 称其为首个智能体逆向工程师,这一说法以及其中的准确性和成本数据均为作者陈述。
使用条件与局限
- 所审阅的 main 提交位于 2026-03-18 发布的 v0.2.2 之后 25 个提交,该版本与 PyPI 上的 kong-re 0.2.2 一致;之后的提交加入了尚未发布的 Rust kong-ml crate 和 XDA 模型训练脚本,README 未作介绍。Kong 需要 Python 3.11+ 与 uv、本地安装的 Ghidra 以及 JDK 21+,它会自动检测,也可从 GHIDRA_INSTALL_DIR 和 JAVA_HOME 读取。命令包括 kong setup、analyze、info 和 eval,可使用 Textual 界面或 --headless 输出。
- 分析需要 Anthropic 或 OpenAI API 密钥,或通过 --base-url 指定兼容 OpenAI 接口的端点,并会把每个函数的反编译结果连同其交叉引用、字符串和相邻函数签名发送给该服务;Kong 按模型统计 token 用量和估算费用。待分析的二进制文件由使用者自备,仓库不附带目标二进制文件。
- README 按架构和源语言给出可信度:x86、x86-64、ARM 和 AArch64 上的 C 与 C++ 为高,Go、Rust、MIPS 和 PowerPC 为中或低,且二进制越大可信度越低。混淆是在去混淆环节之前按反编译文本中的模式检测的。BENCHMARKS.md 报告了一次使用 claude-opus-4-6 的运行,对象是来自被植入后门的 XZ Utils 5.6.1、已去符号的 liblzma.so.5.4.1(CVE-2024-3094):15 分钟内花费 6.63 美元分析了排队的 396 个函数中的 355 个,并以模型自报 90–95% 的置信度找出五个核心植入函数。这些均为作者结果,本次未复现。
- kong eval 命令以真实源码为基准为 analysis.json 打分,名称采用基于词的 Jaccard 匹配,类型按签名组成部分评分;仓库未公开评测结果。CI 在拉取请求上以 Python 3.11 至 3.14 运行 pytest 测试套件。本合集仅审阅源码与文档,未运行 Kong、Ghidra 或任何模型。
- LICENSE 与 pyproject.toml 标明采用 Apache-2.0;Ghidra、模型服务及被分析的二进制文件各有其条款。README 称其灵感来自 KeygraphHQ 的 Shannon 网页渗透测试流水线。所审来源未确立与 REA 的关联。
关于此条目
- 类型
- 集成
- 类别
- 独立智能体工作流
- 关联
- 独立智能体集成
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · amruth-sn/kong · 修订 8c4ee4b
- BENCHMARKS.md GitHub · amruth-sn/kong · 修订 8c4ee4b
- pyproject.toml GitHub · amruth-sn/kong · 修订 8c4ee4b
- kong/__main__.py GitHub · amruth-sn/kong · 修订 8c4ee4b
- kong/agent/deobfuscator.py GitHub · amruth-sn/kong · 修订 8c4ee4b
- kong/llm/tools.py GitHub · amruth-sn/kong · 修订 8c4ee4b
- kong/evals/metrics.py GitHub · amruth-sn/kong · 修订 8c4ee4b
- .github/workflows/ci.yml GitHub · amruth-sn/kong · 修订 8c4ee4b
- LICENSE GitHub · amruth-sn/kong · 修订 8c4ee4b
- https://github.com/amruth-sn/kong/releases/tag/v0.2.2
- https://pypi.org/project/kong-re/0.2.2/
- https://github.com/amruth-sn/kong/compare/v0.2.2...8c4ee4bf52e0eb9efc3a0b22ad6da03387543fd2