以太坊智能合约变身 C2?新型 npm 供应链攻击全程复盘

·

2024 年 10 月底,一个名为 haski 的 npm 包在短短数天内席卷大量开发者电脑。攻击者首次把 以太坊智能合约 用作动态、公开的 C2 地址服务,远控木马随之潜伏。本篇文章将时空压缩还原这起软件供应链攻击细节,提炼可行防御措施,并给出可落地的排查清单。

事件时间轴

攻击者原先仅在本地 PyPI、Docker Hub 小范围测试,真正“放大招”却选在 npm 生态最火热的时间段,目的清晰:抢占开源供应链信任链路。

恶意包如何欺骗开发者

  1. 名称 typo 抢占

    • has**k**i ≈ husky
    • puppeteerfox ≈ puppeteer
  2. 元数据伪造

    • description、repository、homepage 字段与正版一致
    • 新增两个隐性依赖 axios + ethers 为智能合约交互铺路
  3. postinstall 钩子
    所有受害工程只要 npm install 即触发随机字符命名的 .cjs 脚本,零交互、高成功率。

混淆脚本揭秘:三步植入远控

反混淆后的核心代码高度集中,可拆成三步:

  1. 通过以太坊 智能合约 调用公开函数 getString() 拿动态 C2
  2. 判断平台拉取匹配 payload

    • node-macos、node-linux、node-win.exe
  3. 静默后台执行并设启动项

由于 getString() 调用无需签名、不消耗 gas,攻击者可随时上链改地址,沙箱、IPS、域名黑名单统统失效。
👉 查看不受链上地址影响的实时监控思路

智能合约地址深度漫游

全部交易公开可查,安全团队据此迅速锁定最早受控 IP。毕竟区块链不可篡改,这是分析人员手中一把“双刃剑”。

Linux 木马功能速览

天穹沙箱显示 node-linux 具备以下行为:

一句话总结:拿到 194.53.54.188:3001,等于拿到当前受害者完整 shell 权限。

关键词:供应链攻击、npm、以太坊、智能合约、typosquatting、远控木马

下文将用场景问答方式,高密度融入上述关键词,让搜索引擎一眼看懂。

FAQ:供应链攻击防御与排查

Q1:如何快速检测仓库是否被投毒?
A:运行 npm audit 后对峙文件 SHA1;或直接对比 node-modules/*/package.json 中任何含 postinstall/preinstall 字段的包。

Q2:以太坊智能合约地址能否一键拉黑?
A:传统网络封堵失效,但可以把 getString() 返回的域名/IP 作为威胁情报节点,引入 DNS sinkhole、EDR 字段实时黑名单。

Q3:开发者个人如何防御 typosquatting?
A:强制 package-lock.json 锁版本;安装 package-name-diff 这类 VSCode 插件实时提醒拼写差异。

Q4:CI/CD 流程能否拦截?
A:在流水线加入 链上地址无关的实时监控思路,结合 GitHub Actions Egress Policy 限定可访问 IP,阻断恶意拉取。

Q5:开源组件如何确认智能合约被正常调用?
A:通过开源项目 eth-call-check 白名单去只放行 project wallet 地址,任何异常合约地址即报警。

Q6:误装了恶意包如何彻底清除?
A:删除 node_modulespackage-lock.jsonnpm cache clean --force,再 npm install 自可信镜像。Linux/macOS 还需 launchctl list 与 crontab 手动巡查是否残留自启。

事件溯源与画像

俄语报错 Ошибка установки 多次出现,C2 托管在俄罗斯主机商 iHor。结合时间及邮箱命名机械化特征,可推断背后团队具备:

他们的目的并非炫技,而是 精准渗透商业 CI/CD 系统,为后续勒索或数据窃取埋下长期据点。

防御总结:四步走

  1. 包管理层面

    • 使用私有仓库 + LFS 私钥签名校验
  2. 代码审计层面

    • 引入 AST 反混淆,自动分析 eval/Function(bool) 调用
  3. 运行时层面

    • EDR 对 ethers 库对外 RPC 调用进行策略限速
  4. 威胁情报层面

    • 实时监控以太坊合约地址变更,配合 STIX 格式报告自动封禁新产生的域名

供应链攻击没有终点,只有不断进化的手法。 ether、Solana、BSC 通通可能成为下一块跳板。👇

👉 一键生成你的中间件安全自测清单

IOC 速查

遇到以上任意 IOC,请立即更新 SIEM、代理网关或主机卫士规则,把供应链攻击风险阻断在第一次安装之前。