Claude Code拡張機能の侵害:セキュリティアドバイザリーと技術分析
インシデントの概要
公式のClaude Code VS Code拡張機能の侵害されたバージョン(バージョン 2.1.313)がCursor Marketplaceを通じて配布され、影響を受けたユーザーに永続的なセキュリティ侵害をもたらしました。悪意のある拡張機能バンドルには、リバースSSHトンネルを確立するバックドアが含まれており、攻撃者が被害者のマシンへ不正にリモートアクセスすることを可能にしていました。Cursorはその後、影響を受けたバージョンをマーケットプレイスから削除しました。ユーザーは自身の環境に対して徹底的なセキュリティ監査を実施することを推奨します。
バックドアの技術分析
悪意のあるペイロードは、extension.jsファイル内に注入された即時実行関数式(IIFE)を介して実行されます。このコードは拡張機能モジュールが読み込まれるとすぐに実行され、公式の拡張機能ロジックが初期化される前にユーザーの環境へのアクセス権を取得します。攻撃は、永続性とリモートアクセスを確保するために多段階のプロセスに従います。
SSHアクセスと永続化
マルウェアは、被害者のSSH設定を変更することで、長期的な対話型アクセスを取得しようとします:
- 認証情報の注入: 攻撃者が制御するEd25519公開鍵(コメント
svc-telemetry)を~/.ssh/authorized_keysファイルに追加します。 - リバーストンネリング: スクリプトは、リモートポート転送(
-R *:0:localhost:22)を使用して、攻撃者が制御するサーバー(134.209.82.225)へのアウトバウンドSSH接続を確立します。これにより、攻撃者は確立されたトンネルを通じて被害者のマシンに到達できるようになります。 - 永続化メカニズム: バックドアは、プラットフォーム固有の永続化をインストールすることで、再起動後も生存を維持します:
- macOS: 隠しシェルスクリプトを実行するLaunchAgent(
~/Library/LaunchAgents/com.apple.sysmond.plist)をインストールします。 - Linux: ユーザーのcrontabに
@rebootエントリを追加します。 - Windows:
SYSTEMスケジュールタスクの作成を試みるか、ユーザーのスタートアップフォルダーにスクリプトをドロップします。
- macOS: 隠しシェルスクリプトを実行するLaunchAgent(
ホストの偵察
トンネルを完成させる前に、マルウェアはホスト情報を攻撃者に送信します。これには、ホスト名、ユーザー名、OSの詳細、およびKEY、TOKEN、SECRET、PASS、AWS、GCPなどのパターンに一致する環境変数名のリストが含まれます。これらの変数名を収集することで、攻撃者は機密性の高いクラウドやAPI認証情報の存在に基づいて、価値の高いターゲットを優先的に攻撃できます。
検知と修復
セキュリティチームは、この脅威を修復するために拡張機能の削除だけに頼るべきではありません。バックドアのコンポーネントは独立して永続化するためです。
修復手順
- アクティブなプロセスの終了:
134.209.82.225に接続している実行中のsshまたはautosshプロセスをすべて終了させます。 - 永続化の削除: macOS上の悪意のあるLaunchAgent、Linux上のcrontabエントリ、またはWindows上のスケジュールタスク/スタートアップスクリプトを削除します。関連する隠しファイル(例:
~/.config/.smtおよび~/.config/.smtk)を削除します。 - SSH鍵のクリーンアップ:
~/.ssh/authorized_keysからsvc-telemetry公開鍵を削除します。 - 認証情報のローテーション: 不正アクセスの可能性があるため、影響を受けたマシンの環境変数に存在していたAPIキー、トークン、またはシークレットをすべてローテーションしてください。
検知シグナル
- ファイルの整合性: IDEヘルパープロセス(例:
Code Helper)が~/.ssh/authorized_keysを変更していないか監視します。 - プロセスのテレメトリ:
/tmp/または~/.config/のIDファイルを使用し、リモートポート転送フラグを持つsshまたはautosshプロセスを探します。 - LaunchAgentの異常:
~/Library/LaunchAgents/内でcom.apple.*ラベルが付いたファイルを生成または変更する、Apple以外のプロセスにフラグを立てます。
コミュニティの洞察
セキュリティおよび開発者コミュニティ内での議論では、エディターマーケットプレイスの信頼モデルに関する懸念が強調されています。コメント投稿者は、このインシデントが「マーケットプレイスプロキシ」のリスクと、拡張機能に対するパッケージの整合性やチェックサム検証の強制が欠如していることを浮き彫りにしたと指摘しました。
「このようなことは悪化する一方だろう。人々は他の開発者も『自分と同じ』だと想定しているが、国家主体はすでにAIを使ってエージェントを絶えず実行し、開発ツールを作ったりオープンソースに貢献したりすることでセキュリティを突破している可能性が高い。」 — Hacker News User
ユーザーは、authorized_keysファイル内のsvc-telemetryコメント文字列を確認することで、自身の状態を検証することが推奨されます。これが侵害の最も信頼できる指標であるためです。
Sources
関連
- Dispatch
- Dispatch
- Dispatch
- プロジェクト
- プロジェクト