本文へスキップ
MameTechNews
バックエンド

Strands AgentsのA2Aサーバ、会話状態が利用者間で漏れる欠陥

## POINTS

  • Pythonのstrands-agentsはmultiagent.a2aを含む1.43.0未満、TypeScriptの@strands-agents/sdkは1.5.0未満が対象。
  • 修正版では会話状態をA2Aのcontext_idごとに分離する。完全な回避策はなく、修正前は単一テナントに限る。
  • 複数人へ出す必要があるなら、利用者またはテナントごとにA2Aサーバのインスタンスを分けて待つ。

AWSは10月22日、セキュリティ情報2026-146-AWSでCVE-2026-115419を公開した。Strands AgentsはPythonとTypeScript向けのオープンソースSDKで、Agent2Agent(A2A)サーバを同梱し、エージェントをHTTP越しに他のエージェントやクライアントから呼べる。問題は、このサーバが会話状態を呼び出し元のあいだで分離していなかったことだ。認証済みのリモート利用者が、別の呼び出し元の会話履歴へアクセスするか、マルチテナント構成では他者に対するモデルの振る舞いに影響できる。

対象は、multiagent.a2aモジュールを含むstrands-agentsの1.43.0未満と、@strands-agents/sdkの1.5.0未満。会話履歴にはツールの引数や社内文書の抜粋が残りやすく、テナントをまたぐ漏えいはプロンプトインジェクションの経路にもなる。単一利用者のローカル実験と、複数の社内ユーザーが同じサーバを共有する本番では、危険の大きさが違う。

修正はPython 1.43.0とTypeScript 1.5.0で、会話状態をA2Aのcontext_idごとに分ける。AWSは、影響を受ける版にはこの問題を完全に避ける回避策はないと説明している。更新するまでは、1つのA2Aサーバを複数の利用者やテナントへ公開しない。複数人に提供する必要がある場合は、利用者またはテナントごとにサーバのインスタンスを分ける。フォークしている場合は、依存のバージョン番号だけでなく、同じ分離が入っているかを確認する。