Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AgentDojo 再現・追試

論文: AgentDojo: A Dynamic Environment to Evaluate Attacks and Defenses for LLM Agents (Debenedetti et al., ETH Zurich, arXiv:2406.13352) 公式リポジトリ: https://github.com/ethz-spylab/agentdojo

LLM エージェントが外部ツール出力経由のプロンプトインジェクションで乗っ取られるか (ツール連鎖の危険性)を、utility と ASR の2軸で評価する。

構成

agentdojo/
├── .venv/            # 専用 venv (Python 3.13, agentdojo 0.1.35)
├── .env              # API キー (.gitignore 済み。コミット禁止)
├── .env.example      # キーのテンプレート
├── src/
│   └── run_gemini.py # Gemini(AI Studio API キー経路)で回すカスタムランナー
├── docs/
│   ├── setup.md      # 環境構築とAgentDojoの用語
│   ├── api-key.md    # APIキーとGemini固有の設定
│   ├── execution.md  # 実行方法・注意点・過去の結果
│   └── run-gemini.md # カスタムGeminiランナーの役割と機能
├── configs/          # 実験設定
└── runs/             # 実行ログ (.gitignore 済み)

クイックスタート

cd reimplementation/agentdojo

# API キー設定 (未設定の場合)
cp .env.example .env   # 編集して GOOGLE_API_KEY を入れる

# 配線確認だけ (LLM を呼ばない = クォータ非消費)
.venv/bin/python src/run_gemini.py --dry-run -s banking

# 攻撃なしで utility を1件
.venv/bin/python src/run_gemini.py -s workspace -ut user_task_0

# 攻撃ありで ASR を1件
.venv/bin/python src/run_gemini.py -s banking -ut user_task_0 \
    -it injection_task_0 --attack important_instructions

詳細は次のドキュメントを参照。

注意

  • 標準 CLI (agentdojo.scripts.benchmark) は Gemini を Vertex 経路で呼ぶため、 AI Studio の API キーでは動かない。本フォルダの run_gemini.py が API キー経路を提供する。
  • ベンチマーク実行は外部 API を呼ぶ=課金/クォータを消費する。段階的に回すこと。

About

プロンプトインジェクションの評価フレームワークの再現実験

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages