Shai-Hulud npm 蠕虫并未伪造安全检查——它通过... 笔记

Shai-Hulud npm 蠕虫并未伪造安全检查——它通过合法途径获得了认证”

近期,一名攻击者入侵了一位知名开发者的 GitHub 账户,导致关键库 keyv 及相关 npm 包发布了恶意版本。这些被投毒的包包含一个窃取凭证的蠕虫,迅速传播,影响了数千个包,月安装量达数十亿。此次攻击令人担忧,因为恶意发布最初拥有有效的来源签名,使其看似合法。该事件与近期关于针对开发者生态系统直接演变的软件供应链攻击的预测相吻合。该蠕虫获取来源证明的方法是通过被入侵的 GitHub Actions 工作流推送恶意代码,生成真实的验证声明。其广泛影响发生在载荷窃取凭证并利用这些凭证为受害者控制的其他包植入后门之时。该活动利用传递依赖关系感染被大型组织使用的包,即使这些组织并未直接安装被入侵的库。该恶意软件的最终目标是窃取云访问密钥和生产基础设施令牌。除了窃取凭证外,该蠕虫还在开发者工具(如 Visual Studio Code)和 AI 编程助手等工具中安装了持久化载荷,以实现持续执行。专家建议,延迟依赖更新以使用稍旧版本可显著降低此类风险,该功能现已在 npm 和 pnpm 中可用。正如 CISA 目录所强调的,及时修补正在被利用的漏洞也至关重要。GitHub 已实施诸如强制双因素认证等防御措施,并在更新的 npm 版本中默认禁用预安装脚本,但账户接管仍是主要漏洞。行业正转向对软件安全的合同义务,将责任置于供应商和维护者身上。应对此类攻击需要治理决策,例如强制实施来源证明和可信发布、为依赖项设定最低发布年龄要求,以及强制使用较新版本的 npm。此次攻击凸显,身份治理(而不仅仅是包来源证明)是一个关键弱点,攻击者是通过登录而非入侵系统。此类攻击的最终目的地是云端,供应链 compromise 正成为犯罪活动日益增长的路径。
CdXz5zHNQW_mWCCZDcwW9.png