# DecompAI：在 Kali 容器中分析二进制的对话智能体

> Gradio 对话应用，其 LangGraph ReAct 智能体分析使用者上传的 x86 Linux ELF 二进制文件：列出并反汇编函数，用 Ghidra 反编译，调用 radare2 和 gdb，并在特权模式的 Kali Linux 运行容器中执行 shell 命令和 Python 脚本。工作区以二进制文件的 SHA-256 为键，再次上传同一文件即可恢复会话。该项目源自一项学校研究计划，其 CTF 成绩为作者自述。

- 类型：集成
- 目标：二进制
- 类别：独立智能体工作流
- 关联：独立智能体集成
- 来源复核于：2026-10-19
- 收录于：2026-10-19
- 原始资源：<https://github.com/louisgthier/decompai>
- 一手来源：<https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/decompai/>
- 记录 JSON：<https://awesomerea.org/resources/decompai/record.json>
- 英文版：[English](https://awesomerea.org/resources/decompai/index.md)

## 使用条件与局限

- 所审阅的 main 提交（2025-11-10）将应用容器化。仓库没有打标签的发布版本，README 指向 Docker Hub 上标记为 1.0.0 的应用镜像与运行器镜像。目前只支持 x86 Linux ELF 二进制文件，基于 QEMU 的 ARM、MIPS 与 Windows PE 支持列为未来计划。
- 应用需要 Python 及 requirements.txt 中固定版本的依赖（Gradio 5.25、LangGraph 和 LangChain），以及 Docker。docker compose 会构建或拉取 Kali 运行器镜像，其中包含 kali-linux-headless、Ghidra 11.3.1、OpenJDK 21 和 radare2 插件；应用通过挂载的 /var/run/docker.sock 控制宿主机的 Docker 守护进程。运行器容器以 --privileged 模式在 Docker 默认网络上启动，Gradio 界面默认监听 0.0.0.0:7860；README 要求维护者审查新增的任何依赖。
- 需要在 .env 中填写 OpenAI 或 Gemini API 密钥及 LLM_MODEL 设置。README 建议使用 gemini-2.5-pro 或 gemini-2.5-flash，而代码默认使用 gpt-4o-mini；反汇编、反编译代码和工具输出都会发送给该服务商。二进制文件由使用者自行上传，仓库未提交任何二进制文件，而 tests/test_disassemble.py 需要仓库中并不存在的 binaries/ch2.bin。
- README 称已在 Root-Me CTF 题目上验证，能自动或半自动地稳定解出难度为 3/5 的题目，但未公开运行记录或日志。会话数据默认保存在 /tmp/decompai_analysis_sessions，重启后会丢失。
- LICENSE 为 MIT 文本另加一条款，要求任何使用、修改或分发都须显著标注“Based on DecompAI”署名，因此 GitHub 不将其识别为标准许可证；Ghidra、Kali 软件包和模型服务各有其条款。README 将用途限定于合法的逆向工程、教学和安全研究。

## 一手来源

1. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/README.md>
2. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/LICENSE>
3. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/compose.yaml>
4. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/Dockerfile.runner>
5. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/requirements.txt>
6. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/src/main.py>
7. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/src/config.py>
8. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/src/tools/tools.py>
9. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/src/tools/sandboxed_shell/dockerized_bash.py>
10. <https://github.com/louisgthier/decompai/blob/0c2398c09e318be1bb6f6a52d13e572fac7c519b/tests/test_disassemble.py>

## 同分区更多条目：智能体与 MCP

- [Kong：基于 Ghidra 的大模型去符号二进制分析流水线](https://awesomerea.org/zh/resources/kong-agentic-reverse-engineer/index.md) · 集成
- [Co-op Anything：为单人游戏加入合作模式的智能体手册](https://awesomerea.org/zh/resources/coop-anything/index.md) · 集成
- [DeepExtract：把 PE 文件导出给 AI 智能体的 IDA 插件](https://awesomerea.org/zh/resources/deepextract-ida/index.md) · 集成
- [Mizuchi 匹配反编译流水线](https://awesomerea.org/zh/resources/mizuchi-matching-decompilation-pipeline/index.md) · 集成
- [ReAgent C/C++ 函数重建智能体](https://awesomerea.org/zh/resources/reagent-cpp-reconstruction-agent/index.md) · 集成
- [lisa.py：LLDB 的 MCP 集成与调试辅助命令](https://awesomerea.org/zh/resources/lisa-lldb-mcp/index.md) · 集成

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
