网络安全

Rust 软件包遭入侵,在开发者设备上植入信息窃取恶意软件

Rust 软件包维护账户遭到入侵,导致 arrayref 和另外两个软件包发布恶意版本,并在构建过程中运行恶意软件。该软件针对系统数据和浏览器凭据,建议在暴露窗口期间使用过受影响版本的开发者重新构建环境并轮换密钥。

2026-08-20
2 分钟阅读
12 浏览量
فريق تحرير certi.news
Rust 软件包遭入侵,在开发者设备上植入信息窃取恶意软件

攻击者利用与知名 Rust 软件包 arrayref 相关的维护账户,发布了会在项目构建过程中于开发者设备上运行恶意软件的恶意版本。在不超过 23 分钟的时间窗口内,该行动还波及 append-only-vecinternment 两个软件包,构成了一起软件供应链攻击。

StepSecurity 表示,受影响的版本为 arrayref 0.3.10、append-only-vec 0.1.9 和 internment 0.8.7,这三个软件包均由同一账户管理。arrayref 的使用范围很广,在过去 90 天内下载量超过 5300 万次,累计下载量超过 2.45 亿次。它被用于与加密、图形和 Rust 图形界面相关的项目与工具中,也被用于 Ethereum 和 Solana 生态系统中的组件。

攻击是如何实施的?

攻击者添加了一个名为 proc-macro1 的依赖项,该软件包冒用了知名软件包 proc-macro2 的名称。大部分原始软件包源代码未发生变化,这使得仅审查代码差异的人更难发现篡改。

proc-macro1 包含一个会在构建过程中自动执行的 build.rs 文件。该文件从经过 Base64 编码的片段中重新组装恶意结构的组件,然后为操作系统选择合适的有效载荷,包括采用 x86-64 和 ARM64 架构的 Linux、Windows 和 macOS。在 Unix 系统上,有效载荷会被写入 /tmp/rust-setup 并作为独立进程运行;而在 Windows 上,攻击会在 TEMP 文件夹中创建名为 rust-setup.ps1 的文件,并使用 wscript.exe 和 VBS 格式的脚本保持进程运行。

该恶意软件能够窃取什么?

根据 Wiz 的分析,第二阶段会收集主机信息和凭据。该恶意软件会从 Google Chrome、Brave 和 Edge 浏览器的 SQLite 数据库中提取登录数据。它还会通过 Windows 中的 Registry Run、macOS 中的 LaunchAgent 以及 Linux 中的 systemd 建立持久化机制。有效载荷会接收一个作为参数传入的地址,据推测这是命令与控制服务器的地址。

时间线及其对开发者的意义

这场活动于 2026 年 8 月 20 日 01:17(世界协调时间)开始:攻击者创建了一个冒充知名 Rust 开发者 David Tolnay 的 GitHub 账户,随后又在 crates.io 创建了一个类似账户。proc-macro1 的正常版本于 01:55 发布,恶意版本 1.0.107 随后于 07:11 发布。四分钟后,攻击者通过与 David Roundy 相关联的合法账户 droundy 发布了 arrayref 0.3.10,同时移除了 0.3.5 至 0.3.9 版本,这可能会促使安装工具选择恶意版本。

该事件于 07:54 被报告,crates.io 于 08:03 删除了 proc-macro1 软件包,并于 08:41 从索引中移除了 arrayref 0.3.10。其他软件包的恶意版本也被删除,这些软件包包括 aovine、arone、aronenao 和 tinymember。

响应措施

在接近一个半小时的暴露窗口期间安装过受影响版本的人员,应将相关环境视为已遭入侵。审查工作包括在 Cargo.lock 文件中搜索可疑版本、核查被写入的文件,以及检查是否通过 9089 和 443 端口连接到地址 23.254.165[.]112。确认遭到入侵后,分析建议轮换所有凭据、CI 令牌、签名密钥和其他机密,然后使用可信备份重新构建环境。对于未受影响的项目,应固定使用已知安全的版本,直至维护账户的状况明确为止。

新闻来源
BleepingComputer
查看原始来源 ↗
ف
作者

فريق تحرير certi.news

同一分类

你可能还喜欢

查看所有新闻