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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ROPE — 防御框架,通过强制实施路由来源策略来防止使用工具的LLM代理中的间接提示注入,具备确定性来源检查以及用于评估攻击成功率和效用保持的基准测试工具。 | Kitploit
ツール/GitHubGitHub/xhowenma/rope
防御ツール脆弱性分析論文と研究学習と教育AIセキュリティ
GitHubxhowenma/rope

ROPE

防御框架,通过强制实施路由来源策略来防止使用工具的LLM代理中的间接提示注入,具备确定性来源检查以及用于评估攻击成功率和效用保持的基准测试工具。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

ROPE: Routed Origin Policy Enforcement

本論文のソースコード:

ROPE: Routed Origin Policy Enforcement against Indirect Prompt Injection by Xinhang Ma, Chaowei Xiao, William Yeoh, Ning Zhang, Yevgeniy Vorobeychik

概要

間接プロンプトインジェクション(IPI)は、ツールを使用するLLMエージェントが読み取るコンテンツに命令を埋め込み、エージェントを有害なツール呼び出しへと誘導します。最も強力な防御はシステムレベルであり、タスク条件付きツールスクリーニングなどの手法を用いて悪意のあるツールの実行を防ぎ、情報フロー制御によって信頼できないパラメータでのツール実行を回避します。しかし、エージェントがより高性能になるにつれ、ユーザーは自動化に多くの処理を委任するようになります。その結果、ツール実行シーケンスとパラメータ値は実行時に決定されることが増え、ユーザークエリのみに含まれる情報を用いて大きなユーティリティ損失なしに確実にスクリーニングすることはできません。本稿では、構造的な信頼概念に基づくROPE(Routed Origin Policy Enforcement)を提案します。値が状態変更ツールに到達できるのは、その値がユーザー、ユーザーが明示的に指定したソース、またはユーザー自身の権威ある記録に偽造不可能な形で由来する場合のみです。執行は、監査済みの機密ツールパラメータセットに対する決定的な由来チェックであり、言語モデルへの依存は攻撃者の手の届かない信頼されたユーザーリクエストのみに限定されます。本手法は2つの証明可能な保証を提供します: 1) 軌跡の各ステップにおいて、攻撃者が書き込み可能なコンテンツのみを由来とする値が由来ガード付きパラメータに到達しないこと、2) インジェクションの言い換えによって許可判断が変わらないこと。広範な実験評価を通じて、オープンエンドなエージェントスイート上の4つのエージェントモデルにおいて、ROPEは攻撃成功率を1.6〜2.6%に抑えつつ、非防御時のクリーンユーティリティの82〜100%を維持し、複雑な動的ワークフローにおいて最先端のシステムレベル防御をユーティリティで大幅に上回り、同等以上のセキュリティを達成することを示します。さらに、ROPEに対するインジェクションの最適化はほぼ効果がなく、従来のシステムレベル防御を打ち破る長期的攻撃は本手法では成功率ゼロを達成します。

リポジトリ構成

パス内容
src/rope/防御機構: ルーター、タスク別スコープ、ポリシーコンパイラ、由来トラッカー、実行時ガード。
src/rope/scopes/_floor/<suite>.jsonスイート別の監査済み機密ツール/パラメータテーブル(全ルーターで共有)。
src/rope/scopes/<router>/<suite>.json評価対象の3つのルーター(opus、gemini-3-flash、gpt-oss-20b)のタスク別スコープのキャッシュ — 論文のルーター出力のオフラインリプレイ。
src/common/ルーターが使用するLLM完了キャッシュ(信頼された入力呼び出しのみ)。
autodojo/主要なベンチマークハーネスと適応的攻撃: 評価対象の6つのスイートすべてを直接サポート: banking、slack、travel(AgentDojoの4つのうち3つ)およびgithub、shopping、dailylife(AgentDyn由来)。
agentlab/長期地平ベンチマーク: AgentLABのTask-Injection攻撃とその公開済み攻撃トレース、およびリプレイドライバ。agentlab/README.mdを参照。
runs/4つのエージェントモデルすべてのROPE実行ログ(JSON)、およびruns/ablation/(2つの固定ポリシーアーム)とruns/router/(より安価なルーター、クランプあり/なし)、および報告されたROPE数値をログから再計算するスクリプト。

セットアップ

Python 3.12にopenai、pydantic、jsonschema、pyyaml(ネイティブGeminiパスにはgoogle-genaiも)が必要です。リポジトリルートから:

root@kitploit:~
export PYTHONPATH=$PWD/autodojo/src:$PWD/src

同梱ログから報告数値を再現(APIアクセス不要)

root@kitploit:~
cd runs
python aggregate.py         # スイート別CU / UA / ASR + 全体(両ベンチマーク)
python adaptive_rope.py     # 静的 vs 適応的、CU/UA/ASR(AutoDojo攻撃、両ベンチマーク)
python longhorizon_rope.py  # 長期地平(AgentLAB Task-Injection)
python ablation.py          # ポリシーアブレーション: 常に完全指定 / 常にアクションオープン
python router.py            # より安価なルーター、執行クランプあり/なし
python failures.py          # 失敗センサス: すべての残存攻撃成功 + クリーンタスク失敗
python buckets.py           # カテゴリ別(過少指定バケット)テーブル
python router_deviation.py  # 監査済みフロアに対するルーター別の緩和/厳格化カウント

各スクリプトはログからテーブルを再計算して出力します。期待値を保持するものはありません。 buckets.pyとrouter_deviation.pyは上記のようにPYTHONPATHの設定が必要です(スイート定義とキャッシュ済みスコープを読み取ります)。その他は同梱のJSONログのみを読み取ります。

runs/<model>/<suite>/user_task_*/、runs/ablation/<policy>/<suite>/user_task_*/および runs/router/<router>[-clamp]/<suite>/user_task_*/には、評価セルごとに1つのJSONが格納されます: none/(クリーン)、 important_instructions/(静的攻撃)、autodojo/(適応的攻撃)、および agentlab_longhorizon/(長期地平段階的攻撃)。

スコアリング修正。 3つのベンチマークオラクルは実行ブロック防御に対して不健全です。 runs/corrections.pyは3つの効果ベースの再スコアリング — slack IT5、 dailylife IT7、github IT1 — をディスパッチし、集約器がそれらを適用します。各モジュールのdocstringは 成果物と修正内容を文書化しています。CUとUAは決して変更されません。

防御機構の実行

root@kitploit:~
# 主結果構成(キャッシュ済みopusルーター、厳密マッチング、クランプなし):
python -m rope.run_eval --suite github --attack important_instructions
python -m rope.run_eval --suite github --attack none            # クリーンユーティリティ
python -m rope.run_eval --suite github --defense passthrough    # 非防御ベースライン

# ルーター研究のより安価なルーター、オプションで監査済みフロアにクランプ:
python -m rope.run_eval --suite github --router gemini-3-flash --clamp

# ライブルーター(実行時に任意のOpenAI互換モデルでスコープを再計算):
python -m rope.run_eval --suite github --router live --router-model openai/gpt-4o-mini --clamp

# 適応的攻撃: キャッシュ済みAutoDojo最適化インジェクションをリプレイ
AUTODOJO_CACHE=$PWD/autodojo/variant_generation/variants/github/openai/gpt-4o-mini/routed/injections.json \
  python -m rope.run_eval --suite github --attack autodojo

# 長期地平攻撃: AgentLABのキャッシュ済みトレースをリプレイ(agentlab/README.mdを参照)
python agentlab/run_eval.py --suite banking --user-task user_task_0 --injection-task injection_task_0

環境変数: OPENROUTER_API_KEY(エージェントモデルとライブルーター。報告されたすべての実行は エージェントモデルをOpenRouter経由で呼び出します)、 ROPE_AGENT_MODEL(デフォルトopenai/gpt-4o-mini)、 ROPE_PIPELINE_TAG(実行ログのタグ付け用。攻撃テンプレートが解決できるようAgentDojoモデル名を含める必要があります)。

キャッシュ済みルーターにより、ルーティング側では防御機構は完全に決定的でAPI不要になります: opus は6つのスイートすべてをカバーし、gemini-3-flashとgpt-oss-20bはAgentDynスイート(ルーター 研究のスコープ)をカバーします。独自のルーターを評価するには、一度キャッシュして組み込みのように再利用します:

root@kitploit:~
python -m rope.cache_router --router my-router --router-model <llm-id> --suite github
python -m rope.run_eval     --router my-router --suite github --attack important_instructions

謝辞

本リポジトリは以下をベンダー提供または基盤としています: AgentDojoおよびAgentDyn(ベンチマークスイート)、AutoDojo(適応的攻撃)、およびAgentLAB(長期地平ベンチマークとTask-Injection攻撃トレース)。詳細は各論文を参照してください。

参考文献

本研究成果が役立つ場合は、以下の引用をいただければ幸いです:

root@kitploit:~
@article{rope,
  title={ROPE: Routed Origin Policy Enforcement against Indirect Prompt Injection},
  author={Ma, Xinhang and Xiao, Chaowei and Yeoh, William and Zhang, Ning and Vorobeychik, Yevgeniy},
  journal={arXiv preprint arXiv:2608.27496},
  year={2026}
}
ツールをダウンロード