出典: D. Hurst via Alamy Stock Photo
GitHubは今週、広範な被害をもたらした一連の攻撃を受け、より安全なNPMサプライチェーンの実現を約束しました。
9月22日、GitHubのセキュリティリサーチ担当シニアディレクターであるXavier René-Corail氏が、特にNPMパッケージを対象としたパッケージレジストリベースの攻撃の急増について、GitHubにブログ記事を投稿しました。この投稿は、今月発生したNPMパッケージを巡る2つの大規模なサプライチェーン攻撃、すなわち自己増殖型Shai-Huludマルウェアキャンペーンと、著名な開発者Qixに対するソーシャルエンジニアリング攻撃を受けてのものです。
Shai-Huludの場合、情報窃取型マルウェアが悪意あるパッケージに埋め込まれ、NPMトークンを含む秘密情報を盗むことができました。GitHubによると、セキュリティ業界が迅速に対応しなければ、このワームは無限に攻撃を繰り返す可能性があったといいます。GitHubは、直ちに500以上の侵害されたパッケージを削除し、マルウェアの侵害インジケーターを含む新たなパッケージの公開をブロックしたと述べています。
これらの対応に加え、GitHubはNPMサプライチェーンを強化し、パッケージ公開のセキュリティを高めるための措置を講じるとしています。
GitHub、NPMサプライチェーンのセキュリティ強化へ
GitHubは3つの主要な変更点を強調しました。今後、オープンソースコミュニティがパッケージをローカルで公開する際には必須の2要素認証を要求し、有効期間が7日間のみのきめ細かなトークンを導入し、Trusted Publishers認証方式を利用するようになります。
「Trusted publishingは、OpenSSF Securing Software Repositories Working Groupが推奨するセキュリティ機能であり、ビルドシステムでAPIトークンを安全に管理する必要をなくします」とブログ記事には記されています。「これは2023年4月にPyPIが先駆けて導入し、ビルドパイプラインからAPIトークンを排除する方法として始まりました。それ以降、Trusted publishingはRubyGems(2023年12月)、crates.io(2025年7月)、npm(同じく2025年7月)、そして最近ではNuGet(2025年9月)など、他のパッケージリポジトリにも追加されています。」
Microsoftの子会社であるGitHubは、従来のクラシックトークンの廃止、FIDOベースの2要素認証を推進するための時限式ワンタイムパスワードの廃止、きめ細かなトークンのさらなる制限とデフォルトでの無効化、ローカルパッケージ公開での2FA回避オプションの削除、Trusted publishingの対象プロバイダー拡大なども行う予定です。
「私たちが行うセキュリティ変更の一部は、皆さんのワークフローの更新を必要とするかもしれません」とRené-Corail氏は記しています。「これらの変更は段階的に展開し、npmのセキュリティ体制を強化しつつ、混乱を最小限に抑えるよう努めます。この移行期間中も皆さんをサポートし、今後のアップデートでは明確なスケジュール、ドキュメント、移行ガイド、サポートチャネルを提供します。」
GitHubはNPM管理者に対し、トークンの代わりにNPM Trusted Publishingの利用を検討し、2FAを必須とする公開設定の強化、2FA設定時にはTOTPの代わりにWebAuthnを使用することを推奨しています。
Black DuckのシニアセキュリティソリューションマネージャーであるMike McGuire氏は、GitHubの変更について「NPMのセキュリティにとって重要な前進」であり、認証の弱さや長期間有効な広範なトークンの問題に対処しているとDark Readingに語っています。
「最新の2FAの強制や、きめ細かく短期間有効なトークンの採用によって、GitHubは攻撃者のハードルを上げ、Qixの侵害やShai-Huludのようなインシデントを可能にした経路の一部を封じています」とMcGuire氏は述べます。「とはいえ、単一の変更でこの種の攻撃を完全に防ぐことはできません。パッケージレジストリはオープンソースソフトウェアサプライチェーンの一部に過ぎず、攻撃者は人気プロジェクトを侵害するためにますます創造的な手法を用いています。」
有望な一歩、しかし十分か?
すべてのセキュリティ強化策は歓迎されるものの、今後Shai-Huludのような脅威キャンペーンに対してどのような効果を発揮するかは、時間が経たなければ分かりません。
Armisの脅威インテリジェンス責任者であるMichael Freeman氏は、GitHubの推奨アクションは正しい方向への一歩だが、小さな一歩だとDark Readingに語っています。Freeman氏は、持続的な変化をもたらすには、静的・動的解析(SAST/DAST)、ソースと成果物の一致を保証する再現可能なビルドの強制、疑わしいレジストリアクティビティや異常なアップロードのリアルタイム監視など、より包括的なセキュリティプロセスが必要だと主張しています。
Snykの最高技術責任者であるDanny Allan氏も、GitHubの対応を「歓迎すべき前進」としつつも、脅威アクターがリポジトリを標的とする巧妙な手口に言及しています。「これらの変更は、管理者アカウントの侵害やワーム型の拡散に対する強力なコントロールを追加します」とAllan氏は述べます。「しかし、これは万能薬ではありません。Shai-HuludやQixのような攻撃は、盗まれたトークンだけでなく、管理者の侵害やタイポスクワッティング、悪意あるコード注入など、はるかに多くの手法を悪用していました。そして現在、攻撃者はAIを利用してこれらの攻撃を自動化・拡大しています。トークンの変更だけでは、すでに侵害されたパッケージを下流の開発者が知らずにインストールしてしまうことを防げません。」