集成

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 的关联。

关于此条目

类型
集成
类别
独立智能体工作流
关联
独立智能体集成
目标
二进制

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · louisgthier/decompai · 修订 0c2398c
  2. LICENSE GitHub · louisgthier/decompai · 修订 0c2398c
  3. compose.yaml GitHub · louisgthier/decompai · 修订 0c2398c
  4. Dockerfile.runner GitHub · louisgthier/decompai · 修订 0c2398c
  5. requirements.txt GitHub · louisgthier/decompai · 修订 0c2398c
  6. src/main.py GitHub · louisgthier/decompai · 修订 0c2398c
  7. src/config.py GitHub · louisgthier/decompai · 修订 0c2398c
  8. src/tools/tools.py GitHub · louisgthier/decompai · 修订 0c2398c
  9. src/tools/sandboxed_shell/dockerized_bash.py GitHub · louisgthier/decompai · 修订 0c2398c
  10. tests/test_disassemble.py GitHub · louisgthier/decompai · 修订 0c2398c