仅限 Stage 环境的 npm 令牌,实现更安全的自动化

npm 新增“仅暂存”粒度的访问令牌,自动化流程只能提交待审版本,无法直接发布到 npm registry。这为仍依赖令牌做 CI/CD 发布的团队提供了一条过渡路径。

一句话看懂:npm 新增“仅暂存”粒度的访问令牌,自动化流程只能提交待审版本,无法直接发布到 npm registry。这为仍依赖令牌做 CI/CD 发布的团队提供了一条过渡路径。

事件核心:发生了什么

GitHub Changelog 在 2026 年 9 月 18 日发布更新:在创建 npm 细粒度访问令牌时,开发者现在可以选择 “Read and write (stage only)”(只读加暂存写入)。使用该令牌的工作流需通过 npm stage publish 提交版本,再由包维护者用双因素认证(2FA)审核批准。npm 会拒绝该令牌直接执行 npm publish,即便已为自动化配置了绕过 2FA。

需要注意的是,stage-only 令牌仍保留其他包写权限,包括移动 dist-tags 和弃用版本,因此仍应按写令牌级别保护。此次发布为可选功能,不会改变现有令牌的直接发布能力。npm 此前已公告,计划在 2027 年 1 月移除通过绕过 2FA 令牌直接发布的方式。

为什么重要

npm 生态长期依赖 CI 令牌完成包发布,令牌一旦泄露,攻击者可绕过人工审核直接投毒,引发供应链安全事件。stage-only 令牌把“提交”与“发布”拆成两步,在自动化效率与人工确认之间建立缓冲带。它也是 npm 推动 trusted publishing 的过渡方案:无法立即迁移的团队可先降级令牌权限,减少自动化误发或恶意发布的风险。对整个 JavaScript 开源与闭源生态而言,这属于供应链治理的渐进式收紧。

对用户/开发者/创作者的影响

维护 npm 包的开发者需要调整 CI 流程:创建带 stage-only 权限的细粒度令牌,把发布命令替换为 npm stage publish,并安排维护者用 2FA 审批。门槛包括:拥有该包的发布权限、账号启用 2FA、npm CLI 11.15.0 及以上、Node.js 22.14.0 及以上。暂存发布对现有 npm 包可用。普通使用 npm 安装依赖的用户不会感受到直接变化,但可能间接受益于更少的供应链投毒事件。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

值得关注的后续

一是 2027 年 1 月停止绕过 2FA 直接发布的时间表是否会调整;二是 trusted publishing 在主流 CI 平台上的落地速度,是否让 stage-only 只是短期过渡;三是社区是否会反馈迁移动blocker,例如多包仓库批量审批带来的维护负担。

来源:GitHub Changelog

celebrityanime
celebrityanime
文章: 24293

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注