npm 通过 OIDC 的可信发布现已普遍可用 — 为 JavaScript 包提供更安全的 CI/CD 发布

Node.jsDevOps安全CI/CD

关键更新

npm(通过 GitHub/npm 平台)已使 OpenID Connect (OIDC) 的“可信发布”普遍可用。CI 系统现在可以在不嵌入长期有效的 npm 令牌的情况下发布包:您可以配置您的注册表以接受来自特定 GitHub Actions/GitLab CI 工作流或其他 OIDC 兼容运行器的短期 OIDC 断言,注册表会为该工作流运行发放一个临时发布凭证。

重要性

这是近年来对 JavaScript 供应链安全的最实用的部署级改进之一。长期有效的自动化令牌是 CI/CD 秘密泄露或攻击者从被攻陷的运行器转向包发布的常见根本原因;切换到 OIDC 可以将这种持久凭证移出您的管道,并使自动发布更难以滥用。对于开发团队和平台工程师来说,立即的高价值行动易于规划且测试摩擦小:将发布作业迁移到启用 OIDC 的工作流,更新包/组织发布设置以仅信任这些工作流,轮换并淘汰仅由 CI 使用的现有 npm 令牌,并保持对人工发布操作强制实施交互式 2FA。这减少了被盗 CI 凭证的影响范围,并补充了其他防御措施(SBOMs、sigstore/Sigstore 来源、秘密扫描和严格的 2FA 政策)——但并不能消除保护维护者账户和防范钓鱼的必要性。如果您从 CI 发布包,请在下一个冲刺中优先考虑分阶段迁移:将单个管道转换为 OIDC,验证工件来源和自动发布,然后从您的秘密存储中移除令牌,并对剩余管道重复此操作。

来源

继续阅读