Andreessen Horowitz网络安全合伙人Joel de la Garza、AI基础设施投资人Malika Aubakirova和管理合伙人Jane Lakhy。图片来源:当事人发布于LinkedIn的照片,经Gemini编辑整理

开源JavaScript生态中的关键HTTP请求库Axios近期遭遇供应链攻击,再次引发业界对AI编程时代软件供应链安全的担忧。Axios每周下载量超过1亿次,攻击者几乎不必改动源代码,就展示出将恶意程序传播至大规模设备的可能性。

此次攻击路径并不复杂,核心分为三步:先窃取维护者账号,再向软件包中加入一个新的依赖包,最后发布更新版本。

被加入的依赖包名为plain-crypto-js,注册时间距离攻击发生仅数小时。该软件包在安装过程中会识别操作系统,随后下载并执行定制化远程访问木马,并在完成后删除痕迹。等开发者查看node_modules目录时,这一恶意包往往已经消失,但恶意代码已与攻击者服务器建立连接。

更值得警惕的是,这类攻击并不容易被传统安全工具及时识别。业内普遍使用的软件成分分析工具(SCA)主要依赖与已知漏洞数据库(CVE)进行比对,但对于刚刚出现的恶意包,这种方式往往难以及时发现。即便对被篡改的Axios版本运行npm audit,结果仍显示“未发现问题”。

Andreessen Horowitz网络安全合伙人Joel de la Garza、AI基础设施投资人Malika Aubakirova和管理合伙人Jane Lakhy指出,攻击手法本身并不复杂,但波及面极广,这表明在AI编程快速普及的背景下,软件供应链风险正在持续上升。

在他们看来,提升开发效率的AI编程工具,也在同步放大供应链的脆弱性。一项针对数千个GitHub仓库、超过11.7万次依赖变更的研究显示,AI代理选择含有已知漏洞版本的概率,比人类开发者高出50%。研究还指出,AI选中的脆弱版本往往更难修复,很多情况下需要对整套代码进行大规模升级。

与此同时,一种名为slopsquatting的新型攻击方式也在升温。其基本逻辑是,大语言模型经常虚构并不存在的软件包名称,攻击者则抢先注册这些名字并植入恶意代码。相关研究显示,AI推荐的软件包中,约20%在现实中并不存在;其中43%即使在多次提问后,仍会重复出现同一名称,这为攻击者提供了可乘之机。

AI编程代理同样带来新的安全风险。此类代理可以在几乎无需人工干预的情况下自动安装依赖、执行构建并提交Pull Request,但其优化目标往往只是让程序运行起来,而非评估依赖是否安全,这使得安全审查时间被大幅压缩。

除Axios事件外,名为TeamPCP的攻击活动也进一步放大了供应链攻击的连锁效应,影响范围甚至超过前者。该事件的起点是开源漏洞扫描器Trivy。攻击者利用GitHub Actions工作流配置错误窃取访问令牌,并借此向Trivy几乎所有版本标签对应的发布流程中注入恶意代码。

这意味着,用户在下载Trivy进行安全检测时,可能在毫不知情的情况下执行了被植入的恶意代码。相关恶意程序会窃取自动化开发环境中的多类访问凭证,包括服务器登录密钥、云服务认证信息以及软件包发布权限等。用于访问npm的令牌也被盗取,并被用于后续攻击。

上述作者表示,这场从单一令牌泄露开始的攻击,在8天内波及GitHub Actions、Docker Hub、npm、PyPI以及VS Code扩展市场,潜在影响范围覆盖数千家组织。

他们认为,在AI编程时代,应对不断上升的软件供应链风险,关键在于显著提升检测速度。代码生产已经进入“机器级速度”,如果防御体系跟不上,负责发布代码的自动化系统也可能把恶意程序一并发布出去。

但从行业现状看,供应链入侵的检测效率依然偏低。业内平均发现一次供应链入侵需要267天;SolarWinds事件耗时14个月才被发现,XZ工具链事件则用了两年。

在这一背景下,安全初创公司Socket的表现受到关注。其在恶意依赖包发布后6分钟内即完成识别,速度约为行业平均水平的6.3万倍;更早在被篡改的Axios版本首次发布前16分钟,Socket就已先行识别出恶意软件包本身。

据介绍,Socket采用了不同于传统SCA的检测思路:不依赖与CVE数据库进行比对,而是直接分析代码实际行为,例如是否访问网络、是否启动Shell进程、是否对载荷进行混淆、是否读取环境变量等。正因如此,即便是没有CVE记录、也没有历史先例的新型恶意包,也有机会被提前识别。

作者强调,领先团队的共同点在于,不是等到外部通报后再响应,而是将安全控制前移到依赖进入构建流程的那一刻;同时也不再仅仅依赖CVE数据库,而是持续分析软件包的真实行为,并把依赖图视为需要动态监测的攻击面,而不是一份静态的库清单。

关键词

#Axios #软件供应链安全 #恶意依赖包 #CVE #SCA #slopsquatting #GitHub Actions #npm #PyPI #Socket
版权所有 © DigitalToday。未经授权禁止转载或传播。