AI 编程的最大难题终于解决了

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00AI 让每个人都能轻松编程,人们开始以更快的速度
00:00:04发布代码。
00:00:05但以更快的速度增长的,是这些应用内部堆积如山的安全性问题。
00:00:09而在过去的几个月里,情况实际上变得更糟了。
00:00:12已经发生过很多次智能体删除了某人整个项目的情况。
00:00:16另一个智能体则在开发者处理完全无关的事情时,
00:00:20删除了整个生产数据库。
00:00:22还有许多类似的事件,比如苹果公司内部的 Clod.md 文件被泄露。
00:00:26因此,能够真正捕捉这些问题的工具现在比以往任何时候都重要。
00:00:30看到这些问题的兴起,Vercel 刚刚发布了一个安全防护网,用于检测 AI 生成应用中的漏洞,
00:00:35名为 DeepSec。
00:00:37现在你可能会想,Claude Code 的智能体本身就已经可以进行安全审查了。
00:00:42那么,你为什么还会需要 DeepSec 呢?
00:00:44这是因为 DeepSec 是一个结构化的工具,处理审查的方式要系统得多。
00:00:49在底层,它使用了像 Claude Code 和 Codex 这样的编程智能体。
00:00:52该工具专为扫描大型代码库而设计,因为它支持并行设计,
00:00:57可以加快工作流程并将代码分成多个组,这使其非常适合
00:01:01审查大型代码库。
00:01:03需要说明的是,它的设计初衷并非为了成本效益。
00:01:06他们使用的是 Claude Code 和 Codex 中最强大的模型,即处于最大算力模式的 Opus 4.7
00:01:10以及处于超高推理模式的 GPT 5.5,这两者都会消耗大量的 Token。
00:01:16随着它们并行运行,Token 的使用量会迅速增加,从而推高成本。
00:01:20几款知名的应用已经在其代码库上运行了这个防护网,并反馈了良好的结果。
00:01:25在他们运行的测试中,该工具的误报率大约为 10-20%。
00:01:30考虑到大语言模型通常的准确率,这个数字是非常可观的。
00:01:33反过来说,这意味着智能体在大多数时候是正确的,且真阳性率
00:01:37很高。
00:01:38其背后的架构使其与众不同。
00:01:40如果你要求 Claude Code 或任何智能体进行安全审查,它会先直接扫描
00:01:45代码库,然后生成一份完整的审查报告。
00:01:48这不仅耗费大量时间,还会消耗大量 Token,而且审查
00:01:52仍可能遗漏某些内容。
00:01:53因此,此工作流的第一部分是扫描,对所有文件执行仅限正则表达式的扫描,
00:01:58以寻找后续步骤将重点关注的安全敏感区域。
00:02:01正则检测在这里很重要,因为该工具是为可能包含数千个文件
00:02:06的大型代码库设计的。
00:02:08正则匹配是一系列代码模式,用于匹配已知可能存在安全漏洞
00:02:13的区域,然后从庞大的文件池中过滤出这些文件。
00:02:16一旦过滤了大批文件,下一步就是使用智能体进行调查。
00:02:21智能体是昂贵的部分,消耗大量 Token,而且通常需要很长
00:02:25时间,具体取决于你的代码库到底有多大。
00:02:28所以,这个工具将所有文件拆分成批次并进行并行处理,以便它们可以
00:02:32同时被处理。
00:02:34一旦该过程完成,还有一个重新验证步骤,会对调查结果
00:02:37进行再次检查,以便对误报进行交叉对比。
00:02:40万一有遗漏,它能捕捉到并确保分类
00:02:45是正确的。
00:02:46这个重新验证步骤实际上是可选的。
00:02:47之后,智能体会利用 Git 元数据和其他来源来确定哪些人
00:02:51应该对哪些问题负责。
00:02:53完成这一切后,发现结果将以 Markdown 或 JSON 格式存储,以便
00:02:57可以将其转化为人工以及编程智能体的工单。
00:03:01正如之前提到的,文件被分成批次,每个批次大约同时
00:03:05处理 5 个文件。
00:03:06对于每个批次,会根据识别出的框架以及其他项目信息,
00:03:11组装一个新的提示词。
00:03:12然后,这些内容由你配置的 Claude Agent SDK 或 Codex Agent SDK 进行分析,
00:03:17并赋予它们只读访问工具的权限,以了解代码库包含的内容。
00:03:22一旦获得发现结果,所有内容都会合并到一个经过消重
00:03:26和规范化处理的单一文件中。
00:03:27最后,还有一个后续步骤,以确保分析真正覆盖了所有内容。
00:03:31这种架构凭借其系统化的流程和结构化的分析方法使其生效,
00:03:36且相比没有防护网的情况,能更好地识别问题。
00:03:41为了对此进行测试,我们使用了一个仅供练习使用的、
00:03:45包含内置安全风险的 Web 应用开源项目。
00:03:47我们想看看这个工具是否能靠自己检测出这个仓库中
00:03:52所有的安全问题。
00:03:53该项目包含 10 个安全问题,所有细节都在代码中直接提供,
00:03:56包括如何移除它们。
00:03:58要运行 DeepSec,你首先运行 deepsec init 命令,它会安装依赖项
00:04:03并创建一个 .deepsec 文件夹,然后你在该文件夹内安装依赖项。
00:04:08它还会给你一段提示词,你需要将其粘贴到你使用的任何编程智能体中。
00:04:12由于我们使用的是 Claude Code,我们在 Claude 中运行了该提示词,它包含了
00:04:16创建小型 info.md 文件的指令,该文件包含所有项目信息,并基于
00:04:21特定模板构建。
00:04:23你不需要在项目文件夹本身运行此命令,而是在 .deepsec
00:04:27文件夹中运行,因为它会指示智能体查看上级目录并读取
00:04:31其中的所有信息。
00:04:32info.md 文件包含代码库功能的总体概述以及身份验证
00:04:37流程的样貌,还有威胁模型、项目特定模式以及代码中所有
00:04:42已知的误报。
00:04:44一旦该文件创建完成,下一个任务就是运行 deepsec scan 命令。
00:04:48这个命令就是我们之前提到的正则匹配器,它会找到所有匹配的
00:04:52端点,并列出包含潜在安全问题的所有过滤后的文件。
00:04:57这部分速度很快,因为纯粹是代码在运行。
00:05:00下一步是运行 deepsec process 命令。
00:05:02你可以在 .env.local 文件中指定你想使用的任何模型的 API 密钥,
00:05:07无论是 Vercel API 网关、Codex 还是 Claude。
00:05:11但如果你没指定(像我们一样),它会自动默认为 Claude Code 订阅,
00:05:16并使用你的身份验证,而不需要任何 API 密钥。
00:05:19它将项目拆分为批次,并在每个批次上调用多个工具。
00:05:23在每个批次之后,它会给出使用了多少 Token 以及预估
00:05:27成本的摘要。
00:05:28现在,如果你使用的是订阅版,它除了你的订阅费用外不会额外收费,
00:05:32但它仍会提供 API 成本估算。
00:05:35由于这是为大型代码库审查设计的,它将可靠性放在首位。
00:05:39因此,如果在审查期间出现任何错误,它不会从头
00:05:43开始重启一切,而是从错误发生的点继续。
00:05:46扫描完成后,运行 deepsec report 命令,它会以 JSON 和 Markdown 格式
00:05:50生成一份报告,其中包含按严重程度级别分类
00:05:55的所有发现结果的总体概述。
00:05:56现在,这份报告生成后,你可以运行重新验证步骤。
00:06:00此步骤完全是可选的。
00:06:02你可以根据需要运行它,或者完全跳过。
00:06:04运行后,它会验证发现结果,以检查报告内容
00:06:08是否为误报。
00:06:09完成之后,你可以使用 export 命令导出所有内容,它会将
00:06:13发现结果写入 findings 文件夹。
00:06:15这个 findings 文件夹以优先级作为文件夹名称来排序问题,并为
00:06:20每个识别出的问题创建一个文件。
00:06:22它首先列出问题的来源,即导致问题的具体文件和行号,
00:06:26问题的严重程度,以及模型识别它的置信度。
00:06:30它还会提到是哪个提交引入了该问题,并指派给执行提交的用户。
00:06:34然后它会解释建议的修复方案,列出重新验证结果,并提到所有
00:06:39已明确解决的问题。
00:06:41它还在发现结果中包含了复现 Bug 的步骤。
00:06:44但这份报告仍然没有识别出所有问题,尽管教程
00:06:48本身就在代码里,它理应能够识别出来的。
00:06:52因此,我们与 Claude 进行了迭代,探讨为什么应用中设计好的
00:06:56原始漏洞课程没有被识别出来。
00:06:59通过与 Claude 的沟通,我们发现该工具只报告了 3 个发现结果的原因
00:07:03是因为 info.md 文件中的明确说明。
00:07:07DeepSec 认为这 10 个漏洞已经是已知的,它只关注除此之外的
00:07:12其他问题,因为它在尝试超越已知内容,
00:07:16只关注其他模式,从而使扫描变得更
00:07:21有效,且不会在已有文档记录的问题上浪费时间和 Token。
00:07:25接着我们测试了另一个应用,看看这次它的表现是否更好。
00:07:28我们运行了相同的步骤,从扫描到处理阶段。
00:07:32我们没有运行重新验证部分,只是创建了报告并直接导出。
00:07:36而这次 Claude 的 info.md 文件只包含关于应用的细节,并没有包含
00:07:42像上一个那样的声明。
00:07:43与此同时,我们也要求 Claude 审查代码并编写一份 report.md 文件,进行
00:07:48完整的安全审查,以便我们比较哪一个的表现更好。
00:07:52DeepSec 创建的报告发现了多个不同严重程度的 Bug。
00:07:56它发现了 9 个问题,并创建了详细的报告以及关于如何修复
00:08:01它们的建议步骤。
00:08:02这些建议步骤是大多数其他报告所缺失的,因为这能帮助
00:08:05智能体了解如何修复问题,从而使调试变得容易得多。
00:08:09但我们注意到 Claude 的报告要详细得多,强调了 39 个问题。
00:08:13所以我们先让它创建一个差异对比。
00:08:15差异显示 Claude 的数量更多。
00:08:18但我们在测试 Codex 时已经见过这种情况了。
00:08:20Claude 倾向于在过程中识别出范围之外的其他问题。
00:08:24它并不完全专注于 DeepSec 专门设计的范围问题。
00:08:29因此,一旦我们要求它只关注特定范围,它将发现结果缩小到了 13 个。
00:08:34但 DeepSec 仍然漏掉了一些 Claude 报告中识别出的问题。
00:08:38DeepSec 漏掉一些发现结果的原因是它只关注代码
00:08:43直接包含的、且可以直接通过函数本身解决的问题。
00:08:47它不会识别应用实际运行时可能出现的问题,比如跨域 (CORS) 相关
00:08:52的问题。
00:08:53它也不太关注逻辑模式和架构决策。
00:08:57正如我们之前提到的,它先使用正则表达式过滤文件。
00:09:01所以它主要关注代码中明确存在的内容,而不是
00:09:05应用动态运行时可能发生的问题。
00:09:08此外,如果你喜欢我们的内容,请考虑点击 Hype 按钮,因为这能帮助我们
00:09:12创作更多此类内容并触达更多人。
00:09:15现在,为了不让我们自己一步步运行这些步骤,我们创建了这个 DeepSec 技能,
00:09:20它包含了关于如何端到端使用 Vercel 安全扫描器的所有说明,
00:09:24以及它应该如何从用户提示词中识别所请求的内容。
00:09:28然后它会遵循整个分步流程并自行管理整个防护网。
00:09:32它还捆绑了多个资产、评估和所有问题的参考资料,以及
00:09:37可能对实际解决方案和该仓库整体运作有帮助的
00:09:42多个脚本。
00:09:43有了这个,你就可以直接运行此安全扫描并指定你想使用
00:09:47的模型,它会直接为你处理一切。
00:09:50它将运行我们之前看到的所有步骤,同时解决之前遗漏的问题,
00:09:54并将通过结合 DeepSec 的能力并弥补其发现结果中的空白,
00:09:59来进行更好的安全审查。
00:10:02这个技能以及所有资源都可以在本视频对应的 AI Labs Pro 中找到,
00:10:07以及我们以前所有的视频资源,你可以从那里下载并用于自己的项目。
00:10:11如果你觉得我们的工作有价值并想支持本频道,这是最好的方式。
00:10:15链接就在描述栏中。
00:10:16本视频到此结束。
00:10:17如果你想支持本频道并帮助我们继续制作这样的视频,
00:10:19可以通过下方的 Super Thanks 按钮来实现。
00:10:23一如既往,感谢观看,我们下期再见。
00:10:25一如既往,感谢您的观看,我们下期再见。

Key Takeaway

Vercel 推出的 DeepSec 通过正则过滤、并行处理与多阶段验证的系统化架构,解决了 AI 编程中大语言模型直接审查代码库时存在的成本高、漏报多及逻辑散乱的问题。

Highlights

  • Vercel 推出的 DeepSec 安全防护网利用 Claude Opus 4.7 和 GPT 5.5 等模型检测 AI 生成代码中的漏洞。

  • 该工具在大型代码库测试中表现出 10-20% 的低误报率,显著优于传统大语言模型的直接审查。

  • DeepSec 通过并行处理机制每批次分析约 5 个文件,以解决大型项目处理速度慢和 Token 消耗高的问题。

  • 工作流采用正则表达式初步过滤文件,将后续高成本的智能体审计集中在安全敏感区域。

  • 生成的安全报告包含具体文件行号、严重程度、置信度以及引入该漏洞的 Git 提交者信息。

  • DeepSec 侧重于代码中明确存在的函数级漏洞,而非跨域 (CORS) 等应用动态运行时的逻辑或架构问题。

Timeline

AI 编程带来的安全风险与 DeepSec 的定位

  • AI 辅助编程导致应用内部的安全问题以更快的速度堆积。
  • 自主编程智能体存在删除整个项目或生产数据库的严重安全事故风险。
  • DeepSec 作为一个结构化工具,旨在提供比单一智能体更系统、更可靠的安全审查。

随着 AI 让编程变得门槛更低,代码发布的节奏加快,但也引发了如苹果公司内部文件泄露等一系列安全性事件。虽然像 Claude Code 这样的工具具备基本的安全审查能力,但它们缺乏系统性的框架来应对复杂项目。DeepSec 的出现是为了在 AI 生成代码的过程中建立一道防线。

高算力架构与成本效益权衡

  • DeepSec 在底层集成了处于最大算力模式的 Claude Opus 4.7 和超高推理模式的 GPT 5.5。
  • 并行处理设计允许该工具将大型代码库拆分成组,显著缩短了审查时间。
  • 测试显示该系统的误报率维持在 10-20% 之间,保证了极高的真阳性率。

为了追求最高的审查准确度,该工具并没有将成本控制作为首要设计目标。它消耗大量的 Token 来驱动目前最顶尖的编程智能体。这种以算力换安全性的策略,使得处理拥有数千个文件的复杂项目成为可能,且其准确率远高于普通的大语言模型对话。

三阶段系统化审查工作流

  • 第一阶段利用正则表达式扫描代码模式,从海量文件中筛选出安全敏感区域。
  • 第二阶段将筛选出的文件分批交给智能体进行深入调查,并根据项目框架组装特定的提示词。
  • 第三阶段通过可选的重新验证步骤对发现结果进行交叉对比,以消除误报。

直接对全量代码进行 AI 扫描会产生巨大的成本且容易遗漏细节。DeepSec 先通过低成本的正则匹配缩小范围,再由智能体进行高强度的逻辑分析。最终所有发现会被消重并规范化,转化为 Markdown 或 JSON 格式的工单,供人类或 AI 开发者直接修复。

实际操作流程与 DeepSec 命令集

  • deepsec init 命令负责环境初始化并生成包含项目身份验证流和威胁模型的 info.md 文件。
  • deepsec process 命令支持 Vercel、Codex 或 Claude 的 API 接入,并在处理后提供预估成本摘要。
  • 报告生成后会按严重程度排序,并提供漏洞复现步骤及修复建议。

用户在 .deepsec 文件夹中运行指令,智能体通过读取上级目录获取完整的上下文信息。该工具具备断点续传能力,若审查过程中出现 API 错误,它能从错误点继续运行而非重头开始。生成的报告不仅指出问题,还详细说明了建议的修复方案。

漏洞识别的边界与性能对比

  • DeepSec 倾向于忽略文档已记录的已知漏洞,从而将 Token 消耗集中在未知威胁上。
  • 该工具专注于代码级硬性漏洞,而可能遗漏涉及应用运行时的动态逻辑或架构决策问题。
  • 在对比测试中,原生 Claude 扫描出的问题数量更多,但 DeepSec 的针对性更强且更符合预定义的扫描范围。

通过两款应用的测试发现,info.md 文件的配置直接影响扫描结果。DeepSec 的过滤机制虽然提高了效率,但也意味着它主要处理能通过静态函数分析解决的问题。相比之下,普通智能体扫描虽然全面,但往往会包含大量范围之外的冗余信息。

端到端自动化与 AI Labs Pro 技能集成

  • 新开发的 DeepSec 技能实现了从用户提示词到生成报告的全自动管理。
  • 通过结合 DeepSec 的结构化能力与自定义脚本,能够弥补原始工具在动态漏洞发现上的空白。
  • 所有相关脚本和资源均已整合至 AI Labs Pro 库中供开发者下载。

为了进一步降低门槛,通过创建特定的 AI 技能,可以将原本复杂的分步指令整合为一键式操作。这不仅解决了手动运行各阶段命令的繁琐,还通过脚本增强了对 DeepSec 原始框架未覆盖区域的审查,提供了一个更完备的安全审计闭环。

Community Posts

No posts yet. Be the first to write about this video!

Write about this video