コンテンツにスキップするには Enter キーを押してください

「s1ngularity」攻撃による悪意のあるNxパッケージが2,349件のGitHub、クラウド、AI認証情報を流出

Image

nxビルドシステムの管理者は、攻撃者が人気のnpmパッケージおよびその他の補助プラグインにデータ収集機能を持つ悪意のあるバージョンを公開できるサプライチェーン攻撃について、ユーザーに警告しました。

「nxパッケージおよび一部のサポートプラグインパッケージの悪意のあるバージョンがnpmに公開され、ファイルシステムをスキャンし、認証情報を収集し、それらをユーザーのアカウント下のGitHubリポジトリとして投稿するコードが含まれていました」と管理者は水曜日に公開されたアドバイザリで述べています。

Nxは、コードベースを管理するために設計されたオープンソースのテクノロジー非依存型ビルドプラットフォームです。「エディタからCI(継続的インテグレーション)まで、すべてをつなぐAIファーストのビルドプラットフォーム」として宣伝されています。npmパッケージは週に350万回以上ダウンロードされています。

影響を受けたパッケージとバージョンの一覧は以下の通りです。これらのバージョンはすでにnpmレジストリから削除されています。nxパッケージの侵害は2025年8月26日に発生しました。

  • nx 21.5.0, 20.9.0, 20.10.0, 21.6.0, 20.11.0, 21.7.0, 21.8.0, 20.12.0
  • @nx/devkit 21.5.0, 20.9.0
  • @nx/enterprise-cloud 3.2.0
  • @nx/eslint 21.5.0
  • @nx/js 21.5.0, 20.9.0
  • @nx/key 3.2.0
  • @nx/node 21.5.0, 20.9.0
  • @nx/workspace 21.5.0, 20.9.0

プロジェクト管理者によると、問題の根本原因は、プルリクエスト(PR)のタイトルに細工された内容を使って実行可能なコードを注入できる脆弱なワークフローにありました。

「pull_request_targetトリガーは、PRが作成または変更されるたびにアクションを実行するために使用されていました」とnxチームは述べています。「しかし、見落とされていたのは、このトリガーは標準のpull_requestトリガーとは異なり、リポジトリの読み書き権限を持つGITHUB_TOKENを含む昇格した権限でワークフローを実行するという警告です。」

GITHUB_TOKENは、npmトークンを使ってNxパッケージをレジストリに公開する「publish.yml」ワークフローをトリガーするために利用されたと考えられています。

しかし、PR検証ワークフローが昇格した権限で実行されることで、「publish.ymlワークフロー」が「nrwl/nx」リポジトリ上で実行され、攻撃者が管理するwebhook[.]siteエンドポイントにnpmトークンを流出させる悪意のある変更が導入されました。

「bashインジェクションの一部として、PR検証ワークフローがこの悪意のあるコミットでpublish.ymlを実行し、npmトークンを見知らぬwebhookに送信しました」とnxチームは説明しています。「これが、攻撃者が悪意のあるnxバージョンを公開するために使用したnpmトークンを入手した方法だと考えています。」

Image

言い換えれば、このインジェクションの脆弱性により、悪意のあるPRタイトルが提出された場合に任意のコマンド実行が可能となり、pull_request_targetトリガーによってリポジトリへの読み書きアクセス権を持つGITHUB_TOKENが付与され、権限が昇格されていました。

これらの不正なパッケージバージョンには、パッケージインストール後に有効化されるpostinstallスクリプトが含まれており、システム上のテキストファイルをスキャンし、認証情報を収集し、Base64エンコードされた文字列として「s1ngularity-repository」(または「s1ngularity-repository-0」「s1ngularity-repository-1」)という名前を含む公開GitHubリポジトリに、ユーザーのアカウント下で送信します。

「悪意のあるpostinstallスクリプトは、ターミナル起動時に実行される.zshrcおよび.bashrcファイルも修正し、sudo shutdown -h 0を含めました。これによりユーザーにシステムパスワードの入力を促し、入力された場合は即座にマシンをシャットダウンします」と管理者は付け加えました。

GitHubはこれらのリポジトリのアーカイブを開始しましたが、リポジトリに遭遇したユーザーは侵害されたと見なしてGitHubおよびnpmの認証情報やトークンをローテーションすることが推奨されています。また、悪意のあるパッケージの使用を中止し、.zshrcや.bashrcファイルに見慣れない記述がないか確認し、削除することも勧められています。

Image

nxチームは、npmおよびGitHubトークンのローテーション、組織全体のGitHubおよびnpmアクティビティの監査、不審な活動の調査、nxの公開アクセスに2要素認証(2FA)または自動化を必須とするなど、是正措置も講じたと述べています。

Wizの研究者Merav Bar氏とRami McCarthy氏によると、漏洩した1,000件以上のGitHubトークンのうち90%が依然として有効であり、有効なクラウド認証情報やnpmトークンも多数存在します。マルウェアは開発者のマシン上で、しばしばnxのVisual Studio Code拡張機能経由で実行されたとされています。「s1ngularity-repository」という文字列を含むリポジトリは1,346件がGitGuardianによって検出されています。

漏洩した2,349件の個別シークレットの大半は、GitHub OAuthキーや個人用アクセストークン(PAT)であり、次いでGoogle AI、OpenAI、Amazon Web Services、OpenRouter、Anthropic Claude、PostgreSQL、DatadogのAPIキーや認証情報が続きます。

クラウドセキュリティ企業は、このペイロードがLinuxおよびmacOSシステムでのみ実行可能であり、機密ファイルを体系的に検索し、認証情報、SSHキー、.gitconfigファイルを抽出する能力があることを発見しました。

「特筆すべきは、このキャンペーンがインストール済みのAI CLIツールを武器化し、危険なフラグ(–dangerously-skip-permissions、–yolo、–trust-all-tools)でプロンプトを与え、ファイルシステムの内容を盗み出し、信頼されたツールを悪意のある偵察に悪用したことです」と同社は述べています

StepSecurityによると、このインシデントは攻撃者がClaude、Google Gemini、Amazon Qなどの開発者向けAIアシスタントをサプライチェーン攻撃のツールとして利用し、従来のセキュリティ境界を回避した初の既知事例となります。

「スコープ付きnxパッケージ(例:@nx/devkit、@nx/eslint)内のマルウェアとnxパッケージ内のマルウェアにはいくつかの違いがあります」とSocketは述べています。「まず、AIプロンプトが異なります。これらのパッケージではAIプロンプトはやや基本的です。このLLMプロンプトも範囲が狭く、暗号ウォレットキーやシークレットパターン、特定のディレクトリをターゲットにしていますが、@nxでは興味深いテキストファイルをすべて取得します。」

AikidoのCharlie Eriksen氏は、LLMクライアントを被害者マシン上のシークレット列挙の手段として利用する手法は新規性があり、防御側に攻撃者の今後の動向について洞察を与えると述べています

「Nxエコシステムの人気とAIツール悪用の新規性を考えると、このインシデントはサプライチェーン攻撃の高度化を浮き彫りにしています」とStepSecurityのAshish Kurmi氏は述べています。「侵害されたバージョンをインストールしたすべての人にとって、即時の対応が不可欠です。」

翻訳元: https://thehackernews.com/2025/08/malicious-nx-packages-in-s1ngularity.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です