针对arrayref的供应链攻击

针对arrayref的供应链攻击

💡 原文英文,约300词,阅读约需2分钟。
📝

内容提要

Rust安全团队发现proc-macro1等恶意crate,其构建脚本下载恶意负载,已删除相关crate。同时发现arrayref等流行crate被恶意重发布,已移除恶意版本并恢复被恶意撤销的版本,锁定作者账户。建议用户检查本地依赖,并提供了检查命令。感谢Nextron Systems等团队报告。

🔎

延伸解读

供应链攻击的典型手法

此次攻击中,恶意crate通过构建脚本在编译时下载恶意负载,属于典型的供应链攻击。攻击者还利用被攻陷的账户重发布流行crate(如arrayref),并使其依赖恶意crate,从而扩大传播范围。这种手法隐蔽性强,开发者难以察觉,提醒我们需关注依赖来源的可靠性。

对开发者的实际影响与应对

受影响的crate版本已被删除,但开发者本地可能仍缓存了这些恶意版本。建议立即使用文中提供的find命令检查本地cargo缓存,确认是否包含列出的恶意crate。若发现存在,应删除相关文件并更新依赖至安全版本,同时留意项目是否被引入恶意代码。

账户安全与生态信任

事件中arrayref作者账户疑似被入侵,导致其名下多个crate被篡改。这凸显了维护者账户安全的重要性,建议启用双因素认证并定期检查账户活动。同时,crates.io团队锁定账户并恢复被恶意撤销的版本,体现了生态对安全事件的响应机制,但开发者仍需保持警惕。

Q&A

Rust安全团队在2026年8月20日收到了什么报告?

Rust安全团队收到报告称proc-macro1 crate是恶意的,其构建脚本会下载恶意负载。

哪些恶意crate被删除了?

被删除的恶意crate包括proc-macro1、proc-macro-en、aovine、arone、aronenao和tinymember。

arrayref crate发生了什么问题?

arrayref crate被恶意重发布,并依赖了恶意crate proc-macro1。恶意版本已被移除,被恶意撤销的版本已恢复。

除了arrayref,还有哪些crate受到影响?

其他受影响的crate包括internment和append-only-vec,它们也由同一作者发布,同样被恶意重发布。

如何检查本地是否使用了恶意版本的crate?

可以运行命令:find ~/.cargo/registry/cache -type f \( -name 'append-only-vec-0.1.9.crate' -o -name 'arrayref-0.3.10.crate' -o -name 'internment-0.8.7.crate' -o -name 'proc-macro1-*.crate' -o -name 'proc-macro-en-*.crate' -o -name 'aovine-*.crate' -o -name 'arone-*.crate' -o -name 'aronenao-*.crate' -o -name 'tinymember-*.crate' \) -print

Rust安全团队对arrayref作者采取了什么措施?

团队锁定了arrayref作者的账户作为预防措施,并尝试联系作者,认为其电脑或凭据可能被入侵。

谁报告了这次供应链攻击?

Nextron Systems GmbH的研究团队最初发现了这次攻击并向Rust安全团队报告。

🏷️

标签

➡️

继续阅读