
前言说起来不怕你们笑话前段时间接了个小项目上线前代码审计那几天我基本天天熬到凌晨两点才敢合眼。不是我不想睡是真睡不着——脑子里反复过那些没检查到的角落SQL注入、XSS、权限绕过……每个词都像悬在头顶的刀掉下来就是线上事故。明明已经对着同一份代码看了三四遍眼睛酸得睁不开心里却还是没底。这种感觉但凡做过开发的应该都懂代码审计这件事体力活儿占一半心理负担占另一半。问题出在哪手工审计效率太低了。一个稍微有点体量的项目代码行数轻松破万你根本不可能逐行认真看完大多数时候是在靠经验扫一眼可疑的地方然后赌运气不出事。我当时手上有两个项目要并行一个项目上线deadline卡得紧根本没时间反复过文档。后来想想这样下去不是办法得找个工具来扛一扛。然后就找到了*DeepAudit*。说实话第一眼看到AI代码审计这几个字的时候我是有疑虑的——市面上的静态扫描工具多了去了动辄几十兆的规则库跑一次要半天结果出来一堆误报看完比不看还累。DeepAudit 吸引我的点是它不走传统规则引擎那套它是一个*Multi-Agent 协作系统*四个智能体各司其职总指挥做计划侦察兵扫攻击面分析师深度审查代码验证者直接跑 PoC 脚本确认漏洞能不能利用。简单来说它不是简单地匹配规则是真的在理解你的代码逻辑。用下来最直接的感受之前手工审计两个项目熬了一周多还焦虑得睡不着用 DeepAudit 跑了一遍Agent审计模式大概半小时左右出了完整的漏洞报告误报率很低修复建议直接给出了代码位置和参考方案省了我大量沟通和确认的时间。最实用的是它能导出 HTML 格式的报告直接丢给甲方专业的很。1 DeepAudit是什么DeepAudit是国内首个开源的代码漏洞挖掘多智能体系统它基于 Multi-Agent 协作架构通过四个智能体的自主协作实现对代码的深度理解、漏洞挖掘和自动化沙箱 PoC 验证。用户只需导入项目DeepAudit 便全自动开始工作识别技术栈 → 分析潜在风险 → 生成脚本 → 沙箱验证 → 生成报告最终输出一份专业审计报告。Orchestrator总指挥接收审计任务分析项目类型制定审计计划协调其他 Agent 工作Recon Agent侦察兵扫描项目结构识别框架、库和 API提取攻击面Analysis Agent分析师结合 RAG 知识库与 AST 分析深度审查代码发现潜在漏洞Verification Agent验证者编写 PoC 脚本在 Docker 沙箱中执行验证漏洞是否真实可利用简单来说DeepAudit 就像是一个 24 小时待命的安全专家团队帮你把代码审计这件苦差事变得高效、精准、自动化。2 Docker一键部署DeepAudit本教程以 Windows 系统为例演示如何在 Docker 环境中部署 DeepAudit。如果还没有安装Docker的小伙伴可以去cpolar官网查看**《Docker安装——Linux、Windows、MacOS》**这篇文章进行安装一下哦。首先电脑按住Win R键打开运行窗口输入cmd并回车打开命令提示符。然后在命令提示符中输入以下命令一键部署 DeepAuditcurl-fsSLhttps://raw.githubusercontent.com/lintsinghua/DeepAudit/v3.0.0/docker-compose.prod.yml|dockercompose-f- up-d接着输入如下命令查看 DeepAudit 容器是否启动成功dockerps如果看到类似上面的输出说明 DeepAudit 已经成功启动了这里包含了 4 个容器admin-frontend-1前端服务运行在3000端口admin-backend-1后端 API 服务运行在8000端口admin-redis-1Redis 数据库用于缓存和队列admin-db-1PostgreSQL 数据库用于存储审计数据现在打开浏览器访问如下地址http://localhost:3000可以看到DeepAudit 的登录页面已经成功显示出来了3 配置DeepAudit3.1 LLM模型配置注册一个账号并且登录DeepAudit即可进入主界面。接着来到系统管理在系统配置项可以看到如下页面接着选择LLM提供商这里以通义千问为例因为阿里云百炼如果您是新用户享有每个模型百万Tokens,可以在如下页面查看免费额度剩余量和模型Code等记得开启免费额度用完即停即可页面地址https://bailian.console.aliyun.com/?tabmodel#/model-usage/free-quota?modelTypeText由于我这里的qwen-plus模型额度用完了演示将使用qwen-max来进行演示在选择LLM提供商中选择通义千问然后模型名称填写qwen-max模型接着获取阿里云百炼的API Key点击页面左下角的密钥管理菜单进入到密钥管理后点击创建按钮进行创建即可创建后即可复制API key密钥将复制的密钥填写到API key中点击测试按钮出现连接成功即代表配置成功连接成功后点击底部的保存所有更改按钮即可3.2 嵌入模型配置前面已经配置好了LLM模型接着切换到嵌入模型页面然后在模型提供商选择Qwen模型选择预设v4版本的模型即可填写前面复制下来的API key密钥点击测试接着点击底部的保存配置和保存所有更改按钮即可这样就配置完成啦4 使用DeepAudit进行AI代码审查配置好 LLM 模型后我们就可以开始使用 DeepAudit 进行代码审查了。DeepAudit 提供了两种主要的使用方式项目管理和即时分析。4.1 创建项目首先在左侧导航栏点击项目管理进入项目列表页面。如果是第一次使用页面会提示未初始化项目点击新建项目按钮。在弹出的对话框中你可以选择两种导入方式方式一Git 仓库导入仓库类型支持 GitHub、GitLab、等仓库地址填写你的 Git 仓库 URL默认分支通常为main或master技术栈选择项目使用的编程语言JavaScript、TypeScript、Python、Java、Go 等方式二上传源码直接上传 ZIP 压缩包适合本地项目或私有仓库填写完项目信息后点击执行创建DeepAudit 会自动拉取代码并初始化项目。这里以上传源码为例用一个几年前写的一个Java的SpringBoot项目为例填写完成相关信息上传源码进行执行创建创建完成后即可在项目管理页面查看创建好的项目4.2 Agent 智能审计项目创建完成后点击项目下方的审计按钮进入审计任务页面。这里有两种审计模式Agent 智能审计LLM 驱动的多 Agent 协同深度审计支持智能漏洞挖掘与验证适合需要深度分析的场景快速扫描传统规则引擎驱动的快速代码扫描适合大规模批量检测速度更快但深度略浅这里以Agent 审计 模式举例选中要审计的项目然后选择审计模式点击下方的启动Agent 审计按钮启动后即可看到项目正在进行索引和嵌入然后进行编排审计流程在侧面的AGENT TREE中可以看到 Multi-Agent 协作流程Orchestrator分析项目制定审计策略Recon Agent扫描项目结构识别技术栈和攻击面Analysis Agent深度分析代码发现潜在漏洞Verification Agent在沙箱中验证漏洞真实性在审计过程中你可以实时查看审计进度、已分析的文件数、发现的问题数量等信息。可以看到AGENT审计 模式会进行跨方法联合审计。如上图就是在注册方法中有调用相关校验方法AGENT审计会根据逻辑关系去查看校验方法是否存在问题。4.3 查看审计报告审计完成后底部会有输出成功的日志提示也可以点击右上角EXPORT按钮进行导出报告点击EXPORT按钮后可以将审计报告导出为 Markdown 或 JSON 以及HTML格式方便分享和存档:如下为导出为HTML格式的报告预览查看一下提到的高危漏洞等相关问题可以看到给出了漏洞描述还有关键的代码位置以及修复的建议还是很不错的4.4 即时分析除了项目管理DeepAudit 还提供了即时分析功能适合快速检查代码片段。点击左侧导航栏的即时分析进入即时分析页面选择编程语言从下拉菜单选择代码的语言JavaScript、Python、Java 等输入代码直接粘贴代码或点击上传文件按钮选择提示词模板可以使用默认的默认代码审计模板开始分析点击开始分析按钮几秒钟后DeepAudit 就会返回分析结果包括发现的问题列表每个问题的严重程度详细的修复建议代码片段高亮显示即时分析非常适合快速检查可疑代码片段学习安全编码规范代码审查前的预检查通过以上步骤你已经掌握了 DeepAudit 的基本使用方法。无论是完整项目的深度审计还是代码片段的快速检查DeepAudit 都能帮你高效地发现安全问题让代码审计变得简单、快速、精准5 下载安装cpolar通过前面的步骤你已经成功在本地部署了 DeepAudit并且能够通过http://localhost:3000访问它的界面。但问题来了你在家里的台式机上部署了 DeepAudit在公司想访问怎么办或者你在公司电脑上启动了审计回家想查看进度怎么办本地部署的 DeepAudit 就像一个孤岛只有部署它的那台电脑能访问其他设备想用都进不来。远程办公受限、多设备无法访问……这些问题让 DeepAudit 的价值大打折扣。这时候cpolar 内网穿透就派上用场了它是一款轻量级隧道转发工具能够将本地运行的服务安全地暴露至公网实现无需公网 IP、无需复杂路由配置就能随时随地访问你的 DeepAudit。接下来我将带你一步步安装并配置 cpolar让 DeepAudit 真正实现随时随地想审就审5.1 什么是cpolar?cpolar 是一款内网穿透工具可以将你在局域网内运行的服务如本地 Web 服务器、SSH、远程桌面等通过一条安全加密的中间隧道映射至公网让外部设备无需配置路由器即可访问。广泛支持Windows、macOS、Linux、树莓派、群晖 NAS等平台并提供一键安装脚本方便部署。5.2 下载cpolar打开cpolar官网的下载页面点击立即下载 64-bit按钮,下载cpoalr的安装包:下来下来是一个压缩包,解压后执行目录种的应用程序,一路默认安装即可,安装完成后,打开cmd窗口输入如下命令确认安装:cpolar version出现如上版本即代表安装成功!5.3 注册及登录cpolar web ui管理界面访问cpolar官网点击免费注册按钮进行账号注册进入到如下的注册页面进行账号注册注册完成后,在浏览器中输入如下地址访问 web ui管理界面:http://127.0.0.1:9200输入刚才注册好的cpolar账号登录即可进入后台页面:6 穿透DeepAudit实现公网访问点击左侧菜单栏的隧道管理展开进入隧道列表页面页面下默认会有 2 个隧道remoteDesktop隧道指向3389端口tcp协议website隧道指向8080端口http协议http协议默认会生成2个公网地址一个是http另一个https免去配置ssl证书的繁琐步骤点击编辑website的隧道修改成我们DeepAudit需要的信息接着点击左侧菜单的状态菜单接着点击在线隧道列表菜单按钮可以看到有2个deepaudit的隧道一个为http协议,另一个为https协议:注意每个用户创建的隧道显示的公网地址都不一样接下来在浏览器中访问deepaudit隧道生成的公网地址http和https皆可这里以https为例可以看到成功访问到DeepAudit的登录界面啦7 固定二级子域名通过前面的配置我们已经成功实现了DeepAudit的远程访问但免费随机域名方案的局限性也逐渐显现每24小时左右自动更换域名地址意味着你需要频繁更新书签、重新分享链接甚至可能因为忘记更新而无法访问。固定域名方案正是为了解决这些痛点而生能够让你拥有一个永久不变的专属地址。好啦接下来开始固定保留二级子域名教程首先进入官网的预留页面:https://dashboard.cpolar.com/reserved选择预留菜单即可看到保留二级子域名项填写其中的地区、名称、描述可不填项然后点击保留按钮操作步骤图如下可以看到列表中显示了一条已保留的二级子域名记录地区显示为China Top。二级域名显示为deepaudit。注二级域名是唯一的每个账号都不相同请以自己设置的二级域名保留的为主接着进入侧边菜单栏的隧道管理下的隧道列表可以看到名为deepaudit的隧道点击编辑按钮进入编辑页面修改域名类型为二级子域名然后填写前面配置好的子域名点击更新按钮接着来到状态菜单下的在线隧道列表可以看到隧道名称为deepaudit的公网地址已经变更为二级子域名固定域名主体及后缀的形式了这里以https协议做访问测试:访问成功让我们再进行登录测试一下成功登录啦现在无论你在哪里只要能上网就能随时访问你的 DeepAudit 了总结回过头来看代码审计这件事手工有手工的温度工具也有工具的效率。DeepAudit 并不是要取代你而是把你从重复性劳动里捞出来让你把精力放在真正需要判断力的地方。说白了熬夜看代码看到吐这件事其实是可以避免的关键看你愿不愿意把活儿交给更擅长干这事的东西去干。