
Wizのセキュリティ研究者らは、最も広く使用されている6つのAIコーディングアシスタントに影響を与える体系的な脆弱性を発見した。古典的なUnix時代の攻撃ベクトルであるシンボリックリンクが、自律エージェントを騙して、指定されたワークスペース外の機密ファイルに書き込ませる可能性があることが明らかになった。
GhostApprovalと名付けられたこの脆弱性は、AIコーディングエージェントが見るものと、基盤となるファイルシステムが実際に含むものとの間の信頼ギャップを悪用する。攻撃者は、無害な設定ファイルに偽装したシンボリックリンクを持つ悪意のあるリポジトリを作成し、`~/.ssh/authorized_keys` のような機密ターゲットを指すようにする。開発者がエージェントにワークスペースのセットアップやプロジェクトのREADMEに従うよう依頼すると、エージェントはシンボリックリンクをたどり、攻撃者が制御するコンテンツを実際のターゲットに書き込む。
攻撃の仕組み
Wizの研究者Maor Dokhanianが説明した概念実証では、攻撃者は `.ssh/authorized_keys` を指す `project_settings.json` という名前のシンボリックリンクを持つディレクトリを作成する。READMEは開発者に設定ファイルにSSH公開鍵を追加するよう指示する。被害者はリポジトリをクローンし、AIアシスタントにセットアップを依頼する。エージェントは指示を読み、シンボリックリンクをたどり、攻撃者の鍵を承認されたSSHリストに書き込み、パスワードなしのリモートアクセスを許可する。
この攻撃が成功するのは、コーディングアシスタントの確認ダイアログが書き込み操作の真の宛先を隠すためである。ユーザーには「project_settings.json にこの編集を行いますか?」のようなプロンプトが表示されるが、実際にはエージェントは `.ssh/authorized_keys` に書き込んでいる。Dokhanianは同意を「形式的には存在するが、実質的には空である」と表現した。
影響を受けるツールとベンダーの対応
| ツール | 深刻度 | ステータス |
|——–|——–|————|
| Amazon Q Developer | 高, CVE-2026-12958 | 修正済み |
| Cursor | 重大, CVE-2026-50549 | 修正済み v3.0 |
| Google Antigravity | 重大 | 5月22日修正済み |
| Anthropic Claude Code | 情報提供 | v2.1.32でシンボリックリンク警告(2月5日) |
| Augment | 重大 | 未修正 |
| Windsurf | 重大 | 未修正 |
Anthropicはこの問題を「情報提供」と位置付け、悪意のあるシンボリックリンクを含むディレクトリへの信頼を明示的に確認したユーザーは、ツールの脅威モデルの範囲外であると主張した。Augmentは「エージェントがコードを編集・実行する能力と、ファイルシステムにアクセスする能力を分離できるパッチは存在しない」と述べた。
Wizは活発な悪用の証拠は見られていないと述べたが、この脆弱性は、本番環境でのAIコーディングエージェントの急速な採用を考えると、深刻なエンタープライズリスクを表している。
雅子 訳

