WriteGuard:Cloudflareによる暴走AIエージェントへの回答
Cloudflareは、MCPサーバー向けのポリシー、帰属、監査レイヤーであるWriteGuardを発表し、MCPサーバーポータル向けにプライベートベータを開始しました。エンジニアに、AIエージェントが書き込める内容を一元管理する機能を提供し、リスク階層、エージェントのラベル付け、非同期監査ログを備えています。

Cloudflareは、システムに書き込むAIエージェントを手なずけるためのプレイブックをオープンソース化しました。同社の新しいWriteGuardレイヤーは、Cloudflare MCPサーバーポータル向けにプライベートベータ版が提供されており、よくある悪夢への対応です。過度に広いプロンプトを持つエージェントが、1人の人間のユーザーに帰属する何千ものチケットを午後に閉じてしまうというものです。
WriteGuardはMCPクライアントとサーバーの間に位置し、ハンドラーが実行される前にツールごとのポリシーを適用します。各ツールには、リスク階層(読み取り専用、影響最小、制限付き書き込み、または重大)と、有効/無効状態、ラベル付け設定が割り当てられます。ポリシーは現在、Cloudflareの内部MCPモノレポでTypeScriptで定義されていますが、ポータルユーザーはまもなくダッシュボードから設定できるようになります。
重要な設計上の選択:人間のIDを維持し、エージェントを追加します。個別のエージェントアカウントを作成する代わりに、WriteGuardは既存のOAuthユーザーコンテキストをMCPクライアントとセッション情報で強化します。ダウンストリームアプリは引き続きJoeの資格情報を認識しますが、今度は「Joeに代わって動作するエージェントセッション」というラベルが付きます。これにより、管理する2番目の権限セットを回避しながら、説明責任を維持できます。
監査ログは非同期でスクラブされ、エージェントの応答に遅延が追加されず、イベントからシークレットが削除されます。監査ダッシュボードは、各呼び出しを成功、失敗、またはブロックとして分類し、マシン速度のアクティビティをすべてのMCPサーバーでクエリ可能にします。
GitLabの例は、その粒度を示しています:get_merge_requestはそのまま通過し、create_mr_noteはエージェントの帰属がノート本文に注入され、merge_mrはマージがデプロイをトリガーし、人間の介入が必要なため、完全にブロックされます。
これをすべてのMCPサーバーに組み込むことは、重複と不整合を招くでしょう。WriteGuardは共有レイヤーであり、ツールごとの設定のみが必要で、Jira、GitLab、Google Workspace、およびポータルを介して接続される将来のサーバーで機能します。
WriteGuardは、人間のIDにMCPクライアントとセッションのコンテキストを追加し、各書き込みを特定の人物に代わって動作するエージェントセッションとして識別します。
| リスク階層 | 例 | 動作 |
|---|---|---|
| 読み取り専用 | 問題を検索; MRを読む; パイプラインステータスを表示 | そのまま通過 |
| 影響最小 | リアクションを追加; 通知を既読にする; 購読 | 通過、ログ記録 |
| 制限付き書き込み | コメントを追加; MRを作成; 問題フィールドを更新 | エージェントの帰属を追加、ログ記録 |
| 重大 | MRをマージ; デプロイをトリガー; 一括削除 | ハンドラー実行前にブロック、試行をログ記録 |