据TechRadar 10月22日报道,Anthropic利用Claude对25个主要开源项目进行安全分析,发现近500个安全问题,涉及C、C++、Java、PHP和Python代码,其中一些安全控制因配置冲突被关闭,还有漏洞在代码中潜伏了21年。
这25个项目代码量超过500万行。Claude梳理出17000多个配置选项,其中3842个与安全相关。Anthropic称,研究重点不是逐个寻找漏洞,而是识别不必要的代码暴露:默认配置下本不需要开放的功能、组合后削弱安全性的设置,以及安全检查前运行的高敏感代码。
分析显示,在11个被设计为服务已认证用户的项目中,都包含本不应被访问的代码。默认配置中存在93个认证前攻击面,37处代码在认证前执行,61种配置组合削弱了认证前控制。25个项目共出现162种配置组合,其文档未说明预期行为却被接受,部分情况下安全控制被禁用。
报道称,一个配置缺陷在代码中潜伏了21年。一个设置要求客户端通过证书证明身份,另一个设置却将其完全禁用,而后一个设置本应延迟检查而非取消检查;这两个冲突选项被接受且没有警告。
Anthropic以OpenSSH为案例。OpenSSH的一个守护进程在检查服务器配置是否允许之前,就能触达约4500行实验性代码,这些代码实现一种后量子签名算法。该算法默认禁用,但其解析代码可被未认证客户端访问。Anthropic向OpenSSH披露后,OpenSSH在10.6版本中修复,约20%的代码不再能被未认证客户端触达。
Anthropic表示,已将相关技术整合为可复用的Claude技能,并将很快接入其面向开源项目的免费可选扫描服务OSS-Scanner。该技能将检查默认配置、安全检查前可触达的代码以及相互冲突的设置,并通过动态程序追踪验证发现,针对现有行为测试拟议修改;可能造成破坏的改动将留给人工审查。研究人员称,或许无法衡量任意代码库中有多少未知漏洞,但已有数据表明,攻击者有足够时间找到它们,尤其是配备前沿AI模型时。