- 画像スケーリングの脆弱性を利用して、本番環境のAIシステムを攻撃できる
- 見た目は正常な画像が、ダウンスケーリング時にプロンプトインジェクションのペイロードへ変換され、データ流出を引き起こす可能性がある
- この攻撃はGoogle Gemini CLI など複数の実サービスで確認されており、ユーザーの認識とモデル入力の不一致を悪用する
- ダウンスケーリングアルゴリズムおよび各実装方式によって攻撃手法と影響は異なり、オープンソースツールAnamorpherで画像攻撃を実験できる
- 防御策としては、入力プレビューの提供、安全な設計パターンの適用、ユーザーへの明確な承認要求などが推奨される
背景と問題提起
- LLM などのAIシステムに一見普通の画像を入力すると、ダウンスケーリング過程で隠されたマルチモーダル・プロンプトインジェクションが作動し、ユーザーデータを外部へ流出させる攻撃シナリオがある
- こうした脆弱性は、モデルに実際に渡される画像がスケーリング処理を経るために生じ、その過程で攻撃者が埋め込んだペイロードが表面化する
本番環境のAIシステムを狙う画像スケーリング攻撃
- 本ブログ記事では、Gemini CLI、Vertex AI Studio、Gemini Web および API、Google Assistant、Genspark など、さまざまな実運用AI製品を対象に、画像スケーリングの脆弱性が現実の攻撃に悪用されうることを実演している
- Anamorpherというオープンソースツールにより、このようなカスタム画像を容易に生成・検証できる
データ流出攻撃の事例(Gemini CLI)
- Gemini CLIでは、デフォルト設定適用時に Zapier MCP サーバーがユーザー確認なしで全ての MCP ツール呼び出しを自動承認する(
settings.json の trust=True 設定)
- ユーザーが正常に見える画像をアップロードすると、ダウンスケーリング後の画像に含まれるプロンプトインジェクションによって、Google Calendar 内のデータが攻撃者のメールアドレスへ流出する
- 実際のプレビューが提供されないため、ユーザーは変形後の結果や攻撃の有無を知ることができない
- この種のプロンプトインジェクション攻撃は、Claude Code、OpenAI Codex など多様なエージェント型コーディングツールでもすでに確認されている
- これらのツールには、デフォルトで安全でない設定やシステムパターンが多く、根本的な対策が必要である
追加の攻撃事例
- Vertex AI、Gemini Web インターフェース、Gemini API、Google Assistant、Gensparkでも、画像スケーリングベースのプロンプトインジェクション攻撃が成功している
- 特に Vertex AI Studio では、ユーザーは高解像度画像しか確認できず、モデルが受け取るダウンスケーリング後の画像を見ることができない
- その結果、ユーザーの認識と実際のモデル入力との不一致が、攻撃を容易にしている
- 攻撃ベクトルは多様なシステムやツール全体に広く分布している
画像スケーリング攻撃の内部原理
- この攻撃は、画像ダウンスケーリング(リサンプリング)アルゴリズムの補間特性を悪用する
- 代表的なダウンスケーリングアルゴリズムには、Nearest Neighbor、Bilinear、Bicubic Interpolation などがあり、それぞれの特性に合わせた攻撃手法が必要となる
- ライブラリごと(Pillow、PyTorch、OpenCV、TensorFlow)にも、アンチエイリアシング、アライメント、内部バグなど実装差異が存在する
- 攻撃者は、各システムでどのアルゴリズムと実装が使われているかをフィンガープリント分析しなければ、最適化された攻撃を行えない
- チェッカーボードパターン、同心円、バンドパターン、Moiré、傾いたエッジなど多様なテスト画像を使って、アルゴリズム特性やアーティファクトを分析する
画像サンプリングの原理と Nyquist–Shannon の定理
- リボン上に精巧なパターンがあるとき、一定間隔でサンプリングすると、サンプリング速度が低い場合には元のパターンが正確に復元されず、歪みが生じる
- これは Nyquist–Shannon のサンプリング定理で説明されるエイリアシング効果であり、攻撃者はピクセルを操作して、ダウンスケーリング後に特定のパターンが現れるよう設計する
Anamorpher: 攻撃画像作成ツール
- Anamorpher は、代表的なダウンスケーリングアルゴリズム(Nearest Neighbor、Bilinear、Bicubic)に合わせて攻撃画像を作成・可視化できるオープンソースツールである
- たとえば Bicubic Interpolation の場合、4x4 領域の 16 ピクセルをもとに周囲ピクセルへ重み付けを行い、出力ピクセル値が決定される
- 攻撃者はコントラストの高い画像(例: 濃い黒の背景)を選び、重要度の高いピクセルの輝度を最適化(最小二乗法)することで、ダウンスケーリング結果が鮮明な攻撃パターンになるようにする
- Anamorpher は フロントエンドインターフェースと Python API を提供し、バックエンドのモジュール化によって、ユーザーはカスタムのダウンスケーリングアルゴリズムまで実験できる
防御と対応策
- 最も安全な方法は、画像のダウンスケーリング自体を使わず、アップロード可能な画像サイズを制限することである
- やむを得ず変換やダウンスケーリングが必要な場合は、CLI や API を含むすべての入力チャネルで、実際にモデルへ入力される画像のプレビューを必ず提供すべきである
- 特に、画像内テキストが機微なツール呼び出しを誘発できないように、必ず明示的なユーザー承認を求める必要があり、システム全体として安全な設計パターンと体系的な対策の適用が必要である
今後の課題
- モバイルおよびエッジデバイスでは、固定画像サイズの制約と非効率なダウンスケーリングアルゴリズムの利用率が高いため、リスクがさらに大きい可能性がある
- 音声AIとの組み合わせ、より高度なアルゴリズムとインジェクション検知法、意味ベースのプロンプトインジェクション、アップスケールのアーティファクト活用など、今後の研究と防御策の整備が必要である
結論
- Anamorpher は現在ベータ段階にある
- 今後、マルチモーダルかつエージェント型のAIシステムに対するセキュリティ研究とともに、適切なフィードバックと改善が期待される
まだコメントはありません。