Chromeは、サイトがAIエージェントにツールを公開するための新しい手法であるWebMCPに関するセキュリティガイダンスを追加しました。そして、それらのツールを安全に保つ責任は、全面的にウェブサイトの所有者にあります。このガイダンスは、「エージェント対応(agent-ready)」を宣言するサイトは、巧妙に作られたマニフェストや汚染された出力を通じて、悪意のある攻撃者がエージェントをハイジャックするための経路も開いてしまう可能性があると警告しています。

なぜ今、WebMCPが重要なのか

開発者は長年、「AIエージェントが私のページを読み取り、トランザクションを完了できるか?」と問い続けてきました。WebMCPはその構図を逆転させます。エージェントがチェックアウトの仕組みを推測する代わりに、サイトがマニフェストを公開し、価格照会、カートの更新、レビューの取得など、エージェントが実行できるアクションを正確に伝えます。その結果、より有能なアシスタントが実現しますが、同時に新たな攻撃対象領域も生まれます。サイトがエージェントにツールを渡した瞬間、エージェントに悪用されかねない一連の指示を渡すことになるからです。

開発者が警戒すべき2つのハイジャック手法

悪意のあるマニフェスト – 攻撃者がツール名や説明の中に隠れたコマンドを注入します。エージェントはあらゆるテキスト文字列を潜在的な指示として扱うため、巧妙に作られた名前によってエージェントの本来のタスクが上書きされ、意図しない動作をさせられる可能性があります。

汚染された出力 – こちらの方がより一般的なルートです。正当なツールが、製品レビュー、フォーラムの投稿、コメントなどのユーザー生成データを返します。悪意のあるユーザーがそのコンテンツにコマンドを紛れ込ませると、ツールはエージェントに直接そのコマンドを届けてしまいます。大規模言語モデル(LLM)は、データと指示を確実に分離することができないため、ストリーム全体を単一のプロンプトとして認識してしまいます。

マニフェストを保護するための実践的なステップ

Chromeのガイダンスは、開発者がWebMCPのマニフェストファイルに追加できる3つの設定ルールに集約されます。

  • ツールの呼び出し権限を制限するexposedTo ルールを使用して、信頼できるエージェントプラットフォームをホワイトリストに登録します。例えば、決済処理ツールは、ウェブ上のあらゆるAIエージェントから見えるべきではありません。ツールを呼び出すことができる正確なオリジンを定義し、それ以外を拒否します。

  • 信頼できないコンテンツに印を付ける – レビューやコメントなど、ユーザーが提供する可能性のあるデータを返すツールには、untrustedContentHint フラグを追加します。これにより、ペイロードに悪意のある指示が含まれている可能性があることをエージェントに伝え、テキストに対して実行を行う前に、より厳格なセーフティフィルターを適用するよう促します。

  • 読み取り専用の動作を宣言するreadOnlyHint フラグを使用すると、ツールがデータを読み取るだけなのか、あるいは状態の書き込みや変更もできるのかを通知できます。ツールが読み取り専用であれば、エージェントは追加のユーザー確認なしで進めることができます。一方で、何かを変更できる場合は、エージェントは続行する前にユーザーに確認を求めるべきです。

開発者が反発する可能性がある点

より広範なリスク

今後の注目点

結論

サイトを「エージェント対応」にすることは、もはや単なる視認性のためのチェックボックスではありません。それはセキュリティ上の責任です。アクセスを制限し、信頼できない出力をフラグ立てし、読み取り専用ツールを明確にマークすることで、開発者は攻撃者が便利なAIアシスタントを悪用の手段に変えるのを阻止できます。マニフェストを他の公開APIと同様に扱い、世界に公開する前に、監査、バージョニング、そしてロックダウンを行ってください。