A2A Protokol Kimlik Doğrulaması: Spesifikasyon Neden Zayıf ve Açıklar Nerede
A2A (Agent2Agent) protokolü, yapay zeka ajanları arası iletişim için standart haline geliyor. Google bunu 2025 yılında duyurdu ve şu anda Linux Foundation tarafından yönetiliyor.
Spesifikasyonun kimlik doğrulama bölümüne baktığımda neredeyse hiçbir şey bulamadım. Yeni bir kimlik doğrulama mekanizması tanımlamıyor. Sadece OAuth2, OpenID Connect veya mTLS gibi mevcut standartları kullanmanızı söylüyor.
Bu zayıflık kasıtlıdır. A2A çerçeveyi tanımlar ancak içeriği diğer standartlara devreder. Dikkatli olmazsanız bu durum güvenlik açıkları oluşturur.
A2A Nasıl Çalışır A2A, bir ajanın bir görevi diğerine devretmesi için kullanılan bir protokoldür. HTTP üzerinden JSON-RPC kullanır.
• İstemci Ajan (Client Agent): İsteği gönderen ajan. • Uzak Ajan (Remote Agent): Görevi alan ajan. • Ajan Kartı (Agent Card): Uzak Ajanın yeteneklerini ve kimlik doğrulama gereksinimlerini listelediği bir JSON dosyası.
Ajan Kartı en önemli kısımdır. Bir istemci, istek göndermeden önce nasıl kimlik doğrulaması yapacağını öğrenmek için önce bu kartı okur.
Güvenlik Açıkları A2A, birkaç kritik görevi uygulayıcıya bırakır. Eğer bunları yönetmezseniz, ajanlarınız risk altında olur.
- Kart Kurcalama (Card Tampering): Ajan Kartını imzalamak isteğe bağlıdır (MAY). Eğer imzalamazsanız, bir saldırgan ajanınızı kötü amaçlı bir sunucuya yönlendirebilir.
- Tekrar Saldırıları (Replay Attacks): A2A'nın tokenları belirli bir istemciye bağlama yöntemi yoktur. Eğer birisi bir bearer token çalarsa, ajanınızın kimliğine bürünebilir.
- Yetki Yükseltme (Privilege Escalation): Yetkilendirme harici altyapıya bırakılmıştır. Eğer beceri başına (per-skill) kontrolleri zorunlu kılmazsanız, "salt okunur" bir ajan "yazma" erişimi elde edebilir.
- Kimlik Zincirleme (Identity Chaining): A2A, bir kullanıcının kimliğinin bir ajanlar zinciri boyunca nasıl hareket ettiğini yönetmez.
Güvenli Bir Şekilde Nasıl İnşa Edilir Sadece spesifikasyona güvenmeyin. İsteğe bağlı kuralları zorunlu kurallara dönüştürmelisiniz.
• Ajan Kartlarınızı her zaman imzalayın. JWS ve JCS kullanın. • Ajanlar arası yollar için mTLS kullanın. Bu, token hırsızlığının sisteminizi tehlikeye atmak için yeterli olmasını engeller. • API Gateway'inizde beceri başına yetkilendirmeyi (per-skill authorization) zorunlu kılın. • Tekrar saldırılarını durdurmak için gönderici kısıtlı tokenlar (DPoP gibi) kullanın.
A2A tesisattır. Güvenlik, içinden akıttığınız sudan gelir. Boşlukları doldurmak için SPIFFE veya Identity Chaining gibi kanıtlanmış standartları kullanın.
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi