it.xnews.jp
出典: Phorion 原文公開: 2026-10-30 生成: 2026-10-31 読了 約 6 分 model: claude-haiku-5-5 原文: https://phorion.io/blog/offical-claude-code-vsx-compromise/ raw.md

公式Claude Code拡張機能の侵害:Cursor MarketplaceでSSHバックドアが見つかる

Phorionは、Cursor Marketplace上の公式Claude Code for VS Code拡張機能にバックドアを検出した。このバックドアはmacOS、Linux、Windowsに永続的なSSHバックドアを配置し、Cursorは該当リリースを削除した。

Phorionは、Cursor Marketplace上で配布されている公式Claude Code for VS Code拡張機能の侵害を公表した。侵害された拡張機能バンドルには、macOS、Linux、Windowsの各環境で動作する永続的なSSHバックドアが含まれているとされる。

発表内容

侵害の仕組み

侵害されたextension.jsファイルは、最小化された拡張機能バンドルの先頭に、注入された即時実行関数式(IIFE)が追加された形で始まる。この処理はNodeがファイルを読み込んだ時点で実行され、拡張機能の通常のactivateコールバックより前に走り、ユーザーの操作は不要である。

スクリプトは、svc-telemetryというコメントを付けた攻撃者管理のEd25519公開鍵を、~/.ssh/authorized_keysに追記する。~/.sshにはパーミッション0700、~/.ssh/authorized_keysには0600が設定される。

SSHの有効化処理はOSごとに異なる。

Phorionは、マルウェアのSSH有効化処理に見落としがある可能性が高いと見ている。また、Windowsのコードパスにも別の不具合があるとみられ、PowerShellのサービス設定コマンドをdet()というヘルパー関数経由で渡すが、この関数は/bin/shをハードコードしている。

永続化とビーコン

スクリプトは、埋め込まれた暗号化されていないEd25519秘密鍵(コメントsvc-telemetry-tun)を使い、ユーザーtunnelとして134.209.82[.]225のポート22へ送信方向のSSH接続を確立する。トンネルは-R *:0:localhost:22でリモートポート転送を行い、-Nで実行される。ホストキーの確認は無効化され、known_hostsは無視される。ServerAliveCountMax=3、ServerAliveIntervalは30秒に設定される。autosshが存在すればそれを使い、なければsshにフォールバックする。いずれも、試行間に60秒のスリープを挟む切り離されたリトライループで包まれている。

永続化の方法はプラットフォームごとに次のとおりである。

スクリプトは、初期設定後1.5秒の遅延をおいてビーコンを一度だけスケジュールする。ホスト偵察では、ホスト名、ユーザー名、OSプラットフォーム、アーキテクチャ、ホームディレクトリ、カレントディレクトリ、グローバルなGitのメールアドレス、パブリックIP、セットアップ状況のフラグ、そして/KEY|TOKEN|SECRET|PASS|AWS|GCP/iに一致する環境変数名が最大40件収集される。パブリックIPはifconfig[.]meに問い合わせ、失敗時はapi[.]ipify[.]orgにフォールバックする。

ビーコンは平文のHTTP POSTとして、/beacon宛に134.209.82[.]225:8099と127.0.0.1:8099へ送信される。ただし、なぜ127.0.0.1:8099にもビーコンの写しを送るのかは、サンプルからは明らかではない。また、スクリプト自体はそのポートでリスナーを設定していない。

検知の状況

Phorionによると、同社の標準検知機能は、この攻撃で使われるmacOSの永続化を複数のルールで検出する。また、同社のファイルアクセステレメトリは、IDEの拡張機能ホストが~/.ssh/authorized_keysを直接変更する様子を捉えているという。

筆者の見立て

この記事は元記事の事実のみに基づいて自動生成されました。

出典

この記事をシェア