「GhostApproval」の欠陥、AIコーディングアシスタントにワークスペースサンドボックス外へのファイル書き込みを許してしまう

GhostApprovalと名付けられた新たに公表された脆弱性パターンが、主要なAIコーディングアシスタント6製品に影響を及ぼしています。悪意あるリポジトリを利用してエージェントを騙し、本来の作業ワークスペースサンドボックスの外にファイルを書き込ませることが可能で、開発者のマシンでリモートコード実行につながる恐れがあります。

Wizの研究者らは、この欠陥がAmazon Q Developer、Anthropic Claude Code、Augment、Cursor、Google Antigravity、Windsurfに影響することを確認しました。

この脆弱性は、数十年前から存在するUnixの攻撃手法と、AI特有の新しい問題点を組み合わせたものです。エージェントは内部的には危険なファイルの書き込み先を正しく識別しているにもかかわらず、ユーザーには誤解を招く確認プロンプトを提示してしまいます。

GhostApprovalはシンボリックリンクの追跡(CWE-61)を悪用します。これは、あるファイルパスが別の場所へ静かに解決されてしまうという、よく知られた手法です。

攻撃者は、project_settings.jsonのような無害に見えるファイルに偽装したシンボリックリンクを含む悪意あるリポジトリを作成します。このシンボリックリンクは実際には~/.ssh/authorized_keysを指しています。

被害者がこのリポジトリをクローンし、AIアシスタントに「ワークスペースをセットアップして」と依頼すると、エージェントはREADMEの指示に従い、攻撃者が制御するコンテンツ(SSH公開鍵など)を、画面上に表示されているファイル名ではなく実際の解決先に書き込んでしまいます。これにより攻撃者は、パスワード不要で永続的なSSHアクセス権を手に入れることになります。

さらに深刻なのが、CWE-451「重要情報のUI誤表示」という問題です。例えばClaude Codeでは、エージェントの内部推論においてproject_settings.jsonを「実際にはzsh設定ファイルである」と正しく認識していたことが示されていました。

それにもかかわらず、ユーザーに表示されたプロンプトは単に「project_settings.jsonにこの編集を加えますか?」と尋ねるだけでした。エージェントが真実を把握していてもユーザーがそれを知らない場合、Human-in-the-Loop(人間による確認)という安全策は単なる形式的な承認作業と化してしまいます。

単に誤解を招くプロンプトを表示するだけでなく、さらに悪い挙動を示したツールもありました。Windsurfは、Accept/Rejectダイアログを表示する前に悪意あるペイロードをディスクに書き込んでおり、ユーザーがプロンプトを目にした時点ですでに侵害は完了していたため、確認プロンプトは全くの見せかけに過ぎませんでした。

Augmentはさらに一歩進んでおり、シンボリックリンクの読み取りと書き込みの両方をユーザー確認を一切求めずに実行し、認証情報を密かに窃取しながらSSH鍵を注入していました。確認ダイアログが表示されることは一度もありませんでした。

Amazon Qはこれら両極端の中間に位置しており、認証前にファイルを書き込む点は同じですが、少なくとも事後に「取り消し(Undo)」オプションを提供していました。

3社は迅速に問題を修正しました。AWSはAmazon Q Developerの言語サーバーをバージョン1.69.0でパッチ適用し、この修正を追跡するためにCVE-2026-12958を割り当てました。

Wizによると、Cursorはバージョン3.0でこの欠陥に対処し、CVE-2026-50549を発行しました。GoogleはAntigravityをバージョン1.19.6でパッチ適用し、正式なCVEを発行するかどうか現在検討中です。

2社は報告書の受領を認めたものの、公開時点では修正版をリリースしていません。Augmentのステータスは「対応中」のままで、確定したリリース日程は示されていません。一方Windsurfは2026年6月23日に報告書の受領を認めましたが、それ以降続報はありません。

Anthropicは当初、この発見を「現行の脅威モデルの範囲外」として却下しました。ユーザーはあるディレクトリを信頼して権限プロンプトを承認した時点で、暗黙的にリスクを受け入れているというのがその主張でした。

しかし同社は後に、この報告が提出される前にリリースされていたClaude Codeバージョン2.1.32以降には、プロアクティブなセキュリティ強化策の一環としてシンボリックリンク警告機能が含まれていることを認めました。ただし、この変更が今回の報告と直接関連しているかどうかについては言及を避けています。

Wizは、AIコーディングツールに対し、確認ダイアログを表示する前にシンボリックリンクを解決すること、ワークスペース外のパスを対象とする書き込みには明示的な警告フラグを付け、システムファイルへの書き込みがローカルファイルの編集と視覚的に区別できるようにすること、そしてユーザーから明示的な許可を得るまでディスクへの書き込みを一切行わないことを推奨しています。

今回の開示スケジュールは、2026年2月の当初発見から2026年7月8日の一般公開まで続きました。ベンダーの対応は数か月以内の迅速な修正から長期にわたる沈黙まで幅があり、急成長するAIコーディングアシスタント市場全体でセキュリティ対応姿勢に一貫性が欠けている実態が浮き彫りになりました。

翻訳元: https://cyberpress.org/ghostapproval-flaw-ai-coding-assistants/

ソース: cyberpress.org