Vercel 开源 deepsec:用 AI Coding Agent 做代码安全审计,好用但有门槛
Vercel 开源 deepsec:用 AI Coding Agent 做代码安全审计,好用但有门槛
一个让安全审计重新思考的问题:你的代码库里,有多少代码从来没有被安全审查过?
大多数现有方案只在 PR 阶段运行,换句话说,上线前没合并的代码永远是盲区。而 Vercel Labs 最新开源的 deepsec(7,659 ⭐,460 forks,Apache 2.0 协议)正是为了解决这个问题——用 AI Coding Agent 对整仓库历史代码做全面安全审查。
它在解决什么问题
传统的 AI 代码安全工具通常以 PR 为边界:有人提 PR,Bot 跑一遍,发现问题就评论。但这个模式有个根本性缺陷——大量历史代码从未经过任何形式的安全审查。这些代码可能在 6 个月前、1 年前编写,当时用的模型比现在弱得多,甚至在某些漏洞类型被发现之前就已存在。
deepsec 的思路完全不同:不是等 PR,而是主动扫描整个代码库。它利用现代大模型在安全代码审查上的能力,结合可配置的 thinking level(从快速轻量到深度思考),对仓库中每一行代码进行系统性审查。
核心工作流
从 README 的描述来看,deepsec 提供了一条完整的安全审查管道:
第一步:scan — 快速模式扫描
用正则匹配快速定位候选漏洞点,不需要调用 AI,速度快、成本低。这一步解决”先找到可疑位置”的问题。
第二步:process — AI 深度调查
对 scan 阶段发现的候选点,调用 AI Coding Agent 进行深入分析,发出发现并给出修复建议。这是整个流程的价值核心。
第三步:process --diff — PR 增量审查
如果只想看某次合并请求改了什么,加上 --diff 参数,只扫描变更文件,节省成本。
第四步:validate — 可选:假阳性过滤
对已发现的安全问题进行二次确认,结合 git 历史检查是否已有修复,降低报告噪音。
第五步:report — 输出结果
生成 Markdown 或 JSON 格式报告,按严重程度分类,包含修复建议和受影响文件路径。
技术细节:模型怎么选,成本怎么控
deepsec 默认路由到 Vercel AI Gateway,一个接口访问所有主流模型,不需要逐个配置 key。如果你更倾向用自己的凭证,也可以传入 OpenAI / Anthropic / 自定义 HTTP provider 的 key,全程不需要 Vercel 账号。
一个很实用的设计:中断后可继续。如果 scan 因为 Ctrl+C、网络断开或额度耗尽而中断,直接重跑同一命令,Agent 会从断点继续,跳过已分析过的文件,只处理剩余部分。
对于大型代码库,deepsec 支持通过 deepsec sandbox 命令在 Vercel Sandbox 微虚拟机 上并行执行,适合团队级使用场景。
安全模型:它自己怎么保证安全
README 里有专门一节讲这个问题。由于 deepsec 本质上是一个拥有完整 Shell 访问权限的 Coding Agent,用户自然会担心:prompt 注入、第三方依赖风险怎么办?
官方建议把它当作一个”对你代码库有完全访问权限的编程 Agent”来对待——也就是说,在可信输入上运行。如果开启沙箱模式(deepsec sandbox),API 密钥不会进入沙箱,网络访问也被限制在 Coding Agent 宿主机,Egress 仅在引导阶段开放。
适合谁,不适合谁
适合:
- 有大量历史代码的企业团队,想做一次性的全量安全摸底
- 关注供应链安全,想知道依赖中的已知漏洞(通过
enrich命令加 ownership 数据) - 使用 Vercel 生态,想把安全审查整合进 CI/CD 的团队
- 对 AI Coding Agent 有实际使用经验,能处理复杂输出的开发者
不适合:
- 前端项目为主(目前对 JavaScript/TypeScript 以外的语言覆盖更好)
- 追求”一键跑完完全不管”的体验——初始化需要选择模型、配置 API 凭证,有一定门槛
- 只想找已知的 CVE,不想用 AI 深度分析
怎么跑起来
# 全局安装
npm install -g deepsec
# 初始化(引导式配置模型和凭证)
npx deepsec init
# 快速开始(需要先在项目根目录执行 init)
npx deepsec scan # 快速模式,不花 AI 额度
npx deepsec process # AI 深度审查
npx deepsec export --format md-dir --out ./findings # 导出报告
# 查看扫描花费和时间上限
npx deepsec init --max-cost-usd 100 --max-duration 2h
官方文档在 GitHub 和 deepsec.sh。
一点真实评价
deepsec 的定位很有意思——它不是另一个”GitHub Action 式”的 PR Bot,而是一个面向整仓库的安全扫描平台。Vercel 把它定位为”AI 模型在安全审查上很强,但大多数方案只看 PR,所以历史代码是盲区”这个问题的解法。
从技术上看,它整合了现代 Coding Agent 的能力(任务拆解、上下文理解、修复建议生成),同时通过 scan→process→validate 的分层设计控制了 AI 调用的成本。沙箱模式也体现了对安全性的认真思考。
不过,7,659 颗星和 62 个 open issue 说明这个项目还处于活跃迭代期,文档和错误处理可能还不够完美。如果你想用于生产环境,建议先在一个非关键项目上完整跑一遍,理解它的输出格式和误报率,再决定是否纳入正式流程。
链接汇总:
- GitHub:https://github.com/vercel-labs/deepsec
- 官网:https://deepsec.sh
- 文档:Getting Started
- Vercel AI Gateway:https://vercel.com/docs/ai-gateway
评论区
登录后可评论。