エージェントの保護:ローカルホストトンネルへの幻覚ウォーターマークの注入

エージェントの保護:ローカルホストトンネルへの幻覚ウォーターマークの注入
幻覚を起こすエージェントは単なる迷惑ではなく、企業のリスクです。自律型AIエージェントがlocalhostトンネルやModel Context Protocol (MCP)サーバーを通じてデータベースやファイルシステム、実行環境にアクセスするにつれ、*モデルが間違った場合に何が起きるか*という問題は、哲学から運用上のセキュリティへと移行しています。本記事では、トンネル内にVerification Proxyを実装する方法を解説します。これは、ローカルモデルが生成する各トークンをリアルタイムで健全性チェックし、インフラに触れる前に安全性を確保する仕組みです。
2026年の脅威環境:なぜlocalhostトンネルが狙われるのか
エージェントのローカル・企業環境への統合は、セキュリティチームの予想を超えて加速しています。開発者はngrokやCloudflare Tunnels、直接のMCP統合などを使い、Llama 3、Mistral、GraniteなどのLLMを内部実行環境と橋渡ししています。
これらの数字はもはや理論的なものではありません。GraviteeのState of AI Agent Security 2026 Report(2026年2月)によると、技術チームの80.9%が計画段階を超え、積極的なテストや本番運用に移行しています。ただし、14.4%のみが完全なセキュリティとIT承認を得て本番稼働しています。2026年4月に公開されたCloud Security Allianceの調査では、82%の組織が未知のAIエージェントをITインフラ上で稼働させており、過去12ヶ月でAIエージェント関連のインシデントを経験した企業は3分の2にのぼります。
2025年後半から2026年にかけて爆発的に拡大したMCPエコシステムは、特に火種となっています。2026年1月から2月だけで、セキュリティ研究者はMCPサーバー、クライアント、インフラを狙った30件以上のCVEを報告しています。Endor Labsの分析によると、2,614のMCP実装のうち:
- 82%がパスの横断攻撃に脆弱なファイル操作を使用
- 67%がコードインジェクションに関わるAPIを利用
- 34%がコマンドインジェクションに脆弱なAPIを利用
これらは理論上のリスクではありません。各カテゴリには、公開されたエクスプロイトを伴うCVEが少なくとも一つ存在します。
MCPリファレンス実装の問題点
最も衝撃的な発見は、AnthropicのリファレンスGit MCPサーバーが、2026年1月に公開された3つの重大な脆弱性(CVE-2025-68143、CVE-2025-68144、CVE-2025-68145)を含んでいたことです。これらは、設定されたリポジトリ範囲外へのパス横断、GitPythonへのユーザ制御の引数インジェクション、任意のファイル上書きにつながり、Filesystem MCPサーバーと連携してリモートコード実行を可能にしました。リファレンス実装にこれらの脆弱性がある場合、少ないリソースで構築されたサードパーティのMCPサーバーは最初から疑わしいものとみなすべきです。
2026年4月、OX Securityの研究者は、AnthropicのMCP SDKに関するシステム的なアーキテクチャの脆弱性を公開しました。これはPython、TypeScript、Java、Rustに影響し、合計で1億5千万以上のダウンロードを持つソフトウェアパッケージや、20万以上の公開サーバーをコマンドインジェクションを通じて乗っ取りのリスクにさらしています。
従来のセキュリティコントロールの限界
ファイアウォール、DLPポリシー、RBACは予測可能な線形フローを前提としています:リクエストが到達し、システムが処理し、レスポンスが返る。これに対し、AIエージェントはこのモデルに従いません。
エージェントは単一のユーザープロンプトを受け取り、その後複数のシステムにわたる隠されたアクションを十数回実行し、最終的に人間が結果を見るまで続きます。localhostトンネルにアクセスする際の主な脅威は:
幻覚によるツールの誤用。 モデルは、構文的に正しいが文脈的に危険なAPI呼び出し(例:DROP TABLEクエリ、rm -rf、大量データエクスポート)を自信を持って生成しますが、誤りを犯していることに気づきません。
間接的なプロンプトインジェクション。 エージェントは、攻撃者が埋め込んだ悪意のある指示を含む外部データ(メール、Webページ、GitHubのIssue)を読み込みます。2026年11月のLakera AIの研究では、毒されたデータソースがエージェントの長期記憶を汚染し、セキュリティポリシーに関する誤った信念を持たせるケースが示されました。これにより、エージェントは人間に質問されると、積極的に誤った信念を守る「スリーパーエージェント」のシナリオが生まれます。
特権の拡大。 State of AI Agent Security 2026レポートによると、45.6%のチームが依然として共有APIキーを使ったエージェント間認証に頼っており、21.9%のみがエージェントを独立したアイデンティティとして扱っています。エージェントは広範な権限を持つサービスアカウントとして動作し、最小権限の原則を完全に無視しています。
サプライチェーンの毒殺。 OX Securityの研究者は、11のMCPマーケットプレイスのうち9つに対し、悪意のあるサーバーを仕込むことに成功しました。1つの悪意あるMCPエントリは、多数の開発者によってインストールされ、攻撃者は任意のコマンドを実行できる状態になります。
自律的なワークフローの安全確保には、localhost環境での悪意ある行動や幻覚を検知・阻止する仕組みが必要です。モデルに自己規制を期待せず、独立した検証層が必要です。
Verification Proxyとは何か?
Verification Proxyは、推論エンジン(出力を生成するLLM)とツール実行環境(localhostトンネルやMCPサーバー)の間に直接位置する、軽量でゼロトラストのミドルウェア層です。
エージェントのツール呼び出しペイロードを直接ルーティングする代わりに、プロキシはJSONペイロードをインターセプトし、厳格な数学的健全性チェックを行います。ただ「有効なJSONか?」や「エンドポイントは存在するか?」といった表層的な問いだけではなく、より深い質問をします:“モデルがこのコマンドを生成したときの確信度はどれくらいか?”
トラフィックをインターセプトすることで、Verification Proxyは動的で文脈に応じた認可を強制します。高リスクな操作(ファイル削除、大量データエクスポート、データベース書き込み、システム再起動)について、モデルの内部不確実性が示された場合はブロックし、幻覚的なワークフローに対するプログラム可能なキルスイッチを作ります。
LLMの確信度ウォーターマーキングの理解
Verification Proxyを機能させるために、LLM確信度ウォーターマーキングという概念を利用します。これは、推論エンジンからトークンレベルの確率メタデータを抽出し、それを暗号的にツール呼び出しペイロードに結びつける仕組みです。
トークン確率の数学
LLMが応答を生成する際、全体の文章として考えるのではなく、次のトークンを確率分布に基づいて予測します。これらの確率は、現代の推論サーバーではlog probabilities (logprobs)として公開されます。
数学的な直感はシンプルです。シーケンスのログ確率(Seq-Logprob)は、出力内の各トークンの条件付き確率の対数の合計です:
Seq-Logprob = Σ log P(yₖ | y<k, x, θ) for k = 1 to L
モデルが本当に不確かなトークンを生成した場合、そのトークンのlogprobは著しく低くなり、全体のSeq-Logprobも下がります。DeepchecksやCVS HealthのUQLMライブラリの研究は、低いSeq-Logprobスコアが幻覚コンテンツと強く相関し、誤った情報や捏造の可能性を警告します。
高エントロピー(多くの可能なトークンにわたる平坦な確率分布)は、幻覚の主要な数学的指標です。モデルが確信しているときは、一つのトークンが分布を支配します。推測しているときは分布が平坦になります。
ただし、2026年1月のarXivの研究では、従来のトークンレベルのエントロピーは高確信の幻覚を捉えられないと警告しています。これに対して、Expected Calibration Error (ECE)は、モデルの信頼度と実際の精度のギャップを測る重要な補完指標です。堅牢なVerification Proxyは両者を組み合わせるべきです。
実運用に耐える幻覚検出
これはもはや理論の域を超えています。現在、以下のアプローチが実運用速度で利用可能です:
ホワイトボックスのトークン確率(vLLM、Ollama、TGI)。 現代の推論サーバーはlogprobsを生成テキストとともに公開します。CVS HealthのUQLMライブラリはこれらを[0,1]の信頼度スコアに標準化します。オーバーヘッドはほとんどなく、これらのスコアラーは元の生成時のトークン確率だけを必要とし、追加のモデル呼び出しは不要です。
HaluGate(vLLMブログ、2025年12月)。 vLLMの推論インフラ上に構築された二段階のトークンレベル幻覚検出パイプライン。第一段階はクエリが事実検証を必要とするかどうかを分類し、コストの高い検出をスキップします。第二段階はトークンレベルのNLI(自然言語推論)ベースの検証を適用。総オーバーヘッドは76–162msで、通常のLLM生成時間(5–30秒)に比べて無視できるため、同期リクエストに適しています。
Datadog LLM可観測性。 Datadogの幻覚検出製品は、モデル内部にアクセスせずとも、信頼度分布を監視し、モデルのドリフトやプロンプトの劣化を示すシフトを検知します。
2025年までに、ゼロ幻覚を追い求める時代から不確実性を管理し、予測可能な方法で扱う時代へと変化しています。Gartnerは、2027年末までにエージェント型AIプロジェクトの40%以上が信頼性の懸念で中止されると予測しており、信頼度の計測はセキュリティだけでなくビジネス継続性の観点からも重要です。
ウォーターマークの注入
エージェントセキュリティの文脈での確信度ウォーターマーキングは、logprob抽出を一歩進めたものです:
- 推論エンジンがツール呼び出しペイロード(例:
{"command": "rm -rf /temp"})を生成。 - エンジンは、そのペイロード内の敏感なフィールドのトークンの平均logprobとエントロピーの分散を計算。
- そのペイロードと確信度スコアを暗号的にHMACで生成。
- 署名されたペイロードをVerification Proxyに送信。
推論層で確信度スコアに暗号署名を行うことで、モデルが不確実だったペイロードに対し、「高信頼」メタデータタグを偽装する高度なプロンプトインジェクション攻撃を防止します。
防御の設計:段階的実装
フェーズ1:ポリシーベースのアクセス制御(PBAC)マッピング
localhostトンネル内のツールをリスクの重大度に応じて分類します。すべてのツールが同じレベルの精査を必要とするわけではありません。
| リスク層 | 例:ツール | 最低信頼度閾値 |
|---|---|---|
| 低(読み取り専用) | get_weather, read_log_file, search_docs |
> 70% |
| 中(状態変更) | update_ticket, send_email, create_record |
> 85% |
| 高(破壊 / システム) | execute_sql_write, delete_user, run_bash_script |
> 95% |
| クリティカル(不可逆) | drop_table, rm -rf, bulk_export |
> 98% + 人間の介入 |
この層別モデルは、OWASPのエージェント信頼スコープのガイダンスに沿い、権限は必要最小限にとどめるべきと明示しています。
フェーズ2:プロキシのインターセプトロジック
モデルがツールを使用する決定をしたとき、ペイロードがプロキシによりインターセプトされ、以下のチェックがミリ秒以内に行われます:
署名検証。 HMACウォーターマークの正当性を確認し、ペイロードとlogprobsが承認された推論エンジンから真正に生成されたもので改ざんされていないことを保証。
意図解析。 エージェントが呼び出そうとしているローカルツールを特定し、それをPBAC層にマッピング。
閾値評価。 ウォーターマークされた信頼度スコアを、そのツールのPBAC閾値と比較。例:write_database呼び出しが82%の信頼度で到着し、95%の閾値に満たない場合はブロック。
文脈ヒューリスティクス。 ペイロード内の既知のプロンプトインジェクションの兆候(異常なbase64エンコーディング、シェル演算子によるコマンド連結、予期しない引数構造、パス横断シーケンス../..など)を評価。
フェーズ3:キルスイッチとグレースフルな劣化
実行をブロックした場合でも、ワークフローはクラッシュしません。代わりに、LLMに構造化されたエラーメッセージを返します:
{
"status": "blocked",
"agent_feedback": "実行はブロックされました:信頼度スコア0.82は、write_databaseのための必要閾値0.95を下回っています。人間の承認を求めるか、まずは安全な読み取り専用の検証ステップを使用してください。"
}
これにより、エージェントはループバックし、人間に確認を求めたり、より安全なツールを使ったりして、破壊的な行動を再試行します。
概念的コード:PythonによるVerification Proxy
以下はFastAPIを用いた概念例です。localhostトンネルのゲートキーパーとしての動作を示します。
import hashlib
import hmac
import json
from fastapi import FastAPI, HTTPException, Request
app = FastAPI()
# 推論エンジンとプロキシ間で共有される秘密鍵
SECRET_KEY = b"enterprise_secure_agent_key_2026"
# ツールごとのリスク層別信頼度閾値
TOOL_THRESHOLDS = {
"read_database": 0.70,
"update_ticket": 0.85,
"send_email": 0.85,
"write_database": 0.95,
"execute_bash": 0.97,
"delete_record": 0.98,
}
def verify_watermark(payload: str, confidence: float, signature: str) -> bool:
"""モデルが生成した確信度スコアの暗号的な証明を検証"""
message = f"{payload}:{confidence}".encode("utf-8")
expected_sig = hmac.new(SECRET_KEY, message, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected_sig, signature)
@app.post("/proxy/execute")
async def execute_tool(request: Request):
data = await request.json()
tool_name = data.get("tool_name")
payload = data.get("payload")
confidence_score = data.get("confidence_score")
cryptographic_sig = data.get("signature")
# 1. ウォーターマークの改ざん検知
if not verify_watermark(json.dumps(payload), confidence_score, cryptographic_sig):
raise HTTPException(
status_code=403,
detail="ウォーターマークの整合性検証に失敗しました。実行を停止します。"
)
# 2. PBAC閾値の適用
required_confidence = TOOL_THRESHOLDS.get(tool_name, 0.99) # デフォルト:最大セキュリティ
if confidence_score < required_confidence:
print(
f"[SECURITY] ブロック:{tool_name}には{required_confidence:.0%}の信頼度が必要です。"
f"エージェントは{confidence_score:.0%}を提供しました。"
)
return {
"status": "blocked",
"agent_feedback": (
f"信頼度スコア {confidence_score:.0%} は、{tool_name} のための閾値 {required_confidence:.0%} を下回っています。"
"人間の承認を求めるか、詳細な情報収集を行ってください。"
),
}
# 3. localhostトンネルへ転送
print(f"[TUNNEL] {tool_name} を確信度 {confidence_score:.0%} で実行")
# execute_in_local_environment(tool_name, payload)
return {"status": "success", "data": "ツールは安全に実行されました。"}
このアーキテクチャは、LLMを信頼できる内部ユーザではなく、潜在的に侵害された外部エンティティとみなし、継続的な検証を要求するゼロトラストの原則に基づいています。
マルチエージェントワークフローのセキュリティ:カスケード問題
Verification Proxyの必要性は、マルチエージェントシステムにおいて指数関数的に拡大します。2026年の標準的なアーキテクチャでは、研究者エージェントがWebを閲覧し、コーダーエージェントがスクリプトを生成し、それをDevOpsエージェントがlocalhostトンネルを通じて実行します。
Stellar Cyberの2026年3月の分析では、カスケーディング幻覚攻撃が最も危険な新たな脅威クラスの一つとされています。もし一つのデータ取得エージェントが侵害または幻覚を起こすと、そのデータは下流のエージェントに渡り、誤った情報を拡散します。信頼された入力に基づき、エラーはシステム全体に高速で拡大。従来のパイプラインの失敗と異なり、推論の連鎖は不透明で、最終的な誤判断だけが見え、どのエージェントが誤りをもたらしたか追跡しにくいのです。
パイプライン全体への確信度メタデータの伝播
安全なマルチエージェントワークフローでは、確信度のウォーターマークはデータとともに伝播すべきです。
研究者エージェントが共有エージェントメモリに結果を書き込むとき、その確信度メタデータも付加されます。最終的なツール呼び出しを行うDevOpsエージェントは、すべての上流エージェントの確信度を加重平均した複合確信度スコアを計算します。
もし上流のエージェントが低信頼の出力を生成した場合、最終エージェントが高信頼のトークン列を生成しても、プロキシはその実行リクエストをペナルティします。これにより、侵害された上流エージェントの横移動がネットワークの境界で阻止され、システム全体への誤情報拡散を防ぎます。
アイデンティティガバナンスのギャップ
2026年のAIエージェントセキュリティの根本的な認識は、「エージェントはアイデンティティである」というものです。多くのIAMシステムはこれに対応できていません。
State of AI Agent Security 2026レポートでは、27.2%の技術チームが未だにカスタムのハードコーディングされたロジックでエージェントの認可を管理しており、21.9%のみがエージェントを独立したアイデンティティとして扱っていると指摘しています。エージェントが資格情報を共有したり、常設のサービスアカウントを使ったりすると、責任追跡が困難に。さらに、25.5%のエージェントが他のエージェントを作成・指示できる能力を持つ場合、そのコマンドチェーンの監査は従来のIAMでは不可能です。
Verification Proxyは、このギャップを埋めるために、JIT(ジャストインタイム)プロビジョニングをツール実行の境界で強制します。アクセス判断は実行時に行われ、次の条件に基づいて権限を動的に調整します:
- 最初のプロンプトを開始した人間のアイデンティティ
- アクセスされるデータの機密性分類
- エージェントの生成意図の数学的確信度(信頼度ウォーターマーク)
- 上流エージェントの貢献における確信度の系統的な追跡
権限はプロビジョニング時に固定されず、ワークフローに合わせて進化します。これは、1つのエージェント型パイプラインが複数のリスクプロファイルを持つシステムにおいて重要な差異です。
既知の制約と補完的コントロール
信頼度ウォーターマーキングは強力ですが、万能ではありません。次の2つの失敗モードを明示します:
高信頼度幻覚。 2026年1月のarXiv研究で指摘されたように、トークンレベルのエントロピーは、モデルが誤った答えに過信している場合には効果がありません。ECEに基づく較正や、LLMを判定者とした二次検証が必要です。
ブラックボックスモデル提供者。 GPT-4oやClaude Sonnet(Anthropic API経由)などのクローズドソースAPIは、すべての出力タイプにlogprobsを公開しません。特に構造化されたツール呼び出しJSONではそうです。こうした場合、コヒーレンスサンプリング(同じ出力を複数回生成し分散を測定)、NLIによる忠実度スコアリング、Datadogの行動監視などのブラックボックス検出手法が、logprobアクセスの代替として機能します。
これらの層を組み合わせることで、ホワイトボックスのlogprobウォーターマーキング(利用可能な場合)、ブラックボックスのコヒーレンスサンプリング、行動監視を併用し、幻覚リスクに対する深層防御を実現します。
実践的な推奨事項
エージェントをlocalhostトンネルやMCPサーバーに展開する前に、以下の点を実行してください:
MCPの攻撃面を即座に監査。 Endor Labsの調査では、82%のMCP実装にパス横断リスクがあり、2026年の最初の60日間で30件以上のCVEが報告されています。信頼できるソースからのみサーバーをインストールし、MCP対応サービスはサンドボックス化し、ファイルシステムやシェルの実行権限を最小限に制限してください。
推論層にlogprobsを導入。 vLLM、Ollama、TGIを使う場合は、logprob出力を有効にし、信頼度スコアリングのためのデータパイプラインを構築してください。ホストAPIを使う場合は、logprobsを公開しているかどうかを評価し、計画を立ててください。
エージェントの本番展開前に層別PBACを実装。 実行環境内のすべてのツールをリスク層にマッピングし、実行許可のための最小信頼度閾値を定義してください。破壊的または不可逆的なツールに信頼度ゲートがないと、制御不能なリスクとなります。
すべてのツール呼び出しをプロキシ境界でログ。 ブロックされた場合も許可された場合も、ツール名、信頼度スコア、PBAC閾値、暗号署名結果、人間の起動者のIDを含む構造化ログを記録してください。インシデント時のフォレンジックの基盤となります。
エージェントを外部アイデンティティとして扱い、信頼された内部者ではないことを徹底。 共有APIキーや静的サービスアカウントから移行し、JITプロビジョニングを適用。権限は必要最小限の有効期間に限定し、ワークフロー完了後は即座に取り消してください。
結論
「火をつけて放置」型のLLM統合モデルは終わりました。幻覚によるインフラコマンドのリスク、ワークフローの静かなドリフト、多ターンのプロンプトインジェクションの高度な手法は、2026年にはエッジケースとして扱えません。
ツール呼び出しペイロードにLLMの確信度ウォーターマークを注入し、それをVerification Proxyで強制することは、エージェントのセキュリティに対する原則的かつ数学的根拠に基づくアプローチです。これにより、セキュリティ態勢は受動的から能動的へと変わり、「侵害を検知した後に対処」から「不確実な行動を実行前にブロック」へと進化します。
自律エージェントはすでに現場にあります。運用中です。そして、機械速度で誤りを犯しています。Verification Proxyは、その誤りを封じ込めるための仕組みです。
参考資料・詳細:State of AI Agent Security 2026(Gravitee、2026年2月)・OX Security MCP Supply Chain Advisory(2026年4月)・Endor Labs MCP Vulnerability Analysis(2026年1月)・HaluGate: Token-Level Hallucination Detection(vLLMブログ、2025年12月)・LLMsにおける幻覚検出と緩和(arXiv:2601.09929、2026年1月)・UQLM:言語モデルの不確実性定量化(CVS Health、2025年10月)・Stellar Cyber:トップエージェントAIセキュリティ脅威(2026年3月)・MCP Security 2026:60日で30件のCVE(PipeLab、2026年4月)・Cloud Security Alliance AIエージェントセキュリティ調査(2026年4月)
Related Topics
Keep building with InstaTunnel
Read the docs for implementation details or compare plans before you ship.