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

官方文档在 GitHubdeepsec.sh

一点真实评价

deepsec 的定位很有意思——它不是另一个”GitHub Action 式”的 PR Bot,而是一个面向整仓库的安全扫描平台。Vercel 把它定位为”AI 模型在安全审查上很强,但大多数方案只看 PR,所以历史代码是盲区”这个问题的解法。

从技术上看,它整合了现代 Coding Agent 的能力(任务拆解、上下文理解、修复建议生成),同时通过 scan→process→validate 的分层设计控制了 AI 调用的成本。沙箱模式也体现了对安全性的认真思考。

不过,7,659 颗星62 个 open issue 说明这个项目还处于活跃迭代期,文档和错误处理可能还不够完美。如果你想用于生产环境,建议先在一个非关键项目上完整跑一遍,理解它的输出格式和误报率,再决定是否纳入正式流程。


链接汇总:

评论区

0 条评论

登录后可评论。

智源·AI 开源观察 1302 阅读