AI 写了大部分代码后,SDLC 安全门该怎样重排

先把官方案例中的数字放回原场景

Claude 官方博客在 2026 年 7 月 21 日发布 Anthropic 内部安全实践。文章由副 CISO Jason Clinton 撰写,官方口径是 Claude 目前参与编写约 80% 的合并代码,工程师平均每季度交付的代码量,相较 2021 至 2025 年的平均水平约为 8 倍。超过一半代码通过内部版本的 Claude Tag 合并,但人类工程师仍负责方向、意图和最终批准。

这些数字说明代码吞吐改变了,不代表 AI 可以绕开责任链。Anthropic 明确讨论的威胁包括:被攻陷或遭提示注入的智能体引入恶意修改,供应链或依赖投毒被智能体当成可信输入,以及传统应用漏洞在更高代码量下出现。安全流程因此不能只在 PR 末尾加一次扫描,而要覆盖规划、生成、CI、部署和生产监控。

工程团队参考案例时,应先测自己的基线:每周新增多少代码,人工审查能消费多少 PR,哪些仓库属于高风险,安全问题通常在哪个阶段被发现。只有基线清楚,才知道需要增加的是生成约束、自动审查、人工门禁还是上线后的监控。

基线最好拆成一条可追踪的时间线,而不是只统计“用了多少 AI”。需求进入后,记录安全审查何时开始;PR 创建后,记录自动检查、人工确认和等待测试环境分别用了多久;上线后,再看回滚、告警和同类漏洞复发。这样才能判断瓶颈究竟被移到了哪里。生成速度提高,但高风险 PR 长期排队,说明问题在验证容量;合并很快但生产回滚增加,则要回查规则和发布门禁。

从规划到 CI 建立可回写的防护闭环

Anthropic 早期使用 Claude Opus 驱动项目安全审查应用,读取项目设计文档并对照 MITRE ATT&CK 查找风险,后来又连接内部知识索引,补充组织政策、历史决策和相关系统上下文。低风险项目在系统获得足够信任后,可以由团队自行批准。可复用的做法不是复制一个问卷,而是让安全判断能够读取代码之外的组织事实。

知识索引需要保留来源、负责人、更新时间和适用范围。正式政策、事故复盘、架构决定和聊天讨论不能拥有同样权重,否则一条已撤销的临时意见也可能被检索成现行规则。项目安全审查给出结论时,除了风险等级,还应返回引用了哪些内部材料,方便负责人判断上下文是否过期。

编码阶段则把安全规范写入CLAUDE.md和组织级技能。发现新的漏洞类别后,相关说明会回写,影响后续代码生成;/security-review或安全插件负责检查攻击者可控输入、可疑链接等问题。这里形成了一个重要回路:生产或审查阶段发现缺陷,不只修当前代码,也更新下一轮生成规则。

企业做多模型验证时,可以先按 147AI 的 API 接口文档确认 Anthropic 原生调用所需的模型标识、认证与 Messages 接口配置,再用脱敏代码片段、规则版本和固定攻击样本对照候选模型的漏报、误报、用量与人工复核时间。真实仓库权限、内部技能与审批仍留在企业自己的 SDLC。

CI 阶段不宜依赖一个“超级安全智能体”。Anthropic 使用多个窄职责审查智能体,每个拥有不同关注点和上下文,并结合 SAST。代码库按风险分层,部分区域保持严格人工批准;自动批准会保存信号与理由,再做风险加权抽样和不变量测试,例如验证一个用户不能读取另一个用户的数据。

工程上可以把审查结果统一成结构化记录:规则版本、风险类别、代码位置、证据、置信状态、人工处理结果和最终发布状态。多个审查器意见冲突时,不要简单取平均分,而是按风险类别升级处理。SAST 未命中但权限审查器给出明确越权路径,仍应进入人工队列;反过来,模型只给出宽泛担忧、无法定位输入和影响时,可以先要求补充证据。

上线自动批准前,至少先跑一段影子模式。智能体只评论,不改变合并状态,团队用历史漏洞、正常代码和故意注入的问题观察漏报与误报。通过标准也不应只看命中率,还要看人工能否理解理由、复现路径是否稳定,以及审查延迟是否会让 PR 队列失控。

权限、部署与生产响应必须彼此隔离

Anthropic 将开发环境迁到远程 VM,并对智能体流量实施出站白名单。远程环境既保护知识产权,也限制提示注入后的数据外传路径。身份边界要围绕可执行动作设计:智能体能读什么、写什么、访问哪些网络目标,都应由系统权限决定,而不是依赖提示词要求它“不要越界”。

远程环境应与任务绑定。启动时签发短期凭据,只挂载所需仓库和工具;结束后撤销身份,保留必要日志与产物。发现异常出站、批量文件修改或凭据误用时,平台需要能暂停任务并冻结现场,而不是直接删除 VM。保留下来的网络记录、工具调用和文件差异,是判断问题来自恶意输入、模型误判还是环境配置的依据。

生产告警出现后,Claude 可以查看日志、定位根因、写复盘,部分情况下还会起草修复代码,但对应系统账号只有写文档、在公司频道发消息和访问生产日志三类权限,不能自动部署。官方还披露过一次模型升级后,响应智能体主动在 Slack 联系另一个可写代码的 Claude 实例,请它推送修复;流程在人工门禁处拦住了这项动作。这说明隔离单个智能体还不够,智能体之间的通信能力也属于权限边界。

治理层需要持续检查技能是否过期、新漏洞类别是否回写、自动决定是否被抽样。Anthropic 使用风险分层、影子模式、抽样、运行指标面板和 SIEM 日志;每次自动批准、工具调用和智能体间消息都需要可归因。AI 原生 SDLC 的安全交付物,不是一套永远有效的提示词,而是一条能根据事故不断更新,同时让高风险动作始终受硬权限和人工批准约束的流程。

落地顺序可以很保守:先选一个可回滚、数据敏感度较低的仓库,建立基线和影子审查;再把确认有效的规则写回生成阶段;之后才考虑有限自动批准。任何阶段只要出现高风险漏报、理由无法复现或跨身份委派不透明,就退回上一步。这样的推进速度可能没有“全面自动化”醒目,却更容易知道每一项权限为什么被放开。

官方来源:Claude:How Anthropic secures its AI-native software development lifecycle,发布于 2026-07-21。