🟡 🛡️ 安全 发布于: · 2 分钟阅读 ·

GitHub:npm为高影响力账户引入72小时预防性保护

编辑插图:带有保护时间窗口和安全盾的npm标志,无人脸和文字

GitHub npm现在在敏感变更时对高影响力账户施加72小时只读保护,通过阻止令牌颁发和包发布来防止对开源生态系统的供应链攻击。

🤖

本文由人工智能基于一手来源生成。

什么是供应链攻击,为何npm是目标?

供应链攻击——恶意行为者攻破热门开源包并注入自动传播至数百万使用该包的项目的恶意代码——是现代软件开发最危险的威胁之一。npm(Node包管理器)拥有超过250万个包,是特别具有吸引力的攻击目标:攻击一个热门包可能同时危及全球数千个应用程序。此前,在账户被盗访问和发布恶意包之间不存在任何保护窗口。

新措施:72小时只读保护

GitHub于2026年6月25日宣布,npm现在对高影响力账户——其包具有极大下载量和生态系统覆盖面的账户——实施72小时只读保护。当发生两项敏感操作时会自动触发保护:更改电子邮件地址或修改2FA恢复码。这两个节点正是攻击者企图控制他人账户的经典攻击目标。

保护窗口期间阻止哪些操作?

在72小时窗口期间,账户无法:

  • 铸造(颁发)新的API令牌用于自动发布
  • 发布包或现有包的新版本

合法账户所有者会收到通知,有足够时间做出响应——无论更改是计划中的还是账户被盗访问的结果。窗口到期且没有进一步安全信号后,访问权限恢复正常运行。

与旧状态的对比

在此变更之前,成功控制npm账户的攻击者可以立即发布恶意包——没有任何延迟或向社区发出警告。现在存在一个结构性障碍,即使攻击者持有有效凭据,也有72小时用于发现和修复。这是供应链防御的质的转变:从响应式(恶意包发布后删除)转向预防式(在验证账户完整性期间阻止发布)。

常见问题

什么是npm供应链攻击?
供应链攻击是指恶意行为者控制热门开源包并注入恶意代码,该代码会自动传播到所有使用该包的项目中。
哪些操作会触发72小时保护?
当更改电子邮件地址或2FA恢复码时会触发保护——这两个节点是攻击者为控制账户而重点攻击的目标。