欢迎光临
我们一直在努力

代码审计不只靠人工逐行看:用 DeepAudit 跑一遍项目级 AI 安全检查

代码审计不只靠人工逐行看:用 DeepAudit 跑一遍项目级 AI 安全检查

前言

代码审计最容易让人疲惫的地方,不是看懂某一段代码,而是项目一大以后,谁也不敢保证自己把所有调用关系、参数流向和边界条件都盯住了。SQL 注入、XSS、权限绕过这类问题有时藏在很普通的业务逻辑里,靠人工逐文件排查既慢,也很容易被重复劳动拖垮。我愿意让 AI 参与这种工作,但不会把“模型给出高危结论”直接当成漏洞已经坐实;对安全审计来说,发现线索、定位代码、验证风险和给出修复建议,本来就是不同阶段。尤其是涉及权限、数据访问或真正可利用性的判断时,我更希望看到完整证据链,而不是只看一个风险标签。

这次我在 Windows + Docker 环境里部署 DeepAudit v3.0.0,配置通义千问 qwen-max 和 Qwen 嵌入模型,再上传一个旧的 Java SpringBoot 项目跑 Agent 智能审计,实际查看索引、Multi-Agent 协作流程、审计报告、高危问题和即时分析结果。确认本地 http://localhost:3000 可以正常使用以后,再安装 cpolar,把前端页面映射到公网,先测试随机地址,最后切换到固定二级子域名 deepaudit。整篇更关注的是:AI 能不能把审计线索、代码位置、验证过程和报告串起来,而不是把“几秒扫完整项目”当成结论。 对我来说,只有这些环节能互相对得上,AI 审计才真正有参考价值。

1. DeepAudit 在这套流程里负责什么?

DeepAudit Logo

DeepAudit 是一套面向代码安全审计的 AI 工具。当前介绍把它定义为开源代码漏洞挖掘多智能体系统,通过多个 Agent 协作完成项目识别、代码分析、风险定位、验证和报告输出。

当前架构里主要有四个角色:

  • Orchestrator:接收任务、识别项目类型并安排审计流程;
  • Recon Agent:扫描项目结构、框架、库和 API,梳理攻击面;
  • Analysis Agent:结合 RAG、AST 等信息继续分析代码;
  • Verification Agent:生成 PoC,并在 Docker 沙箱中验证发现的问题。

我更愿意把它理解成一个“自动化安全审计工作台”,而不是把它当成能够替代人工安全审查的最终裁判。

真正值得看的,是它能不能把:

项目导入 → 索引 → 分析 → 验证 → 报告

这条链真正跑起来。

2. Windows 上先把 DeepAudit 跑起来

这次直接通过 Docker Compose 部署。

在 Windows 中按 Win + R,输入 cmd,打开命令提示符,然后执行:

curl -fsSL https://raw.githubusercontent.com/lintsinghua/DeepAudit/v3.0.0/docker-compose.prod.yml | docker compose -f – up -d

image-20260103185117425

命令执行完成以后,检查容器:

docker ps

image-20260103185258782

当前流程里可以看到 4 个容器:

  • admin-frontend-1:前端服务,端口 3000;
  • admin-backend-1:后端 API,端口 8000;
  • admin-redis-1:Redis;
  • admin-db-1:PostgreSQL。

然后浏览器访问:

http://localhost:3000

image-20260103190623511

DeepAudit 登录页面能正常显示以后,本地服务这一层才算跑通。

3. 先配置 LLM,再谈 AI 审计

注册账号并登录以后进入主界面。

image-20260103194724583

打开【系统管理 → 系统配置】。

image-20260104132647406

当前演示使用通义千问。

阿里云百炼免费额度页面地址为:

https://bailian.console.aliyun.com/?tab=model#/model-usage/free-quota?modelType=Text

image-20260104133144511

当前操作里,qwen-plus 的额度已经用完,因此改用:

qwen-max

image-20260104133355525

接着进入密钥管理。

image-20260104133646508

创建并复制 API Key。

image-20260104133815659

把 API Key 填入 DeepAudit,点击测试。

image-20260104133927626

出现连接成功以后,再保存所有更改。

这里有一个边界我比较在意:模型能连接成功,只代表 LLM 配置可用,不代表后面的漏洞判断一定正确。 安全审计还是要继续看代码位置、上下文和验证结果。

4. 再配置嵌入模型

切换到嵌入模型页面。

当前操作里:

  • 提供商选择 Qwen;
  • 模型选择预设 v4 版本;
  • API Key 继续使用前面已经创建的密钥。

image-20260104134853587

测试通过以后,保存配置和所有更改。

到这里,DeepAudit 后续做项目索引和语义检索需要的模型层才算准备完整。

5. 项目级审计先从“创建项目”开始

进入【项目管理】。

第一次使用时,页面提示项目尚未初始化,可以点击【新建项目】。

image-20260104141950858

当前支持两种导入方式。

5.1 Git 仓库导入

可以填写:

  • GitHub、GitLab 等仓库类型;
  • Git 仓库 URL;
  • 默认分支,如 main 或 master;
  • 技术栈,例如 JavaScript、TypeScript、Python、Java、Go。

5.2 上传源码

也可以直接上传 ZIP 压缩包。

image-20260104142044140

这次实际使用的是一个几年前写的 Java SpringBoot 项目,通过上传源码创建。

image-20260104142428893

项目创建完成以后,会出现在项目管理列表中。

image-20260104142502604

6. Agent 智能审计和快速扫描不是一回事

进入项目审计页面以后,当前提供两种模式:

Agent 智能审计

  • 由 LLM 驱动;
  • 多 Agent 协同分析;
  • 支持更深的代码关系分析和验证;
  • 更适合需要继续追踪上下文的场景。

快速扫描

  • 偏传统规则引擎;
  • 更适合快速批量检查;
  • 速度更快,但分析深度相对有限。

这次使用 Agent 审计模式。

选择项目后,点击启动 Agent 审计。

image-20260104142733080

随后可以看到项目先做索引和嵌入,再进入编排审计流程。

image-20260104143003939

这一步说明 DeepAudit 并不是简单把所有代码一次性扔给模型,而是先建立项目索引,再让多个 Agent 分工工作。

7. 看 AGENT TREE,比只看“发现几个漏洞”更重要

审计过程中,侧面的 AGENT TREE 会展示 Multi-Agent 协作过程。

当前流程包括:

  • Orchestrator 分析项目并制定策略;
  • Recon Agent 扫描项目结构和攻击面;
  • Analysis Agent 继续深度分析;
  • Verification Agent 做沙箱验证。
  • 同时还能看到:

    • 审计进度;
    • 已分析文件数量;
    • 当前发现的问题数;
    • 不同 Agent 的任务状态。

    image-20260104145037305

    当前示例里还展示了跨方法联合审计:注册方法中调用了相关校验方法,Agent 会继续追到校验逻辑中检查是否存在问题。

    这类跨方法关系,正是 AI 审计比单纯关键词扫描更值得观察的部分。

    8. 报告里真正应该看的,是证据链

    审计结束后,底部会出现成功日志。

    也可以点击右上角:

    EXPORT

    image-20260104145457647

    当前支持导出:

    • Markdown;
    • JSON;
    • HTML。

    image-20260104145555460

    HTML 报告可以直接预览。

    image-20260104150016337

    继续看高危问题。

    image-20260104150834343

    当前报告会给出:

    • 漏洞描述;
    • 关键代码位置;
    • 修复建议。

    我不会因为报告里写了“高危”就直接认定它一定可利用。对真正影响业务的安全问题,仍然应该结合代码上下文、验证记录和实际运行环境继续确认。

    DeepAudit 在这里更像是把“找线索、追代码、整理证据”这部分工作提前做掉。

    9. 不想导入整个项目,也可以做即时分析

    除了项目管理,DeepAudit 还提供即时分析。

    进入【即时分析】以后,可以:

  • 选择编程语言;
  • 直接粘贴代码,或者上传文件;
  • 选择提示词模板;
  • 点击【开始分析】。
  • image-20260104151028103

    当前介绍里,分析结果会包括:

    • 问题列表;
    • 严重程度;
    • 修复建议;
    • 代码片段高亮。

    image-20260104151137458

    即时分析更适合临时检查某段可疑代码、做代码 Review 前预检查,或者学习安全编码规范。

    项目级 Agent 审计和即时分析解决的是不同规模的问题,不必强行只选一种。

    10. 本地审计跑通以后,再考虑远程访问

    前面已经能够通过:

    http://localhost:3000

    打开 DeepAudit。

    如果只在当前电脑上使用,到这里已经够了。

    但如果 DeepAudit 部署在家里的台式机,人在公司想看审计进度,或者希望从另一台设备打开管理页面,就需要再补一层公网入口。

    cpolar 在这里的职责很明确:

    只把 DeepAudit 前端 3000 Web 页面提供到公网。

    它不参与代码索引、LLM 分析、漏洞验证或报告生成。

    image-20250910114418412

    11. Windows 安装 cpolar

    打开 cpolar 下载页面,下载 64-bit 安装包。

    image-20250815171202537

    解压并完成安装以后,在 CMD 里执行:

    cpolar version

    image-20250815171446129

    能够看到版本信息以后,继续注册账号。

    image-20250804085039567

    进入注册页面。

    image-20250804085208319

    注册完成后,在浏览器访问:

    http://127.0.0.1:9200

    image-20250815171734046

    登录 Web UI。

    image-20250815171846757

    12. 把 DeepAudit 的 3000 端口映射到公网

    进入【隧道管理 → 隧道列表】。

    当前页面默认有:

    • remoteDesktop → 3389 / TCP;
    • website → 8080 / HTTP。

    image-20250914174356363

    编辑 website 隧道,把它修改成 DeepAudit 需要的配置。

    image-20260104154717724

    更新以后,在在线隧道列表中可以看到两条 deepaudit 地址:

    • HTTP;
    • HTTPS。

    image-20260104154752606

    使用 HTTPS 做访问测试。

    image-20260104154816219

    DeepAudit 登录页面可以正常打开。

    这一层验证的是:

    DeepAudit 3000 → cpolar → 公网浏览器。

    13. 长期使用再配置固定二级子域名

    随机公网地址适合先验证。

    当前说明里记录,免费随机域名大约每 24 小时会变化一次。

    如果 DeepAudit 会长期远程使用,再切换到固定二级子域名更方便。

    进入预留页面:

    https://dashboard.cpolar.com/reserved

    在【保留二级子域名】中填写地区、名称和可选描述。

    image-20260104160122793

    当前记录为:

    • 地区:China Top
    • 二级域名:deepaudit

    不同账号以自己实际保留结果为准。

    然后回到【隧道管理 → 隧道列表】,找到:

    deepaudit

    image-20260104160210331

    点击编辑,把域名类型改成:

    二级子域名

    再填写前面已经保留好的名称。

    image-20260104160523136

    更新以后,在线隧道列表会显示固定二级子域名形式。

    image-20260104160551889

    继续使用 HTTPS 访问。

    image-20260104161215156

    页面可以正常打开。

    再登录验证。

    image-20260104161246923

    登录成功以后,远程管理入口这一层也跑通了。

    总结

    DeepAudit 真正让我觉得有价值的地方,不是“AI 几秒扫完项目”,而是它尝试把代码审计里最费时间的几件事串起来:

    项目导入 → 索引 → Multi-Agent 分析 → 代码关系追踪 → 沙箱验证 → 报告 → 即时分析。

    这次实际跑通的主线是:

    Windows → Docker Compose → DeepAudit v3.0.0 → localhost:3000 → 通义千问 qwen-max → Qwen 嵌入模型 → Java SpringBoot 项目 → Agent 智能审计 → AGENT TREE → 报告导出 → 高危问题查看 → 即时分析 → cpolar → 3000 → 随机公网 → 固定二级子域名 deepaudit。

    我更愿意把 DeepAudit 当成“提高审计覆盖和整理效率的助手”,而不是把安全判断完全交给 AI。真正重要的漏洞,仍然应该继续做人工复核和环境验证。

    cpolar 同样只负责远程 Web 入口,不改变 DeepAudit 的审计逻辑。把这两个边界分开以后,整套系统反而更容易理解:DeepAudit 负责找问题,cpolar 负责让你在别的设备上打开这个审计工作台。

    赞(0)
    未经允许不得转载:171主机测评 » 代码审计不只靠人工逐行看:用 DeepAudit 跑一遍项目级 AI 安全检查
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址