Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
WebMirage — ビジョン言語Webエージェントに対する敵対的画像攻撃:視覚的グラウンディングからブラウザ実行まで | Kitploit
ツール/GitHubGitHub/moontea0416/webmirage
コード分析ウェブセキュリティペネトレーションテスト機械学習論文と研究レッドチーミングAIセキュリティ敵対的攻撃
GitHubmoontea0416/webmirage

WebMirage

ビジョン言語Webエージェントに対する敵対的画像攻撃:視覚的グラウンディングからブラウザ実行まで

リポジトリを見る
1142日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

WebMirage

敵対的画像が視覚的グラウンディングからブラウザ実行までWebエージェントをハイジャックする

Wanjing Han, Levi Taiji Li, Mu Zhang, Yue Jiang, Guanhong Tao — ユタ大学

WebMirageは、視覚的グラウンディングに基づくWebエージェント向けのレッドチーミングフレームワークです。攻撃者が制御するWebページ画像(例:商品サムネイルやプロフィール写真)に対して局所的な敵対的摂動を生成し、さまざまなWebページのレンダリングにおいて、エージェントに攻撃者の要素を選択させ、対応するブラウザアクションを実行させます。この攻撃は、モデル推論単体ではなく、視覚的グラウンディングからブラウザ実行までをエンドツーエンドで定式化されています。

これを実現する2つのコンポーネント:

  • ロールスロット抽象化とWebページ再構成 — 攻撃者の要素とその周辺要素との競合をモデル化し、異なる周辺要素の集合とスロット位置でページを再構成することで、摂動が未知のレンダリングにも汎化するようにします。
  • 実行整合型の教師あり学習 — エージェントの後処理コードに対するCodeQLデータフロー解析により、実行されるアクションを実際に決定する出力トークンを特定し、それらのトークンのみに対して最適化を教師あり学習します。

このフレームワークは、6つのVLMバックボーン(LLaVA、MiniCPM-o、Phi-3 Visionなど)にわたってSeeActおよびVisualWebArenaエージェントに対して評価されています。完全な評価については論文を参照してください。


リポジトリ構成

.
├── src/            # 摂動最適化、バックボーンごとに1つのサブディレクトリ
│   ├── LLaVA/
│   ├── MiniCPM-o/
│   └── Phi-3-vision/
├── scripts/        # 学習/評価の起動スクリプト、バックボーンごとに1つのサブディレクトリ
├── dataflow/       # エージェントのデータフロー解析用CodeQLクエリパック (DataflowAnalysis.ql)
├── data/           # 再構成された学習/テスト用スクリーンショットと会話テンプレート
└── test/           # 迅速な検証用に事前生成されたクリーンおよび摂動サンプル

前提条件

このフレームワークを使用する前に、ベースモデルを手動でセットアップする必要があります。

バックボーンはライブラリ要件が競合するため、それぞれに専用の環境とローカルにダウンロードした重みが必要です。

1. MiniCPM-o

  • リポジトリ: OpenBMB/MiniCPM-o
  • セットアップ: リポジトリをクローンし、専用環境を作成し(例:conda create -n minicpm)、依存関係をインストールします。
  • 重み: 公式の重みをローカルにダウンロードし、パスを記録します。

2. LLaVA

  • リポジトリ: haotian-liu/LLaVA
  • セットアップ: リポジトリをクローンし、専用環境を作成します(例:conda create -n llava)。
  • 重み: LLaVA-v1.5/v1.6の重みをローカルにダウンロードし、パスを記録します。

3. Phi-3 Vision

  • リポジトリ: microsoft/Phi-3-vision-128k-instruct
  • セットアップ: 互換性のあるtransformersバージョンを専用環境にインストールします。
  • 重み: Phi-3-vision-128k-instructの重みをローカルにダウンロードします。

クイック検証 (Phi-3 Vision)

最小限のテストでは、クリーンおよび摂動済みの両方のスクリーンショットに対して推論を実行し、エージェントの選択を並べて比較します。

注: このテストにはPhi-3 Visionが必要です(前提条件§3を参照)。提供されている摂動画像はPhi-3用に最適化されています。他のバックボーン用のテストデータは、scripts/内の学習スクリプトで生成できます。

テストデータ

事前生成されたテストケースはtest/にあります:

test/
├── clean_fix_slot/         # クリーンなスクリーンショット、ターゲットは固定スロット位置
├── clean_multi_slot/       # クリーンなスクリーンショット、ターゲットは複数のスロット位置
├── perturbed_fix_slot/     # 摂動済みスクリーンショット (ε=16/255)、ターゲットは固定スロット
├── perturbed_multi_slot/   # 摂動済みスクリーンショット (ε=16/255)、ターゲットは複数スロット
├── conv.json               # 会話データ (システムプロンプト、ユーザークエリ、グラウンディングプロンプト)
└── verify.py               # クリーンと摂動に対して推論を実行し、結果を比較

fix_slotケースは周辺要素の変動(ターゲット位置は固定、周囲の要素が変化)をテストし、multi_slotケースは周辺要素の変動と位置のずれを同時にテストします。

テストの実行

conda activate phi3vision

# 固定スロット位置
python test/verify.py \
    --model-path /path/to/Phi-3-vision-128k-instruct \
    --conv-path test/conv.json \
    --clean-image test/clean_fix_slot/sample_0.png \
    --perturbed-image test/perturbed_fix_slot/sample_0.png

# スロット位置を変化させる
python test/verify.py \
    --model-path /path/to/Phi-3-vision-128k-instruct \
    --conv-path test/conv.json \
    --clean-image test/clean_multi_slot/sample_0.png \
    --perturbed-image test/perturbed_multi_slot/sample_0.png

期待される出力

スクリプトは、各テストケースについて、クリーン入力と摂動入力の下で選択された要素を示す比較表を出力します。クリーンなスクリーンショットでは、エージェントは最も一致する候補を選択するはずです。摂動済みスクリーンショットでは、攻撃者が制御する候補を一貫して選択するはずです。


摂動の最適化 (LLaVAの例)

各バックボーン用の専用Conda環境が整っていることを前提に、以下のワークフローではLLaVAを例として使用します。

1. LLaVAのクローン

スクリプトは、公式のLLaVAコードをホームディレクトリ(~/)から参照します:

cd ~
git clone https://github.com/haotian-liu/LLaVA.git

2. 学習スクリプトの設定

scripts/LLaVA/train_with_mask.shを開き、各パス(モデルの重み、学習データ、会話テンプレート、マスク、出力ディレクトリ)をローカル環境に合わせて設定します。

3. 実行

bash scripts/LLaVA/train_with_mask.sh

データ形式

学習データはdata/<scenario>/にあり、再構成されたスクリーンショットとtrain_samples.json会話ファイルが含まれます。会話ファイル内の画像トークンプレースホルダーは、対象のバックボーンと一致している必要があります:

バックボーンプレースホルダー
MiniCPM-o(<image>./</image>)\n
LLaVA<image>\n
Phi-3<|image_1|>\n

エンドツーエンドのエージェント評価

エンドツーエンド評価には、対象のエージェントフレームワークが必要です。

SeeAct

  • リポジトリ: OSU-NLP-Group/SeeAct
  • セットアップ: リポジトリをクローンし、公式のインストール手順に従います。
  • 使用方法: 評価では、論文に記載されているクライアント側アセット置換プロトコルを使用します。scripts/seeact/を参照してください。

VisualWebArena

  • リポジトリ: web-arena-x/visualwebarena
  • セットアップ: 公式の手順に従ってサンドボックスをセットアップします(OneStopShopショッピングサイトのデプロイを含む)。
  • 使用方法: Accessibility TreeとSet-of-Markの両方の観測モードでの評価スクリプトについては、scripts/visualwebarena/を参照してください。

データフロー解析

dataflow/DataflowAnalysis.qlは、エージェントの後処理コードにおいて、どのモデル出力トークンが実行されるブラウザアクションに流れ込むかを追跡するために使用されるCodeQLクエリです。dataflow/codeql-pack.ymlのパック定義を使用して、CodeQL CLIで対象エージェントのソースに対して実行します。


倫理

論文内のすべての公開Webサイト実験では、クライアント側アセット置換を使用しています。敵対的画像はエージェントのローカルブラウザビュー内でのみ置換され、サードパーティサイトにコンテンツがアップロードされたり変更されたりすることはありません。このフレームワークは防御的研究のみに使用してください。

引用

@article{han2026webmirage,
  title   = {Adversarial Images Hijack Web Agents from Visual Grounding to Browser Execution},
  author  = {Han, Wanjing and Li, Levi Taiji and Zhang, Mu and Jiang, Yue and Tao, Guanhong},
  journal = {arXiv preprint arXiv:XXXX.XXXXX},
  year    = {2026}
}

ライセンス

MIT。LICENSEを参照してください。

ツールをダウンロード