写在前面
做安全的朋友大概都有这种体感:传统的代码审计工具,跑一遍能给你吐出几百条告警,但真正有价值的没几条——误报多到让人麻木,最后大家干脆不看了。
直到我上手了 DeepAudit,这个认知被彻底刷新了。
它不是又一个静态扫描器。它的思路是让一支"AI 黑客战队"去审你的代码——侦察、分析、写 PoC、进沙箱实跑验证,整套流程模拟真实安全专家的工作方式。最关键的是,它会真的把漏洞打一遍给你看,而不是只甩给你一句"这里可能有问题"。
更有说服力的是战绩:它已经在 17 个知名开源项目里挖出了 49 个 CVE 编号和 6 个 GHSA 安全公告,其中不乏 CVSS 9.8 的高危。这不是 PPT 能力,是实战验证过的。
这篇我把它的架构、工作流和上手方式完整拆给你。
⚠️ 先说重点:DeepAudit 仅供安全研究、教学与对你自己有授权的项目做审计使用。拿它去扫别人的系统是违法的,这条红线千万别碰。
一、它到底强在哪:传统 SAST 的三道坎,它全跨过去了
要理解 DeepAudit 的价值,得先看清传统静态扫描工具(SAST)卡在哪:
| 传统 SAST 的痛点 | 具体表现 | DeepAudit 的解法 |
|---|---|---|
| 误报率高 | 缺乏语义理解,海量告警靠人去筛 | RAG 知识库 + 语义理解,先读懂再判断 |
| 业务逻辑盲点 | 看不懂跨文件调用、复杂调用链 | Multi-Agent 协作,深度追踪攻击面 |
| 不知真假 | 报了漏洞,但能不能利用?不知道 | Docker 沙箱实跑 PoC,真打一遍 |
最戳我的是第三点。传统工具报完就完事了,DeepAudit 会真的写一个攻击脚本去打,打通了才算数,打不通就当误报剔除。这一下就把"可能有漏洞"变成了"确认可利用",价值天差地别。
它的一句话理念我也很喜欢:像黑客一样攻击,像专家一样防御。
二、核心架构:一支四人 AI 战队是怎么分工的
DeepAudit 最核心的设计,是把"审代码"这件事拆给了四个各司其职的 Agent。它们不是简单串联,而是像真实的安全团队一样自主协作。
| Agent 角色 | 江湖定位 | 干的活 |
|---|---|---|
| Orchestrator | 总指挥 | 接任务、判断项目类型、制定审计计划、派活、最后汇总报告 |
| Recon | 侦察兵 | 扫项目结构,识别框架/库/API,把"攻击面"(入口点)摸清楚 |
| Analysis | 分析师 | 结合 RAG 知识库 + AST 分析,深挖代码里的潜在漏洞 |
| Verification | 验证官 | 写 PoC、进 Docker 沙箱实跑,跑不通就自我修正重试 |
这个分工的妙处在于:每个 Agent 只专注一件事,专注才能做深。 Recon 不用操心怎么写 PoC,Analysis 不用管报告怎么排版,职责边界清清楚楚——这恰恰是单个"全能 Agent"做不到的。
三、完整工作流:从一行命令到一份"打通了的"漏洞报告
把这四个 Agent 串起来,就是一条完整的审计流水线:
我特意把第 ④ 步标了星——这是 DeepAudit 和所有传统工具的分水岭。它不满足于"我觉得这里有漏洞",而是真的去 Docker 沙箱里把这个漏洞打一遍。打通了,确认可利用;打不通,当误报剔掉。最终报告里留下的,都是验证过的真家伙。
这就是为什么它的报告误报率极低——因为每一条都经过了实战检验。
四、技术栈与能力盘点
4.1 它能审什么
支持从 GitHub / GitLab / Gitea 直接导入,也能上传 ZIP,覆盖 10+ 种语言。
漏洞类型覆盖了 12 类,基本把 Web 安全的高频项都包了:
| SQL 注入 | XSS 跨站脚本 | 命令注入 | 路径遍历 |
| SSRF 请求伪造 | XXE 实体注入 | 不安全反序列化 | 硬编码密钥 |
| 弱加密算法 | 认证绕过 | 授权绕过 | IDOR 越权 |
4.2 技术底子
后端是 Python 3.11+ / FastAPI,串起了 LangChain + LangGraph(Agent 编排)、ChromaDB(RAG 向量库)、LiteLLM(多模型适配)、Tree-sitter(AST 解析)这一套现代 Agent 工程栈;前端是 React 18 + TypeScript + shadcn/ui。
4.3 模型选择很自由
这点对国内用户特别友好——它几乎把主流模型都接上了:
- 国际:GPT-4o、Claude 3.5 Sonnet/Opus、Gemini Pro、DeepSeek V3
- 国内:通义千问、智谱 GLM-4、Kimi、文心一言、MiniMax、豆包
- 本地私有化:通过 Ollama 跑 Qwen2.5、CodeLlama、DeepSeek-Coder、Codestral 等
强烈建议审敏感代码时用本地模型。因为审计过程中代码会发给所选的 LLM 服务商,用 Ollama 本地部署能做到"代码不出内网",合规又安心。
五、实战战绩:49 个 CVE 不是吹的
空谈架构没意思,看硬货。DeepAudit 已在 17 个知名开源项目里挖出 49 个 CVE 和 6 个 GHSA。挑几个 CVSS 9.0+ 的高危感受一下:
| CVE 编号 | 项目 | 漏洞类型 | CVSS |
|---|---|---|---|
| CVE-2025-64428 | Dataease | JNDI 注入 | 9.8 |
| CVE-2025-64163 | Dataease | SSRF | 9.8 |
| CVE-2025-10771 | JimuReport | 反序列化 | 9.8 |
| CVE-2025-10769 | H2o-3 | 反序列化 | 9.8 |
| CVE-2025-8974 | Litemall | 硬编码凭证 | 9.8 |
| CVE-2025-13787 | Zentao PMS(禅道) | 权限提升 | 9.1 |
涉及的项目里不乏禅道、Dataease、PowerJob、xxl-job 这些大家眼熟的名字。能在这些被无数人审过的成熟项目里挖出 9.8 高危,这个实战能力是实打实的。
六、上手:一行命令就能跑起来
DeepAudit 的部署体验做得很克制,新手也能五分钟跑通。
方式一:一行命令(推荐)
不用克隆代码,直接拉预构建镜像:
国内网络慢的话,用南京大学的镜像加速版:
启动后浏览器打开 http://localhost:3000 就能用。LLM 的 API Key 直接在网页里配,不用重启服务——这个细节很贴心。
方式二:克隆部署(想二次开发选这个)
提示:上面这行
curl | docker compose的命令会从网络拉取并直接执行编排文件,跑之前建议先把 yml 内容看一眼,确认来源无误再执行——这是个好习惯,对任何"管道直执行"的命令都适用。
七、几句实在的总结
用下来,我觉得 DeepAudit 最大的意义,是把"代码审计"从一件需要资深专家 + 大量人力的事,变成了一支 AI 战队自动跑通的事。
它真正解决问题的三个点,我再强调一遍:
- Multi-Agent 分工——侦察、分析、验证各管一段,专注才够深;
- 沙箱 PoC 实跑——不报"可能有",只报"确认能打通",误报率打下来了;
- 本地模型支持——Ollama 私有化让敏感代码不出内网,合规无忧。
它的路线图也值得期待:自动修复(Agent 直接提 PR)、增量 PR 审计接入 CI/CD——一旦落地,安全审计就能真正嵌进日常开发流,而不是上线前临时抱佛脚。
最后再把那条红线重复一次,因为它真的重要:
DeepAudit 只能用于安全研究、教学,以及对你拥有合法授权的项目做审计。 拿它去扫别人的系统属于违法行为,后果自负。技术是把好刀,但刀要用在对的地方。
如果你也在做安全、或者想给自己的项目体检一遍,这个开源神器值得装一个试试。
项目地址:github.com/lintsinghua/DeepAudit(AGPL-3.0)。本文数据来自项目公开信息,CVE 战绩可在 GitHub 仓库核验。




