AI 编码助手已不再是实验性技术。在采用该技术的组织中,约一半的代码提交由 AI 生成。当前的核心议题已从“开发者是否使用 AI”转变为“安全程序能否有效管控这些系统的产出”。尽管 AI 生成的代码在语法正确性上表现优异,通过率高达 99.9%,但其安全性却呈现出截然不同的态势。

数据显示,约 44% 的测试代码生成任务引入了已知漏洞。随着 AI 生成代码数量的激增而安全性能未同步提升,开发环境中脆弱代码的比例随之上升。目前,软件漏洞已成为最常见的攻击入口,占比达 31%,超过了被盗凭据这一传统风险点。缩小这一差距要求组织重新审视安全与 AI 辅助开发的适配方式,将安全性前置至开发流程中,基于风险选择模型,并在代码进入生产环境前进行上下文验证。目标并非延缓开发速度,而是确保安全防护能力能够匹配软件创建的速率与规模。
模型选择即安全决策
AI 模型从海量历史及公开代码中学习,这些数据既包含安全实现,也混杂着过时库、弱验证机制和不安全的编码模式。虽然模型旨在生成功能性代码,但缺乏适当控制时存在隐患。组织虽无法完全掌控训练数据源,但可以决定哪些模型进入开发环节。测试结果显示,最强模型的通过率为 68%,而在参与测试的 11 个模型中,有 6 个的通过率仅在 50% 至 53% 之间。因此,模型选择不仅是生产力考量,更是关键的风险管理决策。
选用高性能模型可降低暴露面,但不能默认其输出可信。AI 生成的代码仍需在软件开发生命周期内,通过静态分析和可执行的安全策略进行测试。安全必须成为交付流程的内在组成部分。
安全需求依赖应用背景
AI 生成的代码可能看似符合预期,成功编译并通过功能测试,却依然包含安全漏洞。在截止日期压力下,若开发人员未充分理解代码在更广泛应用程序中的表现便直接采纳,容易产生错误的信心。
不同漏洞类型下的安全表现差异凸显了背景的重要性。例如,模型在 SQL 注入方面的通过率为 83%,在不安全加密算法方面为 87%,但在跨站点脚本(XSS)方面降至 15%,在日志注入方面仅为 12%。部分弱点可通过识别编码模式发现,但其他弱点往往取决于数据流、授权机制、信任边界以及应用程序各组件间的交互逻辑。
因此,验证工作必须结合工作流程和应用背景进行。原生 AI 分析可在现有静态分析基础上增加上下文风险检测,直接在拉取请求中发现逻辑缺陷和身份验证破损等问题。关键在于在代码合并及风险扩散之前,将上下文分析与独立测试相结合。
优先关注风险而非单纯发现
随着 AI 提升软件开发的数量和速度,安全团队需要评估、优先考虑和补救的风险数量也随之增加,这给本就面临大量未解决漏洞的组织带来了额外压力。
这种积压导致安全债务随缺陷发现而累积,已知风险在应用中存续时间延长,使得降低债务变得更加困难且昂贵。目前,82% 的组织受到安全债务影响,其中 60% 涉及关键安全债务。这表明组织产生和发现风险的速度已超过消除风险的速度。由于每个发现都被视为同等紧迫,问题日益严峻。团队需聚焦于可利用性、应用关键性及业务影响,以便将有限的补救资源集中在最可能造成实际损害的漏洞上。
AI 驱动的补救措施可通过在开发者工作流中提出修复方案并减少重复手工劳动,帮助缩小发现与行动之间的差距。但整治过程仍需规范:生成的修复方案必须经过测试、验证及回归检查。目标应是减少实质性暴露,而非单纯增加通过系统的发现或修复数量。
领导层当下的行动指南
AI 辅助编码已深度嵌入软件开发流程,领导者应将其安全影响视为软件操作模式的根本性变化。
这意味着需要明确 AI 生成代码进入组织的途径,依据相关安全要求评估模型,在开发者工作流中构建验证机制,并将补救重点放在具有业务风险的可利用漏洞上。此外,还需保留测试证据,记录已修复内容及被有意接受的风险。
成功的组织并非那些减缓 AI 应用的机构,而是那些调整开发实践以使安全能与软件创建保持同步的企业。AI 使生成工作代码变得更容易,但真正的考验在于企业能否在生产部署前证明其安全性。





