GitHubは5月22日(現地時間)、npm CLI 11.15.0以降において、サプライチェーンのセキュリティ強化に向けた2つの新機能「Staged publishing」と新しいインストールフラグ「--allow-file」を正式にリリースしたと発表した。
「Staged publishing」は、従来の即時公開方式と異なり、先にtarballがステージキューへアップロードされ、その後メンテナーが明示的に承認を行うことで初めてインストール可能になる仕組みだ。npmjs.comおよびCLI双方でキューを確認でき、メンテナーによる2要素認証による承認が必須となる。
CI/CDワークフローやOIDCを利用したtrusted publishingでも、人の承認が必要なため、不正なパッケージ流通リスクの軽減が見込まれる。利用にはnpm CLI 11.15.0以上が必要で、CI/CD環境ではnpm stage publishへの変更が推奨されている。
また、新しいインストールフラグである「--allow-file」として、--allow-file、--allow-remote、--allow-directoryが追加された。従来の--allow-gitと合わせ、npm installで許可するローカルファイル、リモートURL、ディレクトリ、Gitリポジトリごとに制御可能となった。これらのフラグで不要なインストール元を拒否することにより、開発現場でのセキュリティ対策が強化できる。
npmはこれら新機能の利用とフィードバックを呼びかけている。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
