何が起きたか
Google ADK Python FileArtifactServiceは、root/apps/{app_name}/users/{user_id}/...ではなくroot/users/{user_id}/...としてパスを構築するため、リソースが誤ったスフィアに公開されます(CWE-668)。2.6.0での部分的なスコープ変更により、2.7.0/1.39.1で閉じられるまで、読み取り/削除のレガシーフォールバックが残りました。
なぜ重要か
エージェントアーティファクトには、多くの場合、機密状態、資格情報、または中間推論が含まれます。クロスアプリケーションのアーティファクトアクセスフローにより、共有エージェントホスト内で、あるエージェント/アプリケーションが別のエージェントのアーティファクトを読み取りまたは上書きでき、別のエージェントの状態の改ざんが可能になります。
攻撃経路
FileArtifactServiceは公開APIメソッド全体でapp_nameを受け入れましたが、ディスク上のパスを構築する際にそれを省略したため、あるアプリケーション内の呼び出し元が、ルートディレクトリと同一のuser_id/session_idを共有する別のアプリケーションに属するアーティファクトを一覧表示、読み取り、上書き、または削除できます。
影響を受けるシステム
google-adk >= 1.19.0、< 1.39.1 および >= 2.0.0a1、< 2.7.0
緩和策
google-adk 1.39.1(1.xバックポート)または2.7.0にアップグレードしてください。これらはアプリごとのパススコープを強制し、レガシーのroot/users/{user_id}フォールバックを削除します。