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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
stego_provenance_defense — エージェント型AIのためのステガノグラフィック・プロンプトインジェクション防御。デコード時の来歴バインディング、HMAC認証、MCPトラスト強制を採用。 | Kitploit
ツール/GitHubGitHub/ericyoc/stego_provenance_defense
防御ツールステガノグラフィー認証論文と研究学習と教育AIセキュリティ
GitHubericyoc/stego_provenance_defense

stego_provenance_defense

エージェント型AIのためのステガノグラフィック・プロンプトインジェクション防御。デコード時の来歴バインディング、HMAC認証、MCPトラスト強制を採用。

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

Eric Yocam on Lounge

MCPエージェントのためのデコード時来歴バインディング

テキストコンテンツスキャナを回避するステガノグラフィックなプロンプトインジェクションベクターの再現可能な概念実証と、それをデコード境界で封じ込める防御 — デコード時来歴バインディング。

教育/防御的セキュリティ研究専用。 このリポジトリ内のすべてのシークレットは 偽物です。自身が所有する、またはテストを許可されたシステムでのみ使用してください。


概要

攻撃者が被害者に一見普通のメールを送信する。メール署名内のブランドロゴが、 ステガノグラフィ(LSB、DCT、またはメタデータ)によって命令を隠蔽している。 画像は元のものと視覚的に同一で、疑わしいテキストを含まないため、 コンテンツスキャナは何も検出せず、被害者は何もクリックしない。しかし、 被害者の日常的な受信トレイ要約エージェントが署名を処理し、そのパイプライン内の ツールが画像をデコードし、隠された命令がエージェントのコンテキストに入り込む — そこでは、マルチエージェントMCPパイプラインにおいて、信頼されたピア出力として エージェント間で中継され、重要なツール呼び出しを駆動する。これがクロスモーダル 信頼洗浄である。防御であるデコード時来歴バインディングは、隠蔽を逆転する ツールが実行された瞬間にHMAC署名付きのUNTRUSTEDラベルを発行し、MCP層に 来歴の系譜自体を維持させることで、系譜が信頼されていない重要なツール呼び出しを ブロックする — たとえ侵害されたエージェントが無関係な信頼済み値に対して有効な ラベルを提示したとしても。これは検出ではなく封じ込めであるため、ペイロードの 文言やキャリアに依存しない。


結果

攻撃成功率(ASR) — 24個のペイロード(3つのキャリア × 8つの回避手法: プレーン、無害な文言、Base64、トークン分割、キリル文字ホモグリフ、ゼロ幅、 Unicode混同文字、HTMLコメント)。低いほど良い。インプロセスのテイント ベースラインは、デコード出力を信頼できないものとしてマークするが、クロスドメインの 暗号学的バインディングを持たない情報フロー制御である:

防御漏洩nASR
無防備(チェックなし)2424100%
コンテンツスキャナ(キーワード/DLP)152462.5%
正規表現インテントパーサ152462.5%
データフローテイント(IFCベースライン)0240%
デコード時来歴(本手法)0240%

テイントと来歴は単一ドメインのASRでは同等だが、敵対的な中継(下記)の下では 分岐する — これが暗号学的バインディングの要点である。

有効ラベル置換 — 侵害されたエージェントが、実際に呼び出しを駆動している UNTRUSTEDデコード起点を省略しつつ、無害なツールからの正当に署名された TRUSTEDバインディングを提示する。修正策は、MCP層が系譜自体を維持し、 エージェントが提供するバインディングではなく自身の台帳に基づいて判断することである:

強制方法判定
エージェント提供のバインディングのみ(素朴)許可(漏洩)
層が維持、依存関係を省略ブロック
層が維持、依存関係が引数内ブロック
層が維持、クリーンなコンテキスト許可

コンポーネントアブレーション — 4つのコンポーネント、それぞれが異なる攻撃を 防御する。一度に1つを無効化する。substitutionはドメイン内、forged relayは、 提示されたバインディングのみを保持するリモート検証者への信頼されていない中継を 通過する偽造TRUSTEDラベルである。重要なのは、HMAC単独では置換を止められず (台帳が止める)、台帳単独ではクロスドメイン中継を生き延びられない(HMACが 生き延びさせる)ことである:

構成HonestSubstitutionForged relay
完全なメカニズムブロックブロックブロック
− デコードマーキング漏洩漏洩漏洩
− 暗号認証 (HMAC)ブロックブロック漏洩
− 信頼された系統追跡ブロック漏洩ブロック
− シンク仲介漏洩漏洩漏洩

コンテキスト間伝播 — テイントはツール戻り値のハンドルだけでなく、エージェント間のメッセージ境界を越えて存続します。エージェント A での信頼できないデコードが、エージェント B の別コンテキストにある重要な呼び出しに到達し、仲介されたチャネル(脅威モデルがエージェント間通信に既に要求しているもの)上ではテイントが伝播し、B はブロックされます。このレイヤーが仲介しないチャネルは、構造上モデルの範囲外であり、スコープ内の漏洩ではありません:

チャネル A → BB の重要な呼び出し
仲介されたエージェント間メッセージ(スコープ内)ブロック(テイント伝播)
仲介されないサイドチャネル(モデル外)対象外

オーバーヘッドのスケーリング — MintBinding は約 O(1)(深さに関係なく約 10〜14 µs)。EnforceCritical は走査する依存クロージャに対して線形(深さ 1 で約 10 µs → 深さ 100 で約 0.66 ms → 深さ 1000 で約 6.7 ms)であり、同時にテイントされたコンテキストの数に対してはフラット(約 6〜7 µs)です。現実的なクロージャ(深さ数十)は約 0.1 ms 未満に収まります。

正当なタスクの有用性 — 監査された信頼昇格パス(特定のデコードされた値、例えば OCR された請求書番号を、認可の下で再ラベル付けする)は、攻撃がブロックされたまま誤ブロックを排除します:

レジーム完了率誤ブロック攻撃ブロック
昇格なし2/3 (67%)1はい
信頼された昇格3/3 (100%)0はい

デコードセットの完全性 — 登録の前提を直接検証:

デコードセットステゴ攻撃正当な重要な呼び出し
正しいブロック許可
デコーダ欠落漏洩許可
過度に広範ブロック誤ブロック

ハンドオフ間のラベル整合性 — バインディングは正直なリレーを経ても存続し、侵害されたワーカーに耐えます:

リレーシナリオ検証者の判定
正直なリレー、1 / 3 / 5 / 10 ホップ検証成功;ブロック
侵害: ペイロードを書き換え、HMAC を保持ブロック(HMAC 不一致)
侵害: TRUSTED を偽造ブロック(HMAC 不一致)
侵害: バインディングを剥奪ブロック(有効なラベルなし)

オーバーヘッド — 判定ポイントでは実質的に無料です: バインディングの発行と検証はそれぞれ約 8〜9 µs(合計約 17 µs)で、デコードツール呼び出しの約 11 ms と比較して追加は約 0.2% 未満です。キャリア歪みは低く(LSB ≈ 76 dB PSNR、メタデータはロスレス;DCT ≈ 18 dB — これは歪み指標であり、知覚的不可視性の主張ではありません)。


収録内容

stego_provenance_defense_poc.ipynb   # the full PoC (run top-to-bottom)
requirements.txt                     # dependencies (mcp pinned <2)

ノートブックを実行すると、すべての図、表、CSVがColabではMyDrive/stego_provenance_poc/{figures,tables,data}に(ローカルでは./stego_provenance_poc/に)書き出されます。すべての図と表はセルによって生成されるため、クリーンな実行から全体を再現できます。


実行方法

Google Colab(推奨)

  1. Colabでstego_provenance_defense_poc.ipynbを開きます。
  2. ランタイム → すべて実行。Google Driveをマウントし、依存関係を自身でインストールします。
  3. 出力はMyDrive/stego_provenance_poc/{figures,tables,data}に表示されます。

ローカル

pip install -r requirements.txt
jupyter notebook stego_provenance_defense_poc.ipynb

出力は ./stego_provenance_poc/ に保存されます。GPU はオプションです(エージェントモデルは 小規模です)。セキュリティ上の結果はモデルに依存しません。


防御の仕組み

これは、しばしば混同される 2 つの保証 を組み合わせたものであり、その貢献は HMAC 単独ではなく、両者の結合にあります。

  • データ来歴のセキュリティ: 重要なアクションは、偽造または ラベル付け替えされたデータ依存関係を介して認可できません(署名付きバインディング)。
  • コンテキスト影響の封じ込め: 重要なアクションは、信頼できない命令が 実行コンテキストに影響を与えた後、認可されたクリアランスなしには実行できません (レイヤーが維持する台帳 + コンテキストテイント)。

系統(lineage)自体を維持する MCP レイヤーにおける 2 つの決定論的処理:

  • MintBinding(各ツール内、リターン時): ツールが隠蔽変換を逆変換する場合 またはいずれかの入力が UNTRUSTED である場合(伝染性)、 {payload, tool, trust, provenance, deps} に trust = UNTRUSTED を付与し、 解決済みの入力依存関係 deps を記録し、 HMAC_k(payload‖tool‖trust‖provenance‖deps) で署名してレイヤーの台帳に書き込み、 (信頼できない場合は)コンテキストのテイント集合に追加します。
  • EnforceCritical(重要ツールの境界): エージェントが提供するバインディングではなく、 レイヤーの 台帳 に基づいて判断します。呼び出しの引数系統を解決し、 HMAC の失敗、系統の不完全性、UNTRUSTED のデータ起源、または空でない コンテキストテイントのいずれかがあればブロックし、それ以外は許可します。 系統を保持するのはエージェントではなくレイヤーであるため、侵害されたエージェントは 信頼できない依存関係を省略して隠すことはできません。

セキュリティ不変条件。 (i) 鍵が MCP レイヤーに閉じ込められていること、(ii) デコードツールの 完全な登録、(iii) すべての重要呼び出しの仲介、(iv) レイヤーが各呼び出しの完全な系統 (解決済みの引数依存関係 + 各コンテキストに入るデコード起源)を記録すること、の条件下で: 推移的な系統(データまたはコンテキスト)に UNTRUSTED のデコード起源が含まれる重要ツール呼び出しは、 監査済みの信頼できる昇格がその特定の起源をクリアしない限り、実行されません。


スコープと制限

  • この防御が守るのは アクション であり、要約テキストではありません。洗浄された命令は エージェントの文章を歪めることは依然として可能ですが、重要ツールには到達できません。
  • これは制御されたテストベッドです(24 個のペイロード、1 つのロゴ、1 つの小規模モデル、 ベースラインとしてのキーワード/正規表現スキャナとインプロセステイントトラッカー)— 実運用規模の測定ではなく、メカニズムの検証です。
  • セキュリティは、隠蔽を逆変換するすべてのツールがデコードツールとして登録されていること、 HMAC 鍵が MCP レイヤー内に留まっていること、レイヤーが各呼び出しの完全な系統を 捕捉することに依存します。最後の項目は実装上の義務です: コンテキストテイントは保守的な過大近似であるため、仲介パスやテイント追跡対象の コンテキストに決して入らない影響が残存リスクとなります(上記のデコード集合の完全性および 有効ラベル置換の結果を参照)。

脅威分類へのマッピング

  • OWASP Top 10 for Agentic Applications (2026): ASI01 Agent Goal Hijack、 ASI02 Tool Misuse、ASI06 Memory & Context Poisoning、ASI07 Insecure Inter-Agent Communication(この防御は ASI07 の制御です)。
  • OWASP Top 10 for LLM Applications: LLM01 Prompt Injection、LLM02 Insecure Output Handling、LLM06 Sensitive Information Disclosure、LLM08 Excessive Agency。

ライセンス

教育および防御的セキュリティ研究のために公開されています。LICENSE を参照してください。

ツールをダウンロード