NPM安全
NPM安全是指围绕NPM(Node Package Manager)生态系统的安全实践、事件和防御措施。作为全球最大的开源软件注册中心,NPM是供应链攻击的主要目标之一。
主要威胁
- 账号盗用:通过[[定向社交工程攻击]]盗取核心维护者账号,如2026年3月的[[axios]]投毒事件
- 恶意包发布:攻击者发布包含恶意代码的包,伪装成合法库
- 依赖混淆:利用私有包和公共包命名冲突进行攻击
- 会话劫持:通过RAT窃取开发者本地凭证
安全措施
- 强制2FA:NPM要求高下载量包的维护者开启双因素认证
- 快速响应机制:与社区协作,在发现攻击后迅速下架恶意包
- 推动OIDC:鼓励使用[[oidc]](OpenID Connect)替代本地长期凭证
- 硬件密钥支持:推动[[fido2]]/YubiKey等硬件安全密钥的使用
最佳实践
- 废除本地长期Token,将发布权限移交到CI/CD中
- 使用短期、基于密码学签名的认证流程
- 实施流水线不可变与多签机制
- 保持[[零信任心态]]
相关概念
- [[开源供应链安全]] — 开源软件供应链的整体安全框架
- [[定向社交工程攻击]] — 针对开发者的社交工程攻击手法
- [[会话劫持]] — 攻击者窃取登录凭证绕过认证的技术