GitHub、npm の Trusted Publishing を1パッケージに複数設定できるように
GitHubnpmセキュリティCI/CDリリース
GitHub は npm の Trusted Publishing に関する3つの機能を一般提供にした。1パッケージにつき1つだった OIDC 設定を複数登録でき、リポジトリ・ワークフロー・環境ごとに独立した条件を持たせられる。ステージ済みパッケージのマルウェアスキャン完了までの承認ブロックと、ステージ履歴の可視化も加わった。
何が発表されたか
GitHub は 2026年9月3日、npm の Trusted Publishing に関する3機能を一般提供にした。
- 複数の OIDC 設定: これまで1パッケージにつき1つに限られていた Trusted Publishing の設定を、複数登録できるようになった。各設定はリポジトリ、ワークフロー、環境の条件を独立して持ち、パッケージの設定ページから追加・一覧・削除できる
- マルウェアスキャンによるゲート: ステージされたパッケージの承認ボタンは、スキャンが完了するまで無効のままとなる。ステータスは1分ごとに更新される
- ステージ済みバージョンの履歴表示: npmjs.com の versions タブで、承認済み・却下・保留中といったステージ履歴をメンテナが確認できるようになった
開発者への影響
運用にあたっては、GitHub が挙げている次の点を押さえておきたい。
- 直接公開は設定ごとのオプトインで、既定はステージング
- 各設定は互いを制限せず、評価順序も保証されない
- ワークフローが侵害された場合の防御層として、ステージング専用の設定を併用することが推奨されている
長期間有効なトークンを保持することなく、安定版・プレリリース・ステージングの公開経路を設定単位で分けられるようになった。npm パッケージを配布しているチームは、既存の公開ワークフローを見直し、用途ごとに設定を分割することを検討したい。
