圈小蛙

编译即中毒:Rust基础库arrayref遭供应链投毒,黑客利用build.rs窃取开发者凭证

现代软件开发高度依赖第三方开源代码库,这使得针对包管理器的供应链投毒成为了黑客最为青睐的入侵通道。2026年8月20日,Rust 语言生态圈爆发了一起教科书级别的供应链安全事件。黑客成功劫持了 Rust 官方包托管平台 Crates.io 上的热门基础依赖库 arrayref 的维护者账号,并随之推送了被植入恶意逻辑的更新版本。

由于 arrayref 在大量的 Rust 项目中被用作处理数组引用的底层基础库,其下载量极大,受波及的开发者和企业规模正在持续扩大。根据Rust安全小组发布的官方安全通告显示,被污染的版本已经上线并开始向未加防范的下游项目渗透,安全专家建议相关开发团队立即挂起依赖更新并展开本地排查。

潜伏在 build.rs 中的杀机:编译即执行的攻击机理

与以往大多数在程序“运行时”才激活的恶意软件不同,这起针对 arrayref 库的投毒事件展现出了极强的隐蔽性与攻击主动性。

在 Rust 的构建系统 Cargo 中,如果一个依赖包包含 build.rs(构建脚本),Cargo 会在编译该包之前率先执行该脚本,以便进行系统平台检测或 C 语言库的链接。黑客正是利用了这一默认机制,恶意代码被直接写入了该库的构建脚本中。这意味着,受害者甚至不需要运行自己编写的程序,只要在终端中键入了一次 cargo build,甚至是用于语法检查的 cargo check 或单元测试的 cargo test,底层的恶意脚本就已经在开发者的本地主机上被悄然激活。

信息窃取木马落地:开发者凭证面临“洗劫”危机

当恶意构建脚本在开发者的机器上被触发后,它会立刻从远程服务器下载并释放针对特定操作系统的第二阶段有效载荷(Payload)。

据报道,该载荷是一款高度定制化的信息窃取木马(InfoStealer)。木马会在后台静默扫描开发者的系统目录,专门搜寻并打包浏览器缓存的登录密码、本地 Git 凭证、SSH 私钥文件、AWS 等云服务的 Access Key,以及可能保存在环境变量中的 API Token。随后,这些高度敏感的机密数据将被加密并回传给黑客控制的 C2 服务器。由于开发者通常在本地拥有较高的系统权限,且其电脑连接着企业的内部代码仓库和生产环境部署网关,这些凭证的流失极易引发后续更为严重的企业内网横向渗透与勒索攻击。

目前,Crates.io 官方管理团队已在第一时间封禁了涉事账号,并物理下架了已被证实受污染的 arrayref 软件版本。Rust 安全专家呼吁,所有在近期下载或更新过该库的开发者,应立即检查 Cargo.lock 文件中的依赖版本。如果确认曾拉取过受污染版本,不仅需要彻底清除本地的编译缓存,更应在隔离环境下立即重置可能已经暴露的本地所有 SSH Key 和云端密钥,以防范潜在的二次资产侵入风险。


本报道由 圈小蛙(qxwa.com) 科技资讯站特约撰稿。🐸️

Exit mobile version