
过去两年,越来越多的代码是 AI 写的。GitHub 的数据是,在启用 Copilot 的项目里,46% 的代码出自它,开发速度最多提升 55%[2]。很多企业里,"人手一个 AI 程序员"已经是常态。
但安全团队手里的数字是另一回事。
软件工程顶级期刊 TOSEM 上有一篇实证研究,分析了 GitHub 真实项目里的 733 段 AI 生成代码,发现 29.5% 的 Python 代码、24.2% 的 JavaScript 代码带安全漏洞,涉及 43 类常见安全弱点,其中 8 类进了 2023 年"最危险弱点榜"的前 25 名。弱随机数、代码注入、跨站脚本,都是企业安全团队天天在防的[1]。
有企业用 AI 三个月干完了过去半年的活,功能测试全过,上线也顺。结果安全部门一扫描:SQL 注入、弱随机数、明文存密码,十几处漏洞,全出自 AI 写的代码。
功能测试全绿,安全上却没设防。这不是偶尔失手,这类工具普遍如此。
01 AI 代码为什么"测试全过、漏洞暗藏" 问题出在训练目标上。AI 学的是把功能做对,没人教过它安全。一段代码只要能跑通测试,就是"好答案";用了弱随机数、没过滤用户输入、密码明文入库,这些不影响程序运行,它自然不会改。 漏洞的麻烦在于它不报错。测试全绿,程序照常跑,出事要等到攻击真的来了。 让 AI 自己查自己呢?有人试过,把代码扫描工具扫出来的警告直接发给 Copilot Chat,让它自己修,最多也只能修掉 55.5% 的安全问题[1]。自我检查这条路,走不通。
02 自动检查的两难 AI 自己靠不住,业界的办法是给它配一套检查流水线:静态分析负责扫漏洞,模糊测试故意喂乱七八糟的输入看程序崩不崩,再加上单元测试验功能,几个智能体分头把关。有代表性的工作靠这套办法把代码漏洞降低了 13%。 思路没错,问题是流程写死了。不管任务难易、风险高低,每段代码都把全套检查跑一遍。 这样一是贵。复杂任务上,代表性方法平均每个编程任务要调 18 次 API,是普通方法的 9 倍,按 token 计费的企业一看账单就头疼。二是浪费,很多代码明明一遍就写对了,还是被拉着做全套体检,真正高危的环节反而查得不够细。 说到底,检查工具是够用的,缺的是一个拍板的人:这次到底该查多严。
03 我们的做法:给流水线加一位"质检主管" 我们团队为此做了一个方案 SCG-Agent,发表在软件工程期刊 IEEE TSE 上[3]。 SCG-Agent 给这条流水线安排了六个角色。程序员负责写码改码;单元测试员验功能;静态分析员用 CodeQL、Bandit 两款业界常用的扫描工具交叉查漏洞,任何一款报警就不放行;模糊测试员专找运行时崩溃;结果解析员负责消化反馈。这六个角色之外,另设一位调度器,相当于质检主管。 图:SCG-Agent 总体架构:调度器按需决定检查项与顺序(引自论文原文) 调度器管三件事:要不要再查、查哪一项、按什么顺序查。做法是"小模型打前站、大模型拍板":专门训练的轻量小模型先快速判断这段代码需要哪几类检查、各有多急,给出一个排序;大模型再结合任务和代码做最后决定。风险高的优先送静态分析,功能可疑的优先送单元测试;查不过的连同反馈打回重写,再查,最多三轮;查过了,剩下的检查能免就免。查什么、怎么查,看的是这段代码的真实风险,不是预设流程。 实验上,我们在 6 个主流大模型上用 HumanEval 和 SecurityEval 两套基准做了完整测试。SCG-Agent 的功能通过率平均 88.7%,五个对比方法全被超过;安全通过率 93.1%,比第二名高出约 18 个百分点,是三项里差距最大的一项;健壮性通过率 83.0%,也是第一。成本还降了:平均每个编程任务只调 4.6 次 API,不到开销最大方法(21 次)的四分之一,质量上去了,花的钱反而少了。
04 落到企业身上,是三件事 一是安全可以放心交给流程。93.1% 的安全通过率,每处修改都有检查工具的反馈留痕,审计有据可查。 二是成本可控。"全套体检"变成"对症检查",质量和开销还能调:要求高的场景多查几轮,成本敏感的收紧阈值,论文里有量化依据。 三是接口开放。三类检查器都是标准接口,企业可以把内部编码规范、合规规则做成自己的检查器接进去,也可以换成私有模型。
05 结语:AI正在成为软件工程的新伙伴 AI 写代码,快已经不是问题,安全可信开始成为问题。 企业要把开发流程交给 AI,光写得快不够,写出来的每一行都要经得起查。该查的查到位,不该花的钱不花。 从"可对话",走向"可交付"。 参考文献 [1] Fu, Y., et al. Security Weaknesses of Copilot-Generated Code in GitHub Projects: An Empirical Study. ACM Transactions on Software Engineering and Methodology (TOSEM), 2025. https://doi.org/10.1145/3716848 [2] GitHub. GitHub Copilot: Your AI Pair Programmer. https://github.com/features/copilot [3] Chen, Y., Huang, Y., Chen, X., & Zheng, Z. SCG-Agent: A Scheduler-Driven Code Generation Framework with Multi-Checker. IEEE Transactions on Software Engineering (TSE), 2026 ·END·
电话:穆先生:18665021673
何小姐:18565191549
邮箱:frgj3790@163.com
扫一扫关注
微信公众号
电话:020-8230 8816
邮箱 : frgj3790@163.com