网络安全研究人员发现了两个恶意的Rust crate,它们冒充一个名为 fast_log 的合法库,目的是从源代码中窃取Solana和以太坊的钱包密钥。
据软件供应链安全公司Socket称,这些名为faster_log和async_println的代码包由威胁行为者分别以rustguruman和dumbnbased为别名于2025年5月25日发布,总下载量达8424次。
安全研究员基里尔·博伊琴科表示:“这些 crate 包含可运行的日志记录代码,其包含和嵌入程序会扫描 Solana 和以太坊的私钥源文件,然后通过 HTTP POST 将匹配结果发送到一个硬编码的命令与控制(C2)端点。”
在收到负责任的披露后,crates.io的维护者已采取措施移除这些Rust包并禁用了这两个账户。他们还保留了威胁行为者操控的用户日志以及恶意包,以备进一步分析。
Crates.io的沃尔特·皮尔斯表示:“当运行或测试依赖它们的项目时,这些恶意代码会在运行时执行。值得注意的是,它们在构建时不会执行任何恶意代码。除了恶意负载外,这些 crate 复制了合法 crate 的源代码、功能和文档,并使用与它们相似的名称。”
正如Socket所详述的,这场域名仿冒攻击中,威胁攻击者保留了实际库的日志功能,同时在日志打包操作期间植入恶意代码变更,这些变更会递归搜索目录中的Rust文件(*.rs),寻找以太坊和索拉纳的私钥以及带括号的字节数组,并将其泄露到一个Cloudflare Workers域名(“mainnet.solana-rpc-pool.workers[.]dev”)。
除了复制fast_log的README并将伪造 crate 的仓库字段设置为真实的GitHub项目外,使用“mainnet.solana-rpc-pool.workers[.]dev”是为了模仿Solana的主网测试版RPC端点“api.mainnet-beta.solana[.]com”。
根据crates.io的数据,这两个 crate 没有任何下游依赖 crate,用户也没有在 Rust 包注册表上发布其他 crate。截至撰写本文时,与 crates.io 发布者账户关联的 GitHub 账户仍可访问。GitHub 账户 dumbnbased 创建于2023年5月27日,而 rustguruman 直到2025年5月25日——也就是这两个 crate 上传的同一天才存在。
“这场攻击展示了少量代码和简单的欺骗手段如何制造供应链风险,”博伊琴科说。“一个功能正常的日志工具,配上熟悉的名称、抄袭的设计和说明文档,就能通过随意的审核,而其中一个小程序会将私人钱包密钥发送到由威胁 actor 控制的 C2 端点。不幸的是,这足以影响到开发者的笔记本电脑和持续集成系统。”
更新
与这些Rust crate相关联的GitHub账户均已无法访问。博伊琴科向《黑客新闻》表示,恶意代码在编译过程中或crate被下载时不会触发,只有当程序执行并触及相关代码路径时才会启动。
“这降低了意外暴露的风险,但并非‘低风险’。任何运行使用这些 crate 的代码的人都可能泄露敏感数据,”这位研究人员补充道。“我们尚未发现依赖这两个 crate 的公共项目,Rust 注册表中也没有列出下游 crate。这两个 crate 的下载量为 8424 次,这在 Rust 这样的较小生态系统中是有意义的,但下载量并不等同于采用者数量。”
(该报道在发布后进行了更新,加入了Socket的回应以及违规GitHub账户的最新状态。)
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。


评论