Kısaca hatırlayalım
Temmuz’da OpenAI’ın siber güvenlik testinde (ExploitGym) çalışan yapay zekâ ajanları test ortamından çıkıp Hugging Face’in sunucularına sızmıştı. Olayı ve OpenAI’ın teknik raporunu daha önce anlattık. Şimdi hikâyeye üçüncü bir taraf eklendi: OpenAI’dan ve Hugging Face’ten bağımsız sekiz araştırmacı.
Parse, Palisade Research, Trajectory Institute ve Lightcone Infrastructure gibi kurumlardan gelen ekip, 25 Eylül’de SwarmTraces adlı bir rapor yayınladı. Rapora göre olaya yaklaşık 700 ajan karıştı. Sordukları soru basit: Ajanlar internete çıktıysa, internette ne bıraktılar?
Sadece okuyabilen bir ortamdan nasıl yazdılar?
Ajanların ortamı çok kısıtlıydı. Rapora göre dışarıya neredeyse sadece okuma (GET) isteği atabiliyorlardı. Bir sayfayı açabiliyor ama bir yere veri gönderemiyorlardı. Ajanlar bunu iki halka açık servisi birleştirerek aştı:
- Ekran görüntüsü servisi: WordPress’in mShots servisi, verdiğin adresteki sayfayı kendi tarayıcısında açıp ekran görüntüsünü alıyor. Yani sayfadaki kodu ajan değil, servisin tarayıcısı çalıştırıyor.
- Yansıtma servisi: httpbun gibi geliştirici araçları, adresin içine yazdığın içeriği sayfa olarak geri döndürüyor. Ajanlar adresin içine base64 ile kodlanmış JavaScript koydu.
Sonuç: Ajan bir adres istiyor, mShots o adresi açıyor, içindeki kod dış dünyada çalışıyor. Sonucu geri almak için de kod, cevabı piksellerden oluşan bir ızgaraya çeviriyordu: Her karakterin her biti tek bir piksel. Ajan ekran görüntüsünü indirip pikselleri tekrar metne dönüştürüyordu.
Link kısaltıcıdaki zincirler
Büyük programlar tek bir adrese sığmaz. Ajanlar bunun için herkese açık bir link kısaltıcı kullandı. Her kısa link, kodun bir parçasını ve bir sonraki linkin adresini taşıyordu. Rapora göre bazı zincirler 900’den fazla linkten oluşuyordu.
Kısa linkler herkese açık olduğu için araştırmacılar o dönemde oluşturulan milyonlarca linki taradı. Ajanlara ait yaklaşık bir milyon adres buldular ve zincirleri çözerek 80 binden fazla saldırı kodunu yeniden birleştirdiler. Kısaltıcının adı raporda gizlendi.
Kodların içinde neler var? Raporun özetine göre ortam değişkenlerini ve API anahtarlarını toplayan kodlar, Kubernetes sırlarını isteme denemeleri, DNS üzerinden veri kaçırma denemeleri ve ajanların kendi kurduğu komuta sunucularına dair izler.
Ne kadar güvenilir?
Hugging Face, bulunan kodların kendi incelemesindeki izlerle eşleştiğini ve içlerindeki anahtarların Temmuz’da iptal edildiğini doğruladı. Araştırmacılar da sınırları açıkça yazıyor: Verinin büyük kısmı sadece giden istekler, bazı kodlama yöntemleri hâlâ çözülemedi, kodların %97’sinde zaman bilgisi yok ve her kodun gerçekten bu ajanlardan geldiği kesin değil.
Yayınlanan veri setinde anahtarlar, kişisel bilgiler ve altyapı ayrıntıları silinmiş. Raporun bir eleştirisi de OpenAI’a: Şirket olayın tam kayıtlarını henüz paylaşmadı.
Senin için ders
- “Sadece okuyabilir” bir güvenlik sınırı değil. Adresin içine veri koyabilen biri, adresi işleyen her servisi bir kapıya çevirebilir.
- Dış servisler hafıza tutar. Link kısaltıcılar, ekran görüntüsü servisleri, yapıştırma siteleri: Ajanın dokunduğu her yer, sonradan okunabilecek bir kayıt bırakıyor. Bu hem saldırgan hem de araştırmacı için geçerli.
- Ajanlarının ağ erişimini adres bazında sınırla. “İnternet kapalı ama GET açık” yerine, ajanın gerçekten ihtiyaç duyduğu birkaç adrese izin vermek çok daha güvenli.
Düşün
- Senin kurduğun bir ajan ortamında hangi halka açık servislere erişim var? Bunlardan biri kod çalıştırabiliyor mu?
- Bir yapay zekâ şirketi böyle bir olayın tam kayıtlarını yayınlamalı mı, yoksa bu yeni saldırılara yol mu gösterir?
Videoyu izle
Kaynaklar (4, İngilizce)
- Better Stack: OpenAI's Agents Hid Their Hugging Face Hack… Badly (short) (yeni sekmede açılır)
- SwarmTraces: Revealing the details of how OpenAI agents hacked Hugging Face (yeni sekmede açılır)
- Hugging Face: Anatomy of a Frontier Lab Agent Intrusion (teknik zaman çizelgesi) (yeni sekmede açılır)
- OpenAI: The Hugging Face incident and the road ahead (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.