大语言模型从公开代码库学习,而公开代码中包含大量不安全实现(如字符串拼接 SQL、弱加密算法)。当提示词未明确涉及安全时,模型倾向于输出统计上最常见、却未必最安全的实现,导致已知缺陷以更高频率进入代码库。
应用安全机构 Veracode 在覆盖 100 多个大语言模型、80 项编码任务的测试中发现,约 45% 的 AI 生成代码未能通过 OWASP Top 10 安全测试。研究指出,模型在"安全实现"与"不安全实现"之间选择时表现并不稳定,且这一问题并未随模型规模增大而显著改善——本质上是一种系统性偏差,而非偶然失误。
AI 生成的代码通常能通过语法检查并"看起来可运行",却往往缺少对业务权限模型的理解。例如,接口能正确判断用户是否登录,却未校验该用户是否拥有所请求资源的归属权,这类越权与业务逻辑缺陷静态扫描难以发现,却正是高风险所在。
AI 编程工具以远高于人工的速度批量产出代码,使熟悉的缺陷以机器速度进入代码库,超出人工评审的覆盖能力。风险的关键不在于单处缺陷更严重,而在于已知、可管理的漏洞被系统性地规模化引入。