deepsec 是一个由智能体驱动的漏洞扫描器,可在你自己的基础设施上运行,并针对现有大型代码库的全量按需审查进行了优化。它旨在发现长期潜伏在应用中、难以找到的问题。deepsec 被配置为使用最佳模型并处于最高思考级别(可通过 --thinking-level 调节),这意味着对大型代码库的扫描成本可能达到数千甚至数万美元。其客户认为,考虑到能够快速修补原本可能无人修复的漏洞,这个成本是值得的。
主要能力与运行方式
对于大型代码库,任务会分发到多台 worker 机器上并行执行。如果某次运行中断或中途出错,只需重新运行相同命令,deepsec 会从上次中断处继续,跳过已分析过的文件,只处理剩余部分。
使用方式
在你想要扫描的仓库根目录下运行命令。该命令会引导你完成全部流程:选择 AI 模型(提供基准分数和价格供对比),以及选择模型用量的付费方式——使用你自己的 OpenAI/Anthropic API Key,或使用 Vercel AI Gateway。之后它会无人值守地工作:研究你的代码库、进行扫描并运行 AI 审查。它对你仓库唯一的新增内容是一个 .deepsec/ 文件夹,所有的状态和发现结果都存放在其中。
如果运行因任何原因中断——例如 Ctrl-C、连接丢失、达到消费限额——再次运行 npx deepsec init 即可从上次中断处继续。你可以限制单次运行的消费上限或运行时长。
扫描完成后,可获取可读的报告。后续扫描在 .deepsec/ 目录内进行。入门指南详细介绍了这些内容,包括使用你自己的 OpenAI 或 Anthropic API Key,以及从 CI 或编码智能体中运行。
初始化之后,智能体可以读取与已安装 CLI 匹配的确切文档,位于 .deepsec/node_modules/deepsec/SKILL.md 和 .deepsec/node_modules/deepsec/dist/docs/。设置错误会以绝对路径的机器可读形式暴露这些位置。
项目链接与凭据
默认情况下,deepsec 通过 Vercel AI Gateway 路由模型调用,无需各提供商专属密钥即可访问所有主流模型。你也可以自带密钥——OpenAI、Anthropic 或自定义 HTTPS 提供商——在 init 时传入 --model-auth direct 并配合 --ai-provider 与 --ai-api-key-env;该模式下无需 Vercel 账户。deepsec 只存储保存密钥的环境变量名,从不存储密钥本身。完整参考见项目链接与凭据文档。
如果某个 process 或 revalidate 运行因上游凭据配额或额度耗尽而停止,deepsec 会优雅退出并告知你在何处充值。之后重新运行相同命令,它会从上次中断处继续。
分布式执行(可选)
大型 monorepo 可以将工作分发到 Vercel Sandbox 微型虚拟机上执行。设置过程已验证过 Vercel 连接,因此无需额外引导。本地工作树会被打包上传,.git 被排除。模型凭据保留在主机侧,仅在选定的出口主机注入。
deepsec 自身的安全模型
应将 deepsec 视为在其运行环境上拥有完整 shell 访问权限的编码智能体。它被设计为在可信输入(你的源代码)上运行,但由于外部依赖或第三方代码,你可能仍会担心提示注入问题。
在沙箱上运行(见上文)确实能大幅降低潜在暴露面:编码智能体的 API 密钥在沙箱外部注入,因此无法被窃取;对于 worker 沙箱,沙箱的网络出口被限制为仅可访问编码智能体主机(引导过程允许出口,但该过程不运行编码智能体)。
许可
Apache 2.0。详见 LICENSE 与 NOTICE。
deepsec 是由编码智能体驱动的、用于发现代码库漏洞的安全扫描工具。