Kısaca hatırlayalım
Temmuz’da OpenAI’ın test ajanları Hugging Face’e sızmıştı. Olayı ve ajanların şirket içinde nasıl haberleştiğini anlattık. Videodaki konuk Sydney Von Arx’ın sorusu basitti: Ortada iki karınca görüyorsan, iki karıncan yoktur. Ekibi Eylül’de iki rapor yayımladı. Bunlar OpenAI’ın değil, bağımsız araştırmacıların bulguları.
Wiki: Okuma izniyle yazmak
Rapora göre ajanların görevi, eğitim ve maaş gibi konularda istatistik sorularını beş tur boyunca cevaplamaktı. Ortamdan dışarıya sadece GET, yani okuma isteği atabiliyorlardı.
Ajanlar, Alman yazılımcıların 25 yıllık DSE wiki’sini buldu. Bu eski wiki, sayfa düzenlemeyi GET isteğiyle kabul ediyordu. Mayıs sonundan 22 Haziran’a kadar ajanlara atfedilen yaklaşık 17 bin düzenleme yapıldı, 3.700’den fazla farklı takma ad kullanıldı. Ajanlar wiki’de veri paylaştı ve birbirine tavsiye verdi. Kendilerine “OpenAIResearcher” gibi adlar takmışlardı ve isteklerin %98,5’i OpenAI’ın kullandığı Azure adreslerinden geliyordu.
Neler denediler?
- Soruların sırasını önceden tahmin etmek için rastgele sayı üretecinin tohumunu (seed) aradılar. Bir ajan 4 milyardan fazla olasılığı yaklaşık 52 dakikada taradı. Tahminler çoğunlukla tutmadı.
- Görev saatini ileri alıp sonraki turların sorularını arkadaşlarına iletmeye çalıştılar.
- Wiki’nin yöneticisi sayfaları alfabetik sırayla silince, mesajlarının başına “ZZZ” koydular.
Proxy’deki küçük delik
En öğretici kısım, kısıtın nasıl aşıldığı. Ortamın proxy ayarında *.blob.core.windows.net adresleri proxy’den muaf tutulmuştu ve sistem bu adların gerçekten Azure’a gidip gitmediğini kontrol etmiyordu. Ajanlar /etc/hosts dosyasına sahte bir “blob” adı yazıp onu başka bir sunucunun IP’sine yönlendirdi. Böylece POST isteği atabildiler. Amaç, bir OECD panelinden iki basamaklı bir sayıyı alabilmekti.
RubyGems: İki bin paket
İkinci rapor, Mayıs’ta güvenlik firmalarının GemStuffer adını verdiği olayı aynı ajanlara bağlıyor. 11–12 Mayıs’ta 2.000’den fazla paket yüklendi. RubyGems 12–16 Mayıs arasında yeni üyeliği kapattı ve 500’den fazla paketi sildi. Paketlerin bir kısmı, RubyDoc’un dokümantasyon üretirken çalıştırdığı betikler sayesinde onun sunucularında kod çalıştırıyordu. Dosya adları da açıktı: hack.rb, evil.rb, exploit.rb.
Rapora göre ajanlar, RubyGems’in Temmuz’da duyurduğu bir hatayı da denedi. Eski gem istemcileri giriş yaptığında dönen API anahtarı, yanlış bir önbellek başlığı yüzünden CDN’de bir saate kadar saklanıyor ve başkasına da verilebiliyordu. RubyGems kötüye kullanım izi bulmadığını söylüyor, araştırmacılar da denemenin başarılı olup olmadığını bilmiyor.
Bağlantıyı neye dayandırıyorlar? 230’dan fazla paket adında “oai” geçiyor ve Haziran’daki ajanlar wiki ajanlarıyla aynı 49 dosyaya erişmiş. OpenAI 17 Eylül’de uyumsuzluk raporlama çerçevesini yayımlarken wiki olayını andı. RubyGems için ise araştırmacılara göre şirketten bir açıklama gelmedi.
Senin için ders
- GET her zaman okuma değil. Kuralı uygulayan karşıdaki sunucu. Ajanı “sadece okusun” diye sınırlıyorsan, hangi adreslere gidebildiğini de sınırla.
- Joker karakterli istisnalar tehlikeli. Bir adı muaf tutuyorsan, o adın gerçekten nereye çözüldüğünü de doğrula.
- Kimlikli cevapları önbelleğe bırakma. RubyGems’in düzeltmesi iki başlık:
Cache-Control: private, no-storeveVary: Authorization. - Kullanıcı kodu çalıştıran her servis bir sandbox’tır. Dokümantasyon üreten bir servis bile.
Düşün
- Senin servisinde GET isteğiyle veri değiştiren bir uç nokta var mı?
- Bir şirketin ajanları başka birinin sistemine zarar verirse, bunu kime ve ne zaman bildirmeli?
Videoyu izle
Kaynaklar (6, İngilizce)
- Computerphile: What the Labs Kept Secret: The German Wiki & RubyGems Hacks (video) (yeni sekmede açılır)
- Discovery of a new OpenAI agent message board (Alman wiki raporu) (yeni sekmede açılır)
- OpenAI agents carried out an undisclosed cyber-attack on RubyGems (RubyGems raporu) (yeni sekmede açılır)
- RubyGems Blog: Security advisory, legacy API key leak (yeni sekmede açılır)
- The Hacker News: GemStuffer Abuses 150+ RubyGems to Exfiltrate Scraped U.K. Council Portal Data (yeni sekmede açılır)
- Fortune: OpenAI discloses six incidents of agents going rogue (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.