npm侵害から72時間でAWS管理者権限へ——Google報告が示したUNC6426の攻撃経路

この記事は約8分で読めます。

概要

本稿では、npmパッケージ「Nx」のサプライチェーン侵害を起点として、わずか72時間で被害組織のAWS環境の管理者権限を奪取した攻撃事例について解説します。GoogleのCloud Threat Horizons Report H1 2026で詳細が公開されたこの事例は、CI/CDパイプラインの過剰な権限設定がクラウド環境の完全掌握に直結するリスクを具体的に示しています。

何が起きたか

2026年3月11日、GoogleはCloud Threat Horizons Report H1 2026を公開しました。このレポートの中で、Mandiantが対応したインシデントとして、UNC6426(Google Threat Intelligence Groupが追跡する脅威アクター)によるクラウド環境の広範な侵害事例が詳細に分析されています。

攻撃は2025年8月下旬のnpmパッケージ「Nx」のサプライチェーン侵害(S1ngularity攻撃)に端を発しています。Nxは広く使われているJavaScript/TypeScript向けのビルドフレームワークで、攻撃者はNxのGitHub Actionsワークフローの脆弱性を突いてnpm公開トークンを窃取し、悪意あるコード「QUIETVAULT」を注入しました。この侵害されたパッケージを通じて開発者のGitHubトークンが盗まれ、そこからクラウド環境の完全掌握へとエスカレーションしたのが今回の事例です。

攻撃チェーンの詳細:5つのフェーズ

フェーズ1:サプライチェーン感染(Nxの侵害)

2025年8月下旬、攻撃者はNxのnpmパッケージに悪意あるpostinstallスクリプト「QUIETVAULT」を注入しました。QUIETVAULTはJavaScriptベースの認証情報窃取マルウェアで、環境変数、システム情報、そしてGitHub Personal Access Token(PAT)を探索・窃取するよう設計されています。

レポートが特に警鐘を鳴らしているのは、QUIETVAULTが端末上のLLM(大規模言語モデル)ツールを悪用してファイル列挙を試みた点です。マルウェアに埋め込まれたプロンプトは「Linux環境でファイルシステムを検索し、設定ファイルや環境定義ファイル(*.log、*.conf、*.env、*.bakなど)を見つけよ」という内容で、既存の正規AIツールをLOTL(Living-off-the-Land)的に踏み台にする手法の実例です。

フェーズ2:初期侵害(開発者端末からGitHubへ)

被害組織の従業員がNx Consoleプラグインを使用するコードエディタを起動した際、パッケージの更新がトリガーされ、QUIETVAULTが実行されました。マルウェアは開発者のGitHub PATを窃取し、「/s1ngularity-repository-1」と名付けられた公開GitHubリポジトリにアップロードしています。

フェーズ3:ピボット(GitHubからAWSへのOIDC信頼の悪用)

初期侵害から2日後、UNC6426は被害者のGitHub環境で偵察活動を開始しました。使用されたのは「NORDSTREAM」というオープンソースツールで、CI/CDパイプラインからシークレットを抽出するために悪意あるパイプラインを展開する機能を持ちます。これにより、GitHubサービスアカウントの認証情報が漏洩しました。

続いて3日目、攻撃者はこのサービスアカウントとNORDSTREAMの「–aws-role」パラメータを使い、GitHubとAWS間の正規のOIDC(OpenID Connect)信頼関係を悪用しました。これによりAWS Security Token Service(STS)の一時トークンが生成され、「Github-Actions-CloudFormation」ロールを通じてAWS本番環境への足がかりを得ています。

フェーズ4:権限昇格

この事例で特に重要なのは、CloudFormationロールの権限が過剰だった点です。Googleのレポートは「The compromised Github-Actions-CloudFormation role was overly permissive」と明記しています。UNC6426はこの過剰な権限を利用し、CloudFormation経由で新しいAWSスタックをデプロイしました。そのスタックの唯一の目的は、新しいIAMロールを作成してAdministratorAccessポリシーを付与することでした。

初期侵害から72時間以内に、UNC6426は盗まれたトークンからAWSの完全な管理者権限への昇格を完了しています。

フェーズ5:影響(データ窃取と破壊行為)

管理者権限を得た攻撃者は、S3バケット内のオブジェクトへのアクセスと列挙、本番EC2・RDSインスタンスの停止、アプリケーションキーの復号といった破壊的な行動を実行しました。最終段階では、被害者の全内部GitHubリポジトリが「/s1ngularity-repository-[ランダム文字列]」にリネームされ、公開状態にされています。

実務視点:この事例が突きつける課題

CI/CDパイプラインの権限設計という根本問題

この攻撃で最も教訓になるのは、侵害の起点がサプライチェーンであっても、被害の深さを決定したのはCI/CDパイプラインの権限設計だった点です。GitHub ActionsからAWSへのOIDC信頼関係は、開発の効率化のために広く採用されている正規の仕組みです。しかし、CloudFormation経由で新規IAMロールを作成できるほどロールが過剰権限だったことで、攻撃者はAdministratorAccessという最高権限を自ら付与できてしまいました。

Googleは「自動化されたパイプラインに対する過剰な信頼が、脅威アクターによるクラウド環境侵害への直接的な経路を作り出す」と総括しています。GitHub-to-AWS OIDC連携を使っている組織は、付与されたロールの権限範囲を改めて確認すべきです。特にCloudFormation権限でIAMリソースの作成・変更が可能になっていないか、最小権限原則が適用されているかは優先して点検したいポイントです。

サプライチェーン攻撃のエスカレーション速度

npmパッケージの侵害自体は2025年8月の「S1ngularity攻撃」として知られ、CISA(米国サイバーセキュリティ・インフラセキュリティ庁)も同年9月にアラートを発出しています。侵害されたNxパッケージは短時間でnpmから削除されましたが、その間に窃取されたトークンは後日の攻撃に利用されました。今回のGoogleレポートは、サプライチェーン攻撃が「パッケージの修正で完了」ではなく、窃取された認証情報を通じて長期的な二次被害につながるリスクを具体的に示しています。

LLMの悪用:新たなLOTLベクター

QUIETVAULTがLLMツールを悪用してファイル列挙を試みたという事実は、開発者端末に導入されたAIツールが攻撃面になり得ることを示しています。Googleのレポートは「LLMの活動を管理者用コマンドラインツールと同等の精査対象として扱うべき」と提言しています。AI開発支援ツールの導入が進む中、これらのツールが持つファイルシステムアクセスやネットワーク通信の権限は見直し対象になります。

対応策の整理

この事例を踏まえた実務的な対応策は以下の通りです。CI/CDパイプラインのIAMロールから不要なIAM操作権限を剥奪し、最小権限原則を徹底すること。OIDC信頼関係の対象ロールを定期的に監査すること。npmなどのパッケージマネージャーのpostinstallスクリプトについては、自動実行を防ぐ設定やサンドボックス化の導入を検討すること。サプライチェーン侵害発生時には、パッケージの修正だけでなく、影響を受けた可能性のある全認証情報のローテーションを実施すること。そして開発者端末上のLLMツールのファイルアクセス権限と通信先を可視化・制限することです。

まとめ

UNC6426の事例は、npmサプライチェーン侵害→GitHubトークン窃取→OIDC信頼悪用→AWS管理者権限奪取→データ破壊という、開発者ワークフローの各段階を渡り歩く攻撃経路を鮮明に示しています。個々の要素は既知の手法ですが、それらが連鎖した結果、72時間でクラウド環境の完全掌握に至りました。防御側にとっての最大の教訓は、CI/CDパイプラインに付与された権限がクラウドセキュリティの最弱点になり得るという点です。

参考情報

コメント

タイトルとURLをコピーしました