NPM安全

NPM安全

NPM安全

NPM安全是指围绕NPM(Node Package Manager)生态系统的安全实践、事件和防御措施。作为全球最大的开源软件注册中心,NPM是供应链攻击的主要目标之一。

主要威胁

  • 账号盗用:通过[[定向社交工程攻击]]盗取核心维护者账号,如2026年3月的[[axios]]投毒事件
  • 恶意包发布:攻击者发布包含恶意代码的包,伪装成合法库
  • 依赖混淆:利用私有包和公共包命名冲突进行攻击
  • 会话劫持:通过RAT窃取开发者本地凭证

安全措施

  • 强制2FA:NPM要求高下载量包的维护者开启双因素认证
  • 快速响应机制:与社区协作,在发现攻击后迅速下架恶意包
  • 推动OIDC:鼓励使用[[oidc]](OpenID Connect)替代本地长期凭证
  • 硬件密钥支持:推动[[fido2]]/YubiKey等硬件安全密钥的使用

最佳实践

  • 废除本地长期Token,将发布权限移交到CI/CD中
  • 使用短期、基于密码学签名的认证流程
  • 实施流水线不可变与多签机制
  • 保持[[零信任心态]]

相关概念

  • [[开源供应链安全]] — 开源软件供应链的整体安全框架
  • [[定向社交工程攻击]] — 针对开发者的社交工程攻击手法
  • [[会话劫持]] — 攻击者窃取登录凭证绕过认证的技术
分享到