钱包

黑客在受欢迎的以太坊开发工具中插入恶意代码,安装量达6,000次

黑客在受欢迎的以太坊开发工具中插入恶意代码,安装量达6,000次

ReversingLabs 的网络安全研究人员在大约 6,000 名开发者使用的开源 以太坊开发工具包ETHCode的更新中发现了两行恶意代码。恶意代码通过一个 GitHub 拉取请求插入,成功绕过了人工智能安全审查和人工监督,然后分发到开发者系统。


需要了解的内容:

  • 一名没有事先 GitHub 记录的黑客通过一个包含 4,000 行更新的 43 次提交拉取请求向 ETHCode 插入了恶意软件
  • 恶意代码旨在下载并执行可能会窃取加密货币资产或妥协智能合约的脚本
  • GitHub 的 AI 审查员和开发团队均未能检测到这一复杂攻击,这引发了对开源安全实践的担忧

调查揭开攻击细节

恶意拉取请求于 6 月 17 日由用户 Airez299 提交,该用户在平台上没有以前的贡献历史。ReversingLabs 研究人员发现攻击者通过将恶意代码命名为类似现有文件的名称,并对实际代码结构进行混淆,从而成功地隐藏了恶意代码。

第一行恶意代码旨在与合法文件无缝融合。第二行则作为激活机制,最终创建一个 PowerShell 函数,旨在从公共文件托管服务下载并执行批处理脚本。

GitHub的自动化AI审查员和负责维护ETHCode的7finney小组的成员分析了大型代码更新。审查过程中仅请求了微小变更,人工审查员和自动化系统都没有将嵌入的恶意软件标记为可疑。

对成千上万系统的潜在影响

ETHCode 是一个全面的工具套件,使以太坊开发者能够构建和部署兼容以太坊虚拟机的智能合约。受损的更新将通过标准更新机制自动分发到用户系统。

ReversingLabs 研究员 Petar Kirhmajer 向 Decrypt 透露,该公司没有证据表明恶意代码实际被执行以窃取代币或数据。然而,考虑到该工具的用户群,攻击的潜在范围依然显著。

Kirhmajer 在研究博客中指出:“拉取请求可能已经传播到数千个开发者系统。” ReversingLabs 继续调查下载脚本的确切功能,假设它们“旨在窃取存储在受害者计算机上的加密资产,或者,妥协由扩展用户开发的以太坊合约。”

该攻击代表了一种复杂的供应链妥协,利用了开源开发过程中固有的信任。

行业专家警告广泛的漏洞

以太坊开发者和 NUMBER GROUP 联合创始人 Zak Cole 强调,这种类型的攻击反映了加密货币开发生态系统面临的更广泛的安全挑战。许多开发者在没有进行彻底安全审查的情况下安装开源包。

“有人插入恶意代码实在是太容易了,” Cole 向 Decrypt 表示。“可能是个npm包,一个浏览器扩展,无论。”

加密货币行业对开源开发的严重依赖,给恶意行为者创造了越来越大的攻击面。Cole 指出包括2023年12月的 Ledger Connect Kit 漏洞利用事件和在Solana的web3.js库中发现的恶意软件等最近的高调事件。

“代码太多而眼睛不够,” Cole 补充道。“大多数人只是认为东西是安全的,因为它受欢迎或者存在了一段时间,但这没有任何意义。”

Cole 指出,随着越来越多的开发者采用开源工具,可处理的攻击面继续扩大。他还强调了国家赞助演员在这些攻击中的参与。

“还要记住,有整个仓库的DPRK特工,他们全职工作就是执行这些利用,” Cole 说。

开发者的安全建议

尽管攻击性质复杂,安全专家相信成功的妥协仍然相对罕见。基于他的研究经验,Kirkmajer 估计“成功的尝试非常罕见”。

ReversingLabs 建议开发者在下载或实施更新之前验证代码贡献者的身份和贡献历史。该公司还建议审查 package.json 文件和类似的依赖声明,以评估新的代码关系。

Cole 倡导额外的安全措施,包括依赖锁定,以防止自动包含未经测试的代码更新。他建议使用自动扫描工具,可以识别可疑行为模式或可疑维护者资料。

开发者还应监视突然更改单个拥有者或发布意外更新的包。Cole 强调保持不同开发活动环境独立的重要性。

“还不要在用来构建东西的同一台机器上运行签名工具或钱包,”Cole 总结道。“只是假定没有经过检查或沙箱测试的东西都是不安全的。”

结束语

该事件突显了开源加密货币开发所面临的持续安全挑战,其中复杂的攻击者可以利用信任机制将恶意软件分发到成千上万的开发者系统。虽然没有证据表明恶意代码被成功执行,但这次攻击展示了在加密货币开发生态系统中需加强安全实践和验证过程。

免责声明: 本文提供的信息仅用于教育目的,不应被视为财务或法律建议。在处理加密货币资产时,请务必自行研究或咨询专业人士。
相关新闻
相关学习文章