この記事を読んでまず思ったのは、「新しい仕組みなのに、やられていることは昔ながらの injection と SSRF なんだ」という妙な既視感でした。MCP だの A2A だの名前は新しくても、結局は「他の相手が言ったことを、信じてそのまま実行してしまう」設計の弱さが突かれている。AI っぽい華やかな話に見えて、足元はかなり地味な脆弱性の積み重ねです。
特に引っかかったのは、エージェント同士のやり取りで“信頼の受け渡し”が雑になりやすい点です。人間なら「この依頼元は誰か」「この内容は本当に実行していいか」をなんとなく疑いますが、エージェントは役割分担が進むほど、受け取った指示を業務フローの一部として素直に流してしまう。そこに悪意ある文字列が紛れ込むと、最初の agent がただの運搬役になって、次の agent が本来なら通さないはずの操作までしてしまう。記事の言う “protocol pivoting” という名前は、たしかにその危うさをうまく言い当てていると思います。
それと、MCP が「広く使われ始める前に十分に鍛えられていない」という指摘も重いです。新しい標準は、便利だからこそ採用が先に進みがちです。でも security は後追いになりやすい。しかも今回は、組織ごとに違うはずの実装で似た穴が見つかっているわけで、個別のバグというより、設計の前提そのものが甘いのではないかと感じました。ゼロトラストって、口ではよく言うけれど、agentic な構成になると途端に「内部だから大丈夫」が復活するのかもしれません。
読んでいて一番腑に落ちたのは、対策の話が結局かなり古典的だというところです。LLM から tool に渡すものは、ネットの見知らぬ相手から来た入力だと思え、というのはすごく地味だけれど本質的です。AI 時代の新種の問題に見せかけて、実は「入力を信用するな」「リダイレクトを鵜呑みにするな」という昔からの話に戻ってくる。そこを名前にして共有したこと自体は意味があると思います。流行りの用語より、守るべき境界をちゃんと意識させる名前のほうが、現場には効くはずだからです。
参考: MCP for agent-to-agent comms may be the riskiest protocol you've never heard of