Hacker News 中文摘要

RSS订阅

SHA1-Hulud再度来袭——Postman、Zapier、PostHog均通过NPM遭入侵 -- SHA1-Hulud the Second Comming – Postman, Zapier, PostHog All Compromised via NPM

文章摘要

黑客组织Shai Hulud再次发动供应链攻击,入侵了Zapier、ENS等多个知名平台的npm包。这是该组织在npm即将撤销经典令牌前的又一次攻击,延续了其自8月以来的攻击模式。安全团队发现恶意软件迹象后迅速展开调查,凸显了软件供应链安全的严峻形势。

文章总结

沙虫攻击再袭:Zapier、ENS等知名项目遭供应链攻击

事件概述

2025年11月24日,代号“沙虫”(Shai-Hulud)的恶意npm蠕虫发动第二轮大规模供应链攻击,波及Zapier、ENS、AsyncAPI、PostHog、Postman等492个热门npm包,累计月下载量达1.32亿次。攻击者利用npm即将撤销旧版令牌的窗口期,通过窃取开发者环境中的敏感信息(如API密钥、GitHub凭证)并上传至公开仓库,形成自我繁殖的传播链。


攻击时间线

  • 8月27日:首次披露针对nx包的S1ngularity攻击
  • 9月16日:攻击者发起首轮“沙虫”攻击。
  • 11月24日:第二轮攻击(攻击者自称“第二次降临”)在npm令牌撤销截止前爆发,主要时间节点:
    • 3:16 AM GMT:AsyncAPI的go-template等36个包首批被入侵。
    • 4:11 AM GMT:PostHog相关包遭篡改。
    • 5:09 AM GMT:Postman包被植入恶意代码。

攻击机制更新

  1. 技术升级

    • 通过setup_bun.js安装Bun运行时,执行恶意脚本bun_environment.js
    • 窃取数据后创建随机命名的GitHub仓库(描述为“Sha1-Hulud: The Second Coming”),已发现2.63万个公开仓库泄露敏感信息。
    • 若认证失败,会清空用户Home目录文件。
  2. 传播范围扩大

    • 本次攻击感染包数量从首轮的20个激增至100个。

受影响关键项目

  • AsyncAPI:CLI工具被植入恶意分支(代码示例)。
  • PostHog/Postman:分析工具和API开发工具的官方包遭篡改。
  • ENS/Zapier:以太坊域名服务及自动化平台的依赖包被利用。

安全建议

  1. 紧急处置

    • 检查所有npm依赖版本,禁用CI中的postinstall脚本。
    • 轮换GitHub、npm、云服务及CI/CD凭证。
  2. 长期防护

    • 启用npm和GitHub的多因素认证(MFA)。
    • 使用Safe-Chain等工具阻断恶意包安装。

攻击者失误

部分被入侵包仅包含初始脚本setup_bun.js,未捆绑核心蠕虫代码bun_environment.js,一定程度上限制了攻击扩散。


事件仍在持续更新,建议开发者密切关注后续动态。

(注:原文中的完整受影响包列表已精简,保留关键项目;技术代码片段因篇幅限制未完全呈现。)

评论总结

评论总结:

  1. 开发环境安全实践
  • 支持使用容器隔离开发环境:"I never do development outside of a podman container"(nathan_compton)
  • 建议使用PNPM替代NPM:"PNPM 10.x shutdown a lot of these attack vectors"(twistedpair)
  1. 包管理改进建议
  • 呼吁建立稳定的npm包流:"Perhaps it's time to organize a curated 'stable' stream for npm packages"(xnorswap)
  • 建议采用行业标准库:"What we need is an open source industry standard stdlib"(blackoil)
  1. 安全防护措施
  • 强调依赖最小化:"we had a change landed to remove more than a dozen dependencies"(benmccann)
  • 建议vendoring依赖:"this is why you should vendor your dependencies"(jhatemyjob)
  1. 事件影响评估
  • 指出Postman的安全风险:"it's effectively an unmanaged password manager"(leo_e)
  • 关注特定受影响包:"these packages stood out for me"(agentifysh)
  1. 平台响应建议
  • 呼吁GitHub采取行动:"github should implement a hotfix"(lukebechtel)

注:所有评论均未显示评分(None),主要反映开发者对npm生态安全问题的担忧和改进建议。