1ポイントフォントの悪意 GoogleのAI開発環境Antigravityにデータ流出の恐れ:PromptArmorが「間接プロンプトインジェクション攻撃」の手法を解説
PromptArmorは、サイバー攻撃者がGoogleの「Google Antigravity」を悪用し、ユーザーの認証情報や機密コードを盗み出す危険性があると警告している。
AIセキュリティソリューションを提供するPromptArmorは、GoogleのAIネイティブ統合開発環境(IDE)「Google Antigravity」(以下、Antigravity)において、ユーザーの認証情報や機密コードが盗み出される危険性があるとする解説記事を公開した。
PromptArmorによると、攻撃者は「間接プロンプトインジェクション」という手法を用いることで、Antigravityとその基盤LLM(大規模言語モデル)である「Gemini」を操作し、悪意あるブラウザサブエージェント(Geminiの指示を受けて、ブラウザ上でのページ遷移、クリック、入力などを自動操作する、ブラウザ専用の子エージェント)を介してユーザーデータを窃取することが可能だという。
攻撃の概要
PromptArmorは、ユーザーがAntigravityを使用し、「Oracle ERP」の新機能「Payer AI Agents」を開発中のアプリケーションに統合しようとするシナリオを想定して、この攻撃手法を解説している。
主な攻撃手順は以下の通りだ。
- ユーザーが、攻撃者によって改ざんされたWebソース(実装ガイドなど)をGemini(Antigravity)に読み込ませる。
- Webソース内に隠された指示に従い、Geminiがユーザーのワークスペースから機密情報(認証情報やコード)を収集する。
- Geminiがブラウザサブエージェントを呼び出し、悪意あるサイトへアクセスさせることで、収集したデータを外部へ流出させる。
注目すべき点は、Geminiのセキュリティ制限が突破されていることだ。本来、Geminiは「.env」ファイル(環境設定ファイル)にアクセスできない設定(デフォルトで「Allow Gitignore Access」が「Off」)になっている。しかしPromptArmorの検証では、Geminiが自ら設定を迂回(うかい)してアクセス権を取得し、データを流出させる挙動が確認された。
攻撃チェーン
攻撃チェーン(攻撃の流れ)の詳細は以下の通り。
1.ユーザーによるドキュメントの読み込み
ユーザーはOracle ERPの実装ガイドをオンラインで見つけ、そのURLをGeminiに提供して支援を求める。
2.隠された攻撃プロンプトの実行
Antigravityが指定されたサイトを開くが、そこには人間には読めない極小サイズのフォント(1ポイントフォント)で「攻撃プロンプト」が埋め込まれている。
このプロンプトインジェクションによって、Antigravityは以下の動作を開始する。
- ユーザーのコードベースからコードスニペットと認証情報を収集する。
- 攻撃者がログを取得できるドメインを使用し、収集データを付加した危険なURLを生成する。
- ブラウザサブエージェントを起動し、そのURLへアクセスさせてデータを送信する。
3.Geminiの操作とセキュリティ迂回
Geminiは攻撃者のプロンプトによって以下のように操作され、機密情報を流出させる。
a:誤認
Geminiは攻撃プロンプトを読み取り、「ユーザーの理解を助けるため、架空の外部ツールへデータを送信する必要がある」と信じ込まされる。
b:収集
攻撃者の指示通り、コードベースを読み取り、.envファイル内の認証情報へのアクセスを試みる。
c:制限回避
.envファイルの直接読み取りは設定によりブロックされるが、Geminiは代わりにターミナルコマンドの「cat」を使用してファイル内容を出力し、アクセス制限を回避する。
d:URL生成
取得した認証情報などをURLエンコードし、攻撃者が監視する「webhook.site」ドメインに付加してURLを生成する。
e:実行指示
ブラウザサブエージェントを起動し、生成した危険なURLを開くよう指示する。
ここではAntigravityの主要機能である「ブラウザツール」(Geminiが構築中のアプリを確認できる機能)が悪用されている。なおPromptArmorは、このブラウザツール機能に依存しない脆弱(ぜいじゃく)性も他に3件発見したとしている。
データの送信先となるwebhook.siteは、AntigravityのデフォルトURL許可リストに含まれているため、ブラウザサブエージェントは疑うことなくアクセスを実行してしまう。
4.データの流出
ブラウザサブエージェントがURLを開くと、パラメータに含まれていた認証情報とコードがwebhook.siteのログに記録され、攻撃者の手に渡る。
Antigravityの推奨設定とリスク
Antigravityの利用開始時、ユーザーはデフォルトの推奨設定を受け入れるよう促される。PromptArmorは「Geminiが人間の介入(承認)を求めるタイミングを自律的に制御できるこのデフォルト設計こそが、攻撃の成立を許している」と指摘する。
AIエージェント管理の死角
Antigravityの「Agent Manager」では、複数のエージェントを同時に実行、管理できる。
しかしPromptArmorは、「この仕組みでは、稼働中のAIエージェントの大半がユーザーの直接的な監視なしにバックグラウンドで動作することになる」と指摘する。プロンプトインジェクションを受けたAIエージェントが悪意ある行動をとっても、ユーザーがそれに気づいて阻止できる可能性は極めて低いのが現状だ。
Googleのリスク認識
PromptArmorは、多くのAI企業と同様、Googleも根本的な問題を技術的に解決するのではなく、ユーザーへの免責事項の提示によって対応していると批判的に述べている。
特に「監視なしでの複数AIエージェントの実行」や「AIエージェント自身が確認タイミングを決める設定」といった仕様上、ユーザーが全ての動作を確認して機密データの流出を防ぐことは現実的ではない。
なお、Googleは既にPromptArmorが実証したようなデータ流出リスクを認識していると表明している。そのためPromptArmorは、本件に関して(修正を待つなどの)一般的な「責任ある開示」(Responsible Disclosure)の手順をとらずに公開したと述べている。
Copyright © ITmedia, Inc. All Rights Reserved.





