【注意】GitHubがサプライチェーン攻撃に対抗!9つの防御策実装と今すぐ見直すべき設定
GitHubのサプライチェーン攻撃への防御策のニュース概要
ギットハブは、二千二十五年後半以降に導入された、NPMおよびギットハブアクション向けのサプライチェーン防御対策全体を公開しました。攻撃者はフィッシングや不正なプルリクエストを入り口としてCI/CDランナーの権限を奪い、認証情報を悪用してパッケージを汚染する手法を繰り返してきました。これに対し、合計九つの対策が実装され、脆弱性へのパッチ適用から、デフォルトで拒否するアーキテクチャへの移行が推進されています。
初期アクセス、認証情報の持ち出し、そしてパッケージ伝播の各フェーズに対し、アカウント保護、チェックアウトの制限、トラステッドパブリッシング、インストールスクリプトの無効化などが導入されました。特に、NPMバージョン十二ではインストール時のスクリプト実行がデフォルトで無効化され、デペンダボットには三日間の更新遅延が設けられました。ただし、ネットワークファイアウォールのブロック機能は依然としてプレビュー段階にあり、一部のワークフロー設定やコード実行経路には依然として攻撃リスクが残されています。開発チームは、現時点で有効な監視ツールを活用しつつ、依存関係の明示的な許可リストを構築することが推奨されます。
GitHubセキュリティ強化に向けた9つの注目ポイント
- GitHubはnpmとGitHub Actions向けに、攻撃チェーンを断つ9つの防御策を公開しました。認証情報の盗難防止やインストール時スクリプトの無効化など、デフォルト拒否のアーキテクチャへの移行を推進しています。
- 攻撃者はCI/CDの脆弱性を悪用し、長期有効なトークンを盗んで悪意あるコードを拡散します。これに対し、短命なOIDCトークンによるトラステッドパブリッシングなどが推奨されています。
- ネットワークファイアウォールのブロック機能など未解決の課題も残るため、各チームは現在利用可能な監視機能や設定を確認し、直ちに追加の監査を行う必要があります。
サプライチェーン攻撃への防御体制に関する分析・解説
今回のGitHubの施策は、単なる機能追加ではなく「暗黙の信頼」に基づいたソフトウェア開発モデルを、「明示的な承認」を必須とする防御的アーキテクチャへと強制的に転換させるパラダイムシフトです。
これまでCI/CDパイプラインは効率性を最優先し、認証情報や実行権限をランナーへ過剰に委譲してきましたが、これが攻撃者にとって最大の標的となっていました。
今回の実装で特筆すべきは、npmのインストールスクリプト無効化やトラステッドパブリッシングにより、攻撃の「チェーン(連鎖)」を各段階で遮断する多層的な障壁を構築した点です。
今後は、攻撃者が依然として存在するエグレス制限の抜け穴や、コード実行の新たなパスを模索する一方で、開発現場では「許可リスト」の構築がセキュリティの必須要件として定着します。
ネットワークファイアウォールの一般提供が開始されれば、未知の脆弱性を突いた持ち出しさえも物理的に封じられる可能性が高く、開発プロセスには「防御を前提とした自動化」という新たな常識が根付くことになるでしょう。
※おまけクイズ※
Q. 記事の中で言及されている、npmバージョン12で導入されたセキュリティ対策は?
ここを押して正解を確認
正解:インストール時のスクリプト実行のデフォルト無効化
解説:記事の序盤で言及されています。
まとめ

GitHubが発表した9つの防御策は、開発現場の常識を「信頼」から「明示的承認」へと変える大きな転換点です。npmのスクリプト実行無効化など、攻撃の連鎖を断つ仕組みは非常に心強いですね。一方で、未解決の課題も残るため、現時点では「防御を前提とした自動化」を各チームで徹底する必要があります。利便性と安全性を両立させるためにも、今のうちに依存関係の管理を見直し、より堅牢な開発環境を構築していきましょう。
関連トピックの詳細はこちら


