以太坊智能合约暗藏陷阱!npm 套件被植入针对开发者的恶意程式

安全研究人员警告,一种新型攻击正悄悄利用 以太坊智能合约 作为命令与控制(C2)通道,将恶意软体隐藏在看似无害的 npm JavaScript 套件中,专门针对开发者电脑下手。这种方法不仅增加了追踪与移除的难度,还利用区块链的不可变性与公开性,让防御方更难封锁。

恶意 npm 套件如何利用以太坊传递攻击指令

ReversingLabs 发现,两个名为 colortoolsv2 和 mimelib2 的 npm 套件会读取以太坊上的特定智能合约,以获取二阶段恶意下载器的 URL,而不是将基础设施硬编码在套件中。

这种设计降低了静态检测的可能性,并在程式码审查中留下更少线索。虽然这两个套件的下载量极低(分别为 7 次与 1 次),但其攻击思路对供应链安全构成了重大威胁。

GitHub 伪装与社交工程引导安装

调查显示,这些恶意套件的推广来自一个伪装成交易机器人的 GitHub 储存库网络,例如 solana-trading-bot-v2。

攻击者透过虚假星标、夸大的提交历史与傀儡维护者帐号,诱导开发者在不经意间安装恶意依赖。

这种方法与 2024 年末的 npm 网域抢注攻击如出一辙,当时数百个套件在安装阶段会查询以太坊合约,取得基础 URL,再下载针对 Windows、Linux、macOS 的恶意可执行档。

链上命令通道的技术细节

安全公司 Checkmarx 与 Phylum 发现,攻击者使用的核心合约地址为 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b,并透过 ethers.js 调用 getString(address) 取得最新的 C2 伺服器地址。

这些 C2 节点包括 45.125.67.172:1337 与 193.233.201.21:3001,会随时间变动以躲避封锁。

由于智能合约资料不可删改,这种链上存储方式比传统的 GitHub Gist 或云端储存更难被下架。

防御建议:阻断生命周期脚本与网路请求

专家建议,开发团队应在 npm 安装与 CI 流程中启用 --ignore-scripts 参数,防止恶意生命周期脚本自动执行,并透过锁定档案固定套件版本。

同时,应在防火墙或安全代理中封锁已知恶意 IP 与合约地址,并监控建置日志中对 getString(address) 的可疑呼叫。

Node.js 官方安全指南也建议对维护者身份与套件元资料进行更严格的审核,以降低供应链攻击风险。

结语

虽然这次事件影响的下载量不大,但它揭示了一种更隐蔽且难以防御的攻击模式——利用区块链作为持久化命令通道,结合社交工程与开源供应链渗透,对开发者与企业构成长期威胁。未来,链上恶意软体与传统供应链攻击的结合,可能成为资安领域的新常态。

ETH-0.35%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)