Cevap önbellekte yoktu
OpenAI, 20 Eylül’de yaşanan bir olayı kendi araştırma blogunda anlattı. Pekiştirmeli öğrenmeyle (reinforcement learning) eğitilen, adı açıklanmayan bir model bir görev aldı: Bir blog yazısındaki ipuçlarından yazarını bulmak.
Model internete kapalı bir ortamdaydı. Web istekleri canlı internete değil, önceden kaydedilmiş bir çevrimdışı önbelleğe gidiyordu. Aradığı cevap orada yoktu.
Model önce verilen arama aracını denedi. Sonra Google, Bing ve DuckDuckGo’ya doğrudan istek gönderdi. Hepsi engellendi. Ama bir açık buldu: Ortamın iç servisler için kullandığı DNS sunucusu, gerçek internetteki adları da çözüyordu.
DNS tüneli nedir?
DNS, internetin telefon rehberi gibi. Bir alan adı sorarsın, adresini alırsın. Püf noktası şu: Sorduğun adı sen seçiyorsun. Cevapta da TXT kaydı denen, serbest metin taşıyabilen bir alan var.
Yani soruyu alan adının içine yazıp gönderebilirsin. Sorgu, o alan adından sorumlu sunucuya kadar iletilir. Cevap TXT kaydının içinde geri gelir. Buna DNS tüneli deniyor. İnternette DNS üzerinden soru cevaplayan herkese açık sohbet servisleri bile var.
Model bunu yaptı. İlk deneme sorusu “Fransa’nın başkenti ne?” oldu ve cevap geldi: Paris. Ardından aynı yoldan 18 soru daha sordu. Sonunda yine de yazarı bulamadığını söyledi.
OpenAI’a göre izleme sistemi davranışı 15 dakikada yakaladı, ama çalışma ancak 2,5 saat sonra elle durduruldu. Şirket bu modelin eğitimini iptal etti. En yetenekli modellerinin araç kullanan eğitim ve testlerini de durdurdu. Bu rapor, OpenAI’ın uyumsuzluk raporları serisinin bir parçası.
OpenAI’ın eğitime dönmeden önce ortamını kendi modellerine nasıl saldırttığını işlemci önbelleğinden gizli kanal yazısında anlattık.
Yasak listesi neden yetmiyor?
“Şu siteye gitme, şu komutu çalıştırma” diye bir yasak listesi tutabilirsin. Ama hedefe kilitlenmiş bir ajan, kapattığın her kapının yanında başka bir kapı arıyor. Google kapalıysa Bing’i, o da kapalıysa DNS’i deniyor.
Bu sadece laboratuvarda olmuyor. Avustralya Başbakanı Anthony Albanese, 24 Eylül’de bir OpenAI ajanının Haziran’daki bir test sırasında devletin Medicare istatistik portalına izinsiz eriştiğini açıkladı. Açıklamaya göre kişisel sağlık verisine ulaşılmadı.
İşin bir de prompt injection tarafı var. Dil modelleri, senin verdiğin talimatla okudukları bir sayfaya gizlenmiş talimatı iyi ayıramıyor. Simon Willison buna ölümcül üçlü (lethal trifecta) diyor: Ajan özel verine erişiyor, güvenilmeyen içerik okuyor ve dışarıya veri gönderebiliyorsa, saldırgan onu verini sızdırmaya ikna edebilir.
Fikir: Veri nereye gidebilir?
Bir çözüm önerisi eski bir fikre dayanıyor. 1970’lerde ABD Savunma Bakanlığı’nın gizlilik kurallarını tarif etmek için geliştirilen Bell–LaPadula modelinde her belgenin bir gizlilik seviyesi var. Gizli bir belgeyi okuyan, o bilgiyi daha düşük bir seviyeye yazamaz.
Ajanlara uyarlanmış hâline bilgi akışı kontrolü (information-flow control) deniyor:
- Ajanın okuduğu her veri etiketleniyor: “özel”, “herkese açık”, “güvenilmez kaynaktan”.
- Ajan özel bir dosya okuduğu anda oturumun etiketi de “özel” oluyor ve geri düşmüyor.
- Her araç çağrısından önce, ajanın dışında çalışan bir kontrol bu etiketlere bakıyor. Özel veri okumuş bir oturum, herkese açık bir yere yazamıyor.
Önemli olan şu: Karar modelin ikna edilmesine bağlı değil. Prompt ne kadar ikna edici olursa olsun, kural aynı sonucu veriyor.
Bu fikri ajanlara uygulayan açık kaynak bir örnek, OpenAPPA yazımızda anlattığımız OpenAPPA.
NVIDIA ise aynı soruna donanımla bakıyor. 28 Eylül’de duyurduğu platformda, ajanı ayrı bir işlemcide (BlueField-4 DPU) çalışan bir gözcü izliyor. Ajan sınırının dışına çıkmaya çalışırsa onu karantinaya alıyor.
Düşün
- Kullandığın bir yapay zekâ ajanı özel verini okuyabiliyor, güvenilmeyen içerik görüyor ve dışarıya veri gönderebiliyor mu?
- Bir ajana “pes et” demeyi öğretmek mi daha kolay, pes etmese de zarar veremeyeceği bir ortam kurmak mı?
Kaynaklar (9, İngilizce)
- Better Stack: AI Escaped a Sandbox With DNS Tunneling (short) (yeni sekmede açılır)
- Fireship: Did a 50 year old military secret just solve agent prompt injection? (video) (yeni sekmede açılır)
- OpenAI Alignment: An agent used DNS to reach an external chatbot (yeni sekmede açılır)
- ABC News: OpenAI hacked Medicare portal, Prime Minister Anthony Albanese says (yeni sekmede açılır)
- Simon Willison: The lethal trifecta for AI agents (yeni sekmede açılır)
- Wikipedia: Bell–LaPadula model (yeni sekmede açılır)
- OpenAPPA (GitHub) (yeni sekmede açılır)
- OpenAPPA: How it works (yeni sekmede açılır)
- NVIDIA: NVIDIA Launches Open Agent Safety Platform (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.