Google ADK Güvenliği: Yapay Zeka Ajanlarını Prompt Injection Saldırılarından Koruyan 5 Katman

İçindekiler
Yapay zeka (AI) ve otonom ajanların yazılım dünyasındaki rolü hızla artarken, bu sistemleri hedef alan siber güvenlik tehditleri de evrim geçiriyor. Bu tehditlerin en tehlikelisi ve sinsi olanı, OWASP LLM listesinde ilk sırada yer alan dolaylı prompt injection (indirect prompt injection) saldırılarıdır. Saldırganların doğrudan sohbet kutusuna yazmak yerine, ajanın okuduğu harici bir e-posta, web sayfası veya veritabanı yanıtı üzerinden sisteme sızdığı bu yönteme karşı koruma sağlamak kritik bir zorunluluktur. Google'ın Ajan Geliştirme Kiti (ADK), güvenliği sonradan eklenen basit bir filtre yerine, uygulamanın en temel mimari katmanı olarak ele alıyor.
İşte yazılım geliştiricilerin güvenli AI ajanları inşa edebilmesi için bilmesi gereken 5 temel ADK güvenlik katmanı ve bunlara dair pratik çıkarımlar:
1. Kimlik ve Yetkilendirme (Identity and Authorization)
Ajanların kullandığı araçlar, ajanın kendi kimliğiyle (agent-auth, örneğin bir servis hesabı) veya o an ajanı kontrol eden kullanıcının kimliğiyle (user-auth) çalıştırılabilir.
- Geliştirici Yorumu: Her araca en az yetki prensibiyle (least privilege) yaklaşılmalıdır.
- Pratik Çıkarım: Para iadesi veya veri silme gibi kritik işlem yapan araçları geniş servis yetkileri yerine, doğrudan kullanıcının doğrulanmış kimliğiyle çalıştırarak olası bir sızıntının etki alanını (blast radius) minimumda tutun.
2. Giriş ve Çıkış Filtreleme Bariyerleri (Guardrails)
Giriş verilerini ve araçlardan gelen yanıtları denetleyen koruyucu bariyerlerdir. ADK, Gemini modelinin yerleşik güvenlik filtrelerini ve özel eklentileri (plugins) destekler.
- Geliştirici Yorumu: Tek bir güvenlik katmanı aşılabilir olduğundan, savunmayı çoklu katmanlarla kurmak gerekir.
- Pratik Çıkarım: Birincil modelin önüne, araçlardan gelen çıktıları taramak amacıyla Gemini Flash Lite gibi hızlı ve düşük maliyetli bir modeli filtreleme katmanı olarak konumlandırın.
3. Korumalı Kod Çalıştırma Alanı (Sandboxed Code Execution)
Yapay zeka modelinin ürettiği kodlerin, ana sunucuya zarar vermesini engellemek için izole edilmiş bir ortamda çalıştırılması prensibidir.
- Geliştirici Yorumu: Model tarafından üretilen veya dışarıdan gelen kodlar her zaman tehlikeli kabul edilmelidir.
- Pratik Çıkarım: Ajanın dinamik olarak yazdığı Python script'lerini veya SQL sorgularını mutlaka kısıtlı ve geçici Docker konteynerlerinde çalıştırarak ana sistemin ele geçirilmesini önleyin.
4. Değerlendirme ve İzleme (Evaluation and Tracing)
Ajanın yaptığı her araç çağrısının, aldığı kararların ve LLM girdilerinin adım adım loglanması ve şeffafça izlenebilmesidir.
- Geliştirici Yorumu: Göremediğiniz, takip edemediğiniz ve ölçümleyemediğiniz bir sistemi güvenli tutamazsınız.
- Pratik Çıkarım: Üretim ortamında tüm ajan akışlarını detaylıca trace edin ve beklenmeyen bir davranışta geliştiricileri uyaracak anomali tespit alarmları kurun.
5. Ağ Kontrolleri (Network Controls)
Ajanın internet ve sunucu erişimlerini güvenli sınırlar içinde tutarak veri sızıntılarını engellemektir.
- Geliştirici Yorumu: Güvenliği ihlal edilen bir ajanın dış dünya ile kontrolsüz haberleşmesi engellenmelidir.
- Pratik Çıkarım: Ajanın çalışacağı ağ sınırlarını VPC Service Controls gibi yapılarla çevreleyerek yetkisiz dış sunuculara veri sızdırmasını (data exfiltration) donanımsal düzeyde engelleyin.
Geliştiriciler için en önemli ders; güvenlik filtrelerini her ajana tek tek yazmak yerine, ADK Runner üzerinde çalışan küresel eklentilerle (after_tool_callback gibi) merkezi hale getirmek ve ölçeklenebilirliği sağlamaktır.
Orijinal makaleye buradan ulaşabilirsiniz.
Bu konuyu daha derinlemesine öğrenmek ister misin?
Edumints'teki ücretsiz kursları incele ve bugün başla.
Kurslara Göz At →