Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
AgentWatcher — LLMエージェントにおける間接的なプロンプトインジェクションに対する因果的文脈帰属とルールベースのモニターLLM防御。AgentDynおよび他のベンチマークで最先端のパフォーマンスを達成。 | Kitploit
ツール/GitHubGitHub/wang-yanting/agentwatcher
機械学習論文と研究学習と教育AIセキュリティ敵対的攻撃
GitHubwang-yanting/agentwatcher

AgentWatcher

LLMエージェントにおける間接的なプロンプトインジェクションに対する因果的文脈帰属とルールベースのモニターLLM防御。AgentDynおよび他のベンチマークで最先端のパフォーマンスを達成。

リポジトリを見る
9265ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

AgentWatcher

AgentWatcher は、LLMエージェントにおける間接的なプロンプトインジェクションに対する検出ベースの防御手法です。まず、信頼できないコンテキストに対して因果的コンテキスト属性推定(causal context attribution)を実行し、最も影響力の高いコンテキストを特定します。次に、モニタLLMを適用して、明示的でカスタマイズ可能なルールに基づいてそれらのコンテキストを分類します。完全なブラックボックス検出器と比較して、このパイプラインは解釈が容易です。属性推定によりモデルがどこに注目したかが示され、モニタLLMの判断はルールに基づいた推論に依拠します。モニタLLMの出力例を以下に示します。

AgentWatcherの出力例

このルールベースの検出は、モニタLLMの推論能力を活用して、実用性と堅牢性の間でより良いトレードオフを実現できます。AgentWatcher は、AgentDyn などのLLMエージェントベンチマークにおいて最先端のパフォーマンスを達成しています。

AgentWatcherの出力例

このリポジトリは、論文の主要な実験を再現するためのものです。

🔨 要件

  • Python 3.10以上(conda環境でテスト済み)。
  • バックエンドLLM用のCUDA GPU(vLLMは任意で使用可能)。
  • データセットとモデルへのHugging Faceアクセス。
root@kitploit:~
pip install -r requirements.txt
huggingface-cli login   # gatedモデルに必要な場合

🤗 Hugging Face上のモニタLLM

学習済みモニタはLoRAアダプタ(PEFT)です。デフォルトでは、main.py はSecureLLMSys上のHubチェックポイント SecureLLMSys/AgentWatcher-Qwen3-4B-Instruct-2507 を自動的に読み込みます(--monitor_llm で上書き可能)。

🔬 実験の実行

すべてのランチャーは scripts/ にあります。これらはAgentWatcherリポジトリのルートから実行することを前提としています(または先に cd してください)。まず、export OPENAI_API_KEY=<YOUR_KEY> でOpenAIキーを設定してください。実行前に、お使いのスイープに合わせてPythonランチャー(all_datasets、all_defenses、gpus、name、モデルなど)を編集してください。

ロングコンテキストベンチマーク(main.py)

バッチジョブ(ローカルGPUまたはSlurm):

root@kitploit:~
python scripts/run_long_context.py

これにより、vLLM(--use_vllm)を使用して main.py が実行され、ログは logs/main_logs/<name>/... の下に書き込まれます。ローカルGPUがない場合は、scripts/main.sh を介してSlurmにジョブを送信します。

ランチャーを使わない単発実行:

root@kitploit:~
python main.py \
  --dataset lcc_long \
  --attack combined \
  --defense agentwatcher \
  --backend_llm Qwen/Qwen3-4B-Instruct-2507 \
  --monitor_llm SecureLLMSys/AgentWatcher-Qwen3-4B-Instruct-2507 \
  --use_vllm \
  --name my_run

main.py のオプションの属性推定上書き:--w_s、--w_l、--w_r、--K、--attribution_model。

AgentDojo

AgentDojo/AgentDynを実行するには、まずPIArena(https://github.com/sleeepeer/PIArena)に従って環境をセットアップしてください。

root@kitploit:~
cd agents/agentdojo && pip install -e . && cd ../..

次に実行します:

root@kitploit:~
python scripts/run_agentdojo.py

これにより main_agentdojo.py が呼び出され、ログは logs/agentdojo_logs/... の下に書き込まれます。ローカルGPUがない場合は、Slurm用に scripts/main_agentdojo.sh を使用します。手動で単発実行する場合は、リポジトリルートから python main_agentdojo.py --model ... --defense agentwatcher --monitor_llm ... を呼び出すことができます。ラッパーが必要とする場合は、PIARENA_DEFENSE / PIARENA_MONITOR_LLM を設定してください。Defense agentwatcher は PIMonitorLLMDefenseAdapter を使用します。

AgentDyn

root@kitploit:~
./scripts/run_agentdyn.sh

任意:./scripts/run_agentdyn.sh --model gpt-4o-2024-08-06 を実行すると、バックボーンLLMとしてgpt-4oを使用してagentwatcherを実行できます。このスクリプトは agentdojo conda環境を有効化し、agents/agentdyn/src から実行します。実行が中断されないように、tmux の使用を推奨します。

InjecAgent

root@kitploit:~
python scripts/run_injecagent.py

これにより main_injecagent.py が起動され、ログは logs/main_logs/... の下に記録されます。Slurmエントリポイント:scripts/main_injecagent.sh。

ランチャーを使わない直接起動:

root@kitploit:~
python main_injecagent.py \
  --model meta-llama/Llama-3.1-8B-Instruct \
  --defense agentwatcher \
  --monitor_llm SecureLLMSys/AgentWatcher-Qwen3-4B-Instruct-2507 \
  --name my_injecagent_run

謝辞

  • このプロジェクトは、PIArena、AgentDojo、AgentDyn、InjecAgent、AT2 のコードを利用しています。

引用

このコードを使用する場合は、AgentWatcher の論文(公開され次第)を引用してください。

ツールをダウンロード