研究员借助Claude排查政府代码漏洞
安全研究员借助Claude Opus和Sonnet检查英国政府公开代码,据报道发现百余个严重漏洞,其中不少属于基础安全维护问题。典型案例涉及公开仓库中的凭据未被彻底撤销,且权限过大、缺少有效期限制。
AI 深度解读
AI 正在缩短漏洞被发现的时间,但这次英国政府代码审查暴露的,主要还是基础安全管理失守:凭据提交到 GitHub 后仍然有效,权限过大,系统维护长期欠账。
据 IT之家 11 月 10 日援引《连线》的报道,研究人员借助 Claude Opus 和 Sonnet,在英国政府公开代码中发现了 100 多个严重漏洞。对程序员来说,更有用的问题是:哪些错误让一次代码提交变成了整个数据系统的风险,以及关掉代码库能不能解决问题。
AI 找到了什么,扫描结果又能说明多少
ControlPlane 研究人员 Chris Nesbitt-Smith 扫描了 33 个机构的 349 个公共部门代码库,称其中约三分之二存在安全漏洞。报道同时提到 100 多个严重漏洞,但没有交代这两个统计口径如何对应,不能把「存在漏洞的代码库」直接等同于「存在严重漏洞的代码库」。
受影响项目涉及教育部的学校采购服务、教师申请服务,以及英格兰政府资助培训机构和学徒项目的主要登记系统。教师申请服务包含个人资料、学历资质、工作经历和身份证明文件。报道没有逐项说明这些信息是否已经能够被漏洞直接读取。
另一个案例更具体:苏格兰政府一个开放数据门户的漏洞,可能让访问者读取管理账户信息,甚至修改网站配置。
作者强调,使用的只是运行在笔记本电脑上的消费级 AI 模型,许多问题通过常规 IT 安全检查也能发现。原文没有说明 Claude Opus 和 Sonnet 的具体版本、调用方式、扫描提示词、耗时或人工复核流程,因此也不能据此认定模型在本地运行,更无法复现其检测效果。
这次报道支持的结论是 AI 能辅助发现基础安全问题,尚不足以证明它比传统扫描工具更准确或更省成本。
为什么一组泄露凭据可能危及整个系统
最严重的案例来自英国规划监察局(Planning Inspectorate)。工作人员误将登录凭据提交到 GitHub,之后又没有彻底撤销,导致凭据仍可使用。
问题叠加在三个环节:凭据公开、权限范围过大,以及似乎没有设置有效期。研究人员称,这组 Microsoft Entra ID 凭据几乎具有整个系统的最高级别读写权限,可以访问所有 SharePoint 网站和员工私人 OneDrive 账户,涉及人力资源记录。
它还可能触及保存法定规划调查和上诉证据的敏感文件库。这些文件受到法律保全要求保护。研究人员据此判断,攻击者可能窃取数据,或利用权限部署勒索软件、加密数据。
这里需要区分「能够造成的后果」和「已经发生的事件」。报道没有说发生了勒索攻击或数据窃取。
规划监察局表示,其监控工具在今年 8 月立即发现了研究人员的活动,并在 ControlPlane 联系之前就按安全事件处理;收到报告后 20 分钟内确认并修复漏洞,核实没有发生数据泄露。这是机构的回应,原文没有提供独立调查材料。
这个案例最直接的教训是:从仓库里删掉凭据,不等于让凭据失效。 真正决定风险是否解除的,是认证系统是否撤销了它,以及它原先能访问多少资源。
把代码库关掉,能挡住谁
英国政府过去约 10 年默认公开使用公共资金开发的代码,目的包括提高透明度、支持其他机构复用、降低开发成本。卫生与社会关怀部、内政部和地方政府都采用了这一做法。
AI 加快漏洞发现后,公开代码政策开始受到质疑。报道提到,今年 5 月 NHS 据称要求技术团队逐步停止使用开源代码,英国政府也发布了讨论代码公开与漏洞风险的指导意见。不过,原文没有给出这些文件的具体范围,不能据此认定英国公共部门已经全面停止开源。
研究人员反对用关闭仓库代替修复。他的理由是,安全研究人员会失去检查入口,而潜在攻击者可能早已复制代码,仍能继续分析。
OpenUK 首席执行官 Amanda Brock 则认为,规划监察局事件源于公共工具使用和操作流程管理失当,不能归咎于开源软件本身。
两人的判断都指向维护责任:代码是否公开会影响发现问题的途径,凭据是否有效、权限是否受控,才直接决定漏洞能造成多大损失。
我的判断
我更认同先修复、再讨论公开边界的顺序。对已经泄露且仍有效的凭据,把仓库转为私有无法完成撤销,也无法收回别人保存的副本。
但「关闭代码库可能更糟」仍是有条件的判断。原文没有提供公开与私有仓库的攻击率对照,也没有证明攻击者已经复制这些仓库。它说明了风险路径,不能当作所有仓库都应公开的证据。
AI 的贡献也要放在正确位置。报道没有给出它与密钥扫描、静态分析、人工审计的对比数据。更合理的做法是把 AI 加入现有检查流程,并保留人工复核,而不是因为一次集中发现,就用它替换基础安全工具和维护投入。
能拿来做什么
- 在日常 AI 编程和代码审查中,可以让模型辅助检查凭据、认证和权限相关代码,但要人工确认发现是否真实、影响范围有多大。
- 如果前端或 Node 项目曾把有效凭据提交到 GitHub,应立即在对应服务中撤销或轮换,并排查使用记录;删除文件或改为私有仓库不能代替这一步。
- 对接 SharePoint、OneDrive 等服务时,应检查集成凭据的权限范围和有效期,避免单个业务功能持有覆盖整个机构数据的长期权限。
- 团队评估 AI 安全扫描时,应记录确认有效的发现、误报和复核耗时,再与现有工具比较,避免只凭「发现了多少问题」判断价值。