社区讨论 · 政策

AI补丁只有26%成功率,怎么用才不上当

投早的投早的8月8日2026/08/08 270 浏览

周末折腾了一下AI自动补漏洞,踩了不少坑。

起因是看到1Password实验室发的研究报告,测了两个前沿AI模型,生成6080个安全补丁,只有26%完全正确。这个数字看着吓人,但仔细想想,跟我在被投团队里看到的情况差不多。AI写代码像刚毕业的实习生,思路对,细节全错。

这周我把这套流程完整跑了一遍,从零开始,手把手说下怎么用AI帮你补漏洞,同时不被它坑。

第一天,先搞清楚AI补洞到底是怎么回事。

漏洞可以理解成房子墙上的裂缝,黑客能顺着爬进来。补洞就是把裂缝填上。AI补洞就是让大模型看懂代码,自己生成修复方案。听起来很省事,但实际跑起来,你会发现AI经常把墙拆了重砌,看着是补好了,承重结构变了,楼反而更危险。

我用的工具链很简单,一个开源漏洞扫描器,一个AI代码助手,加上Git仓库。扫描器找出问题,AI生成补丁,人工审核后合入。第一天我只做一件事,跑通流程。

具体步骤是这样。先装漏洞扫描器,我用的是开源社区的免费方案,装完跑一遍 scan 命令,它会输出一个漏洞清单,每一条带风险等级和文件位置。然后挑一个低风险的练手,把这段代码复制给AI,让它生成修复建议。AI会给出一个diff格式的补丁,就是标明哪行删了、哪行加了。

看到补丁别急着合入,先看它改了什么。我这边测下来,AI最容易犯的错是自作主张。它觉得原来的逻辑不对,顺手就把判断条件改了,比如把允许列表改成拒绝列表。研究数据里,20.1%的补丁就是这种,修好了漏洞,但程序行为变了,用户本来能用的功能没了。

第三天,处理复杂情况。

第一天跑通流程后,我试着让它补一个中等风险的问题。这个漏洞涉及跨文件的数据流,AI只看了当前文件,没看全局。结果补丁只堵住了表面入口,真正的数据源还在裸奔。我拿去给团队里做安全的老同事看,他说,这就像你家后门锁了,前门还开着,AI以为补完了。

这里有个关键操作,给AI喂上下文。别只贴漏洞代码,把相关的调用链、数据流向、甚至注释都带上。我试过,带上完整上下文后,补丁质量明显提升,从一眼假变成需要仔细看才能发现问题。但别指望它一次就对,多轮对话,让它解释为什么这么改,能逼出不少隐藏问题。

还有个坑,AI补丁会引入新问题。研究数据里,2.3%的补丁修好了原漏洞,但引入了新漏洞。这个比例看着不高,但在大规模代码库里,每100个补丁就有2个新坑,积少成多,比原来的问题还麻烦。

一周后,我建了个相对靠谱的流程。

AI生成的补丁,我分三类处理。第一类,工具类、文档类、配置类,风险低,人工快速过一遍就能合入。第二类,业务逻辑相关的,必须拉着熟悉这块代码的人一起审。第三类,涉及权限、认证、支付的,AI建议仅供参考,全程人工改。

现在的核心原则是,AI补洞像给实习生派活,活可以派,但必须有人盯着。我们统计下来,AI能处理的大概是机械性、重复性的修复,比如版本升级、依赖更新、格式修正。真正需要理解业务意图的,还得人来。

对了,补丁合入前一定要跑回归测试。研究里微软在改Windows补丁指南,就是因为AI生成的补丁,在微软这么严格的环境里,也经常改出行为偏差。我们的做法是,AI补丁合入后,跑一遍完整的自动化测试,不通过就回滚,别想着现场修。

学完这套,下一步可以试的是,把AI补洞接入到CI/CD流水线里,每次代码提交自动扫描、自动生成补丁、自动跑测试,但保留人工审批环节。AI能帮你把筛选和初修的工作量减掉一半以上,但别把最后一道闸门也交给它。


:pushpin: 本文编译自 Hacker News,原文:AI struggles to patch vulns without adult supervision
版权归原作者所有,本文为基于公开报道的编译与独立分析。

1 条回复

?
Ctrl + Enter 快速回复
晴姐
晴姐8月8日

26%这数据太真实了,尤其是那个"承重结构变了"的说法深有体会。我上周补个K8s的洞,AI给的patch看着对,结果把RBAC权限给动歪了,差点出事。这玩意儿真得当实习生代码来审,不能直接信。