你的AI助手正在自动生成代码,但它学的是GitHub上的公开项目——没人告诉它那些代码是怎么被攻破的。
安全漏洞从哪来
打开网易新闻 查看精彩图片
大型语言模型(LLM,大语言模型)的训练数据里,漏洞代码和正常代码混在一起。模型分不清哪行是最佳实践,哪行是经典错误。
更麻烦的是,AI生成的代码看起来"能跑",但攻击者专门找这种"差不多就行"的代码下手。缓冲区溢出、注入攻击的老套路,在新代码里换个马甲重现。
没人修的训练集
GitHub Copilot、ChatGPT这些工具的后台,爬的是海量开源仓库。问题是:漏洞被发现后,原仓库可能更新了,但模型训练用的快照里,漏洞还在。
安全补丁的传播速度,赶不上模型生成代码的速度。
开发者成了背锅侠
最终代码署了你的名字。AI写的,你负责。
现在的安全审计工具,还没跟上AI写代码的节奏。静态分析、依赖检查,都是给人写的代码设计的。AI生成的代码结构更"灵活",绕过传统检测的手法也更隐蔽。
三个凑合用的补丁
第一,把AI当实习生——生成的代码必须人工复核,别直接合并。
第二,强制跑安全测试。不是"建议",是流水线卡点,不通过不让上线。
第三,盯着依赖项。AI最爱生成的是`pip install`和`npm install`,这些第三方库才是重灾区。
最讽刺的是:我们训练AI学人类代码,却忘了人类代码里最丰富的样本,是前人踩过的坑。
热门跟贴