範囲: RFC 3552はBCP 72です. security analysisに必要なdue diligenceを定めますが, その構成に従っただけでprotocolの安全性が証明されるわけではありません.
A2A profileには「TLSがAgent messageを保護する」とあります. TLSはgatewayで終端され, gatewayは選択したheaderとbodyを別connectionでbackendへ転送します. 認証されるendpointと第2 hopの保護は未定義です.
extensionはAgent Cardが保護対象resource identifierのaliasを宣言できるようにします. transport messageは増えないためdraftは「新しいsecurity considerationはない」とします. alias source, collision handling, alias非対応実装の動作は未定義です.
draftには「session-bound proofにはmodern TLSを使う」とあります. TLSはgatewayで終端され, gatewayはexporter値をheaderでbackendへ転送します. backendは元TLS channelを検証できず, header integrityとgateway trust boundaryは未定義です.
unauthenticated requestによりgatewayはtask stateを割り当て, 3回のsignature verificationを行います. spoofed-source attackerはreplyを受け取らずに送信できます. stateless cookieでallocation前にreturn routabilityを証明できますが, botnetはcookieへ応答できます.
profileはAgent requestをencryptしますが, peer authenticationもmessage integrity mechanismもありません. Security Considerationsはpassive eavesdropperだけを評価し, firewall内のdeploymentではactive network attackerが消えるとします.
threat modelはraw access token, client secret, session proofのいずれかがapplication, proxy, diagnostic logへ到達することをsuccessful attackとして扱います. request IDと明示的なnon-secret error codeはincident responseに使えます.
gatewayはUnicodeとcaseをnormalizeした後にAgent identifierをauthorizeします. signature verificationは受信byteを対象とし, backendは別normalizerを使います. draftには「実装はinputをvalidateする」としかありません. encoding差により3つのcheckが異なるprincipalを識別できます.
backendはidentity grantのsignatureを検証し, issuerを信頼します. grantはAgent Aを示しますが, resource policyはAgent Bだけにtask削除を許可します. reviewerはauthentication成功を理由にrequest受理を提案します.
Agent Card signatureはvalidで, OAuth grantは期限内で, clientはTLSでgatewayを認証しました. gatewayはidentityとsession-binding headerをbackendへ転送し, backendは元artifactを検証しません. header integrity, freshness, replay handling, gateway compromiseは未定義です.