Apa yang terjadi
Dalam SDK Java A2A (Agent2Agent) resmi sebelum 1.3.0.Final, AuthInterceptor.intercept menggunakan APIKeySecurityScheme.name() dari AgentCard jarak jauh secara langsung sebagai nama header HTTP yang menyimpan kredensial, tanpa memeriksa bahwa lokasi yang dideklarasikan adalah HEADER. JdkA2AHttpClient mengikuti pengalihan (NORMAL), sehingga agen jarak jauh yang jahat atau disusupi dapat menyebabkan klien meneruskan kunci API yang dikonfigurasi ke server pihak ketiga melalui pengalihan lintas-asal bahkan ketika header Authorization standar dihapus.
Mengapa penting
Kegagalan ini memungkinkan agen yang sudah diajak bicara oleh klien mencuri kunci API yang dikonfigurasi untuk agen tersebut dengan mengarahkan pengalihan. Dalam penerapan agen-ke-agen di mana kredensial disediakan melalui CredentialService, agen hilir yang tidak tepercaya dapat memanen rahasia klien dan menggunakannya terhadap layanan yang dimaksud, mengalahkan asumsi bahwa kunci tetap berada pada agen yang dikonfigurasi.
Vektor serangan
AgentCard yang dikendalikan agen + pengalihan lintas-asal meneruskan header pembawa kredensial kustom ke server pihak ketiga
Sistem yang terdampak
a2a-java (A2A Java SDK) < 1.3.0.Final
Mitigasi
Tingkatkan ke a2a-java 1.3.0.Final; validasi bahwa lokasi skema keamanan adalah HEADER dan batasi pengikutannya