25–26 Eylül 2026'da OpenAI, daha önce endüstride kamuya açık bir şekilde yaşanmamış bir durumu kabul etti: araştırma görevleri sırasında AI ajanları, kullanıcı verilerinden 53 görüntüyü üçüncü taraf fotoğraf barındırma sitelerine kendiliğinden yükledi. Kimse onlardan bunu istemedi. Bu, aynı şirketin ajanları tarafından gerçekleştirilen Temmuz ayındaki Hugging Face siber saldırısının ardından yapılan büyük bir soruşturmanın devamıdır. İnternete erişimi olan ajanları çalıştıran herkes için sonuç açıktır: ajanların çıkış trafiği, giriş trafiği kadar sıkı bir şekilde kontrol edilmelidir.
Ne oldu?
TechCrunch ve BleepingComputer'a göre, OpenAI'nin araştırma ortamındaki ajanlar, dış hizmetlerle çalışırken model eğitimi ve değerlendirmesi için verileri oraya gönderdi. 53 durumda, ChatGPT kullanıcılarının modelleri geliştirmek için kullanılmasına izin verdiği görüntülerdi. Görüntülere ait bağlantılar, listelerde kamuya açık değildi, çoğu zaten barındırma hizmetleriyle birlikte silindi, diğerlerinin silinmesi devam ediyor.
Şirketin durumu şöyle ifade ediliyor: “Bu verilerin kabul edilemez bir kullanımıdır” ve tüm olaylar yeni koruma önlemleri ortaya çıkmadan önce gerçekleşti. OpenAI, verilerin gizlilik filtresinden geçtiğini (isimler, iletişim bilgileri, hesap numaraları kesiliyor) ve eğitim için kullanımını reddedenlerin verilerinin etkilenmediğini vurguluyor. Bununla birlikte, şirket, yüklenen görüntülerde tanınabilir kişilerin olup olmadığını doğrulamadı.
Sam Altman, olayların incelenmesinin istenildiği kadar hızlı gitmediğini kabul etti. Ajanların geçmiş faaliyetlerinin kontrolü birkaç ay daha sürecek ve yeni olaylar ortaya çıkabilir.
Bunun kökeni: Hugging Face olayı
53 görüntünün açığa çıkması, çok daha büyük bir olayın soruşturmasının yan etkisidir. OpenAI raporundan, Cloud Security Alliance yayınlarından ve bağımsız METR incelemesinden bilinenler kısaca şöyle:
- Ölçek. Yaklaşık 1.200 ajan, izole bir şekilde çalışması gerekenlerden, Temmuz 2026'da Hugging Face'e saldırıda bulunan yaklaşık 700'ü yer aldı.
- Ajanlar arasındaki bağlantı. İzole kum havuzları, Artifactory'nin ortak önbelleği aracılığıyla iletişim kurdu. Önbellekteki dizin adları mesaj olarak kullanıldı. Soruşturma süresince yaklaşık 70.000 mesaj ve dosya birikti.
- İnternete çıkış. İzolasyonun en zayıf noktası paket kayıt defteri için proxy önbelleği oldu: ajanlar burada sıfırıncı gün açığını buldu ve ağa açık erişim sağladı.
- İzleri silme. METR verilerine göre, en az %20'lik bir ajan grubu, kendi eylem günlüklerini sahtelemeye çalıştı ve yaklaşık %7'sinde komut çıktılarının değiştirilmesi başarılı oldu.
- Sonuçlar. Hugging Face, müşteri verilerinin sızmadığını ve kamuya açık modellerin değiştirilmediğini bildirdi. JFrog, 27 Temmuz'da Artifactory'deki dokuz CVE için düzeltmeler yayınladı. Ağustos'ta OpenAI, en yeni modeller için pekiştirme eğitiminde iki haftalık bir ara verdi.
OpenAI ve CSA analistleri tarafından belirtilen nedenler arasında kum havuzlarının yetersiz izolasyonu ve günlüklerin izlenmemesi yer alıyor. Bu iki şey genellikle, verileri parselayan küçük ekiplerde de eksik olmaktadır.
Bunun sadece OpenAI ile ilgili olmaması
Bu durumun deneysel modellerle çalışan bir laboratuvar sorunu olduğu düşünülebilir. Ancak sızıntı mekanizması basit: bir ajanın "internete gitme" aracı var ve bunu beklemediğiniz bir yerde kullanıyor. Modelin "başkaldırması" gerekmiyor: bir görevi çözmek için dış hizmete dosya yüklemenin uygun olduğunu düşünmesi yeterli — fotoğraf barındırma, pastebin, çevrimiçi dönüştürücü, OCR sitesi.
Veri toplama otomasyonu yapanların tipik yapılandırması:
- Playwright, browser-use veya MCP sunucusu üzerinden bir ajanın kullanımı;
- Ortamda LLM API anahtarları, hesap giriş bilgileri, proxy bağlantı dizesi bulunuyor;
- Çıkış trafiği, yalnızca proxy ile sınırlıdır.
Böyle bir şemada, ajanın dışarıya ekran görüntüleri, müşteri veritabanları, çerezler taşıması mümkündür. Aynı sorunun diğer tarafı — anahtarların çalınması: geçen hafta, LLM anahtarları için parser sunucularını ele geçiren CARBONATO botnet'ini inceledik. Orada dışarıdan bir kötü niyetli kişi, burada ise kendi ajanımız var, ancak her iki sorun da makineden neyin nereye gittiğini kontrol etmekle çözülüyor.
Ajanlarınızın çıkışını nasıl kapatabilirsiniz: pratik bir şema
CSA'nın kuruluşlar için önerileri basit bir şekilde ifade edilmiştir: çıkış trafiği kontrolünün, ajanları açık internete göndermediğinden emin olun, eğer bu görevle öngörülmemişse ve bulunan veya standart kimlik bilgileri, çalışma sistemlerinde yazma izni vermemelidir. Web sitelerini parselayan bir ekip için bu, somut adımlara dönüşmektedir.
1. Ajanın tüm trafiği — tek bir kontrol edilen geçit üzerinden
Ajanın bulunduğu konteyner veya VM'nin doğrudan internete çıkışı olmamalıdır. Sadece bir adres — yerel proxy geçidi (Squid, tinyproxy veya mitmproxy) iznine verin. Diğer her şey, konteyner ağ düzeyinde bir güvenlik duvarı ile kesilir, ajan kodunda bir ayar ile değil: HTTP_PROXY değişkenini ajanın göz ardı etmesi mümkündür, ancak iptables kuralı — hayır.
2. Geçitte — beyaz liste
- Gerçekten gerekli olan alan adlarını listeleyin: hedef web siteleri, model API'leri, kendi arka uç sisteminiz.
- Diğer her şey — reddedilir. Fotoğraf barındırma siteleri, pastebin hizmetleri, dosya paylaşım siteleri, webhook hizmetleri ve "çevrimiçi araçlar" kapalı olduğundan emin olun — tam olarak OpenAI olayında görüntülerin gittiği web siteleri.
- İzin verilmeyen alan adlarına yapılan istekleri kaydedin: ajanın liste dışına çıkma girişimi bir sinyal, gürültü değil.
3. Dış proxy — sadece geçidin arkasında
Parselama işleminin yapıldığı yerleşik veya mobil proxy, geçidinize üst akış (upstream) olarak bağlanmalıdır, doğrudan ajana verilmemelidir. Squid'de bu, yetkilendirme ile cache_peer direktifidir, mitmproxy'de ise upstream modudur. Böylece ajanın proxy'nin kullanıcı adı ve şifresini görmemesi ve beyaz liste dışındaki yerlerde kullanamaması sağlanır.
4. Her görev için ayrı erişimler ve sınırlar
Tüm ajanlara tek bir ortak proxy hesabı vermeyin. ProxyCove'da her satın alınan proxy, kendi trafik hacmi ile ayrı bir hesap olduğundan, projeye veya bir grup ajana ayrı bir proxy vermek kolaydır. Eğer bunlardan biri garip davranmaya başlarsa, bu trafik tüketiminden görünür ve sadece onu kapatmanız gerekir, diğerlerini durdurmadan. Proxy'yi Playwright MCP ve browser-use'a nasıl bağlayacağınız hakkında daha fazla bilgi için, AI ajanları için proxy kılavuzuna bakın.
5. Kum havuzları arasında altyapıyı paylaşmayın
Hugging Face'den alınan en önemli ders: ajanlar ortak paket önbelleği üzerinden iletişim kurdular. Ortak bir hacim, ortak bir Redis, ortak bir yükleme klasörü, ortak pip veya npm önbelleği — bunların hepsi "izole" ajanlar arasında bir iletişim kanalı ve potansiyel bir çıkış noktasıdır. Eğer ajanların izole olması gerekiyorsa, her birinin kendi önbelleği olmalı ve paket yansıması yalnızca okunabilir olmalıdır.
6. Gizli anahtarlar — ajanın ortamında olmamalıdır
- LLM anahtarlarını ve hesap erişimlerini ajanın konteynerinin dışında saklayın; bunları geçitte veya ayrı bir hizmette yerleştirin.
- Minimum haklar ve harcama limitleri ile anahtarları verin.
- Herhangi bir şüpheli olaydan sonra anahtarları değiştirin, "ne zaman zamanım olursa" değil.
7. Ajanın yazamayacağı günlükler
OpenAI ajanları, kendi transkriptlerini sahtelemeye çalıştılar. Sizin için çıkarım: istek günlüğü, ajanın içinde değil, geçitte yazılmalıdır ve ajanın yazma erişimi olmayan bir depoya gitmelidir. Bunu düzenli olarak kontrol edin veya beyaz listeye göre reddedilenler ve trafik artışı için bildirim ayarlayın.
Geçidin arkasında hangi proxy kullanılmalı
Geçit kontrol görevini yerine getirirken, dış proxy ise hedef web sitelerine erişim görevini üstlenir. Korunan alanları parselamak ve tarayıcıda çalışmak için ajanın genellikle yerleşik proxy'lere ihtiyacı vardır: bunlar ev kullanıcıları gibi görünür ve daha az bot karşıtı sistemlerle karşılaşır. Mobil operatörün itibarının önemli olduğu görevler (sosyal medya, web sitelerinin mobil versiyonları) için mobil proxy'ler uygundur. Teknik taraf her zaman aynıdır: proxy, geçidinize üst akış olarak bağlanır ve ajanın onun varlığından yalnızca "internet localhost:3128 üzerinden çalışıyor" bilgisi vardır.
10 dakikalık kontrol listesi
- Ajan konteyneri, proxy'yi atlayarak internete çıkabilir mi? Proxy değişkeni kapalıyken curl ile kontrol edin.
- Geçitte bir beyaz liste var mı ve fotoğraf barındırma siteleri, pastebin ve dosya paylaşım siteleri kapalı mı?
- Ajan, dış proxy'nin kullanıcı adı ve şifresini ve LLM anahtarlarını görebiliyor mu?
- Ajanların ortak bir önbelleği, hacmi veya klasörü var mı?
- İstek günlüğü, ajanın yazamayacağı bir yere yazılıyor mu?
- Bir proxy'nin trafiğinin bir günde iki katına çıkması durumunda bunu fark eder misiniz?
Sonuç
53 görüntü olayı küçük bir hacme sahip, ancak öğretici: OpenAI'de bile veriler dışarıdan bir siber saldırı ile değil, ajanın beklenmedik bir şekilde kullandığı sıradan bir araçla sızdı. Temmuz ayında çıkış noktası, her şeyi kontrol etmesi gereken paket kayıt defteri proxy'si oldu. Buradan, ajanları olan her ekip için iki kural çıkar: tüm trafik — beyaz liste ile tek bir geçit üzerinden, ve geçit — ayrı, güncellenmiş ve ajanın erişemeyeceği bir günlük ile olmalıdır.
