🛡 概要
2025年8月26日に発生したNxの「s1ngularity」NPMサプライチェーン攻撃では、2180のGitHubアカウントと7200のリポジトリが漏洩しました。Wizの調査によると、攻撃は三段階に分かれており、特に漏洩した秘密情報は依然として有効なものが多く、その影響は今も続いています。この攻撃は、オープンソースのビルドシステムであるNxを標的にし、悪意のあるパッケージをNPMに公開する形で行われました。
🔍 技術詳細
この攻撃では、Nxリポジトリの不正なGitHub Actionsワークフローを悪用し、悪意のあるスクリプト「telemetry.js」を含むパッケージが公開されました。このマルウェアは、LinuxおよびmacOSシステムをターゲットにし、GitHubトークンやSSHキーなどの機密情報を盗み出し、公開リポジトリにアップロードしました。特筆すべきは、AIプラットフォーム用にインストールされたコマンドラインツールを利用して、機密情報を探索する点です。Wizの報告によると、攻撃の各段階でプロンプトが調整され、成功率が向上しました。
⚠ 影響
攻撃の最初の段階では、1700人のユーザーに直接影響を及ぼし、2000以上のユニークな秘密情報が漏洩しました。GitHubは攻撃者が作成したリポジトリを8時間後に削除しましたが、データはすでにコピーされていました。続く段階では、漏洩したトークンを利用して、プライベートリポジトリが公開され、さらに480のアカウントが危険にさらされました。最終段階では、特定の組織がターゲットとなり、追加の500のプライベートリポジトリが公開されました。
🛠 対策
Nxチームは、攻撃の原因となったプルリクエストのタイトルインジェクションと不適切なpull_request_targetの使用を特定しました。その結果、攻撃者は任意のコードを実行することができ、NPMの公開トークンが漏洩しました。現在、NxプロジェクトはNPMのTrusted Publisherモデルを導入し、トークンベースの公開を排除するとともに、PRトリガーのワークフローに対する手動承認を追加しました。また、すべての発行者アカウントに対して二要素認証が導入され、再発防止に努めています。