集成
DecompAI:在 Kali 容器中分析二进制的对话智能体
Gradio 对话应用,其 LangGraph ReAct 智能体分析使用者上传的 x86 Linux ELF 二进制文件:列出并反汇编函数,用 Ghidra 反编译,调用 radare2 和 gdb,并在特权模式的 Kali Linux 运行容器中执行 shell 命令和 Python 脚本。工作区以二进制文件的 SHA-256 为键,再次上传同一文件即可恢复会话。该项目源自一项学校研究计划,其 CTF 成绩为作者自述。
使用条件与局限
- 所审阅的 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 将用途限定于合法的逆向工程、教学和安全研究。所审来源未确立与 REA 的关联。
关于此条目
- 类型
- 集成
- 类别
- 独立智能体工作流
- 关联
- 独立智能体集成
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · louisgthier/decompai · 修订 0c2398c
- LICENSE GitHub · louisgthier/decompai · 修订 0c2398c
- compose.yaml GitHub · louisgthier/decompai · 修订 0c2398c
- Dockerfile.runner GitHub · louisgthier/decompai · 修订 0c2398c
- requirements.txt GitHub · louisgthier/decompai · 修订 0c2398c
- src/main.py GitHub · louisgthier/decompai · 修订 0c2398c
- src/config.py GitHub · louisgthier/decompai · 修订 0c2398c
- src/tools/tools.py GitHub · louisgthier/decompai · 修订 0c2398c
- src/tools/sandboxed_shell/dockerized_bash.py GitHub · louisgthier/decompai · 修订 0c2398c
- tests/test_disassemble.py GitHub · louisgthier/decompai · 修订 0c2398c