Vercel Sırlarınızı Açık Metin Olarak Sakladı ve Buna Özellik Dedi
Bir saldırgan, ele geçirilmiş bir yapay zekâ aracından bir Google hesabı üzerinden Vercel altyapısına geçiş yaptı, ardından elle "hassas" olarak işaretlenmemiş her ortam değişkenini çözdü. İhlal, kimse fark etmeden iki ay sürdü.
Vercel ihlal edildi. Saldırgan, tespit edilmeden önce yaklaşık iki ay içeride kaldı. "Hassas" bayrağını kullanmayan her projedeki müşteri ortam değişkenlerini — API anahtarları, veritabanı parolaları, imzalama anahtarları, jetonlar — listeledi ve çözdü.
Saldırı zinciri şöyle: Context.ai adlı üçüncü taraf bir yapay zekâ aracı ele geçirildi. Saldırgan bu dayanağı kullanarak bir Vercel çalışanının Google Workspace hesabını ele geçirdi. Oradan Vercel'in iç sistemlerine geçiş yaptı. Ardından sırları okumaya başladı.
Verinin şu anda BreachForums'ta 2 milyon dolara satıldığı iddia ediliyor.
Varsayılan olmayan "hassas" onay kutusu
Asıl önemli olan kısım burası.
Vercel'de iki tür ortam değişkeni var. "Dinlenirken şifrelenmiş" olan normal değişkenler — ancak Vercel'in sistemleri bunları çözüp okuyabiliyor. Ve ek şifreleme kullanan "hassas" değişkenler — Vercel'in ifadesiyle bunlar dahili erişimi bile engelliyor.
Saldırgan tüm normal değişkenleri okuyabildi. Yalnızca "hassas" olanlar korunuyordu.
Sorun şu: "hassas" seçime bağlıydı. Varsayılan değildi. DATABASE_URL veya STRIPE_SECRET_KEY veya JWT_SIGNING_KEY değerlerini bir onay kutusunu işaretlemeden tanımlayan her geliştirici — ki bunların çoğu böyle — bu değerleri, dahili erişime sahip bir saldırganın çözebileceği bir biçimde tutuyordu.
Vercel'in ihlal sonrası yönlendirmesi: "Şifreli depolama için hassas ortam değişkeni özelliğini etkinleştirin." Çevirisi: Sırlarınızı koruduğunu varsaydığınız şifreleme, aslında bunları bizden ya da sistemlerimize giren herhangi birinden korumuyordu.
İki aylık içeride kalma süresi
İlk ihlal Şubat 2026'da gerçekleşti. Vercel ilk güvenlik bültenini 19 Nisan'da yayımladı. Bu, saldırganın yaklaşık iki ay boyunca iç sistemlere erişimi olduğu anlamına geliyor.
Vercel'in kendi güvenlik ekibi saldırganı "işlem hızı ve Vercel'in ürün API yüzeyini derinlemesine anlaması bakımından son derece sofistike" olarak tanımladı. Altyapınızı barındıran şirket, saldırganın kendi sistemlerini beklenenden iyi anladığını söylüyorsa, bu durum sizi durup düşünmeye sevk etmeli.
Bu iki ay boyunca saldırganın, etkilenen müşteri projelerindeki erişilebilir her ortam değişkenini listelemek için zamanı vardı. Veri sızdırmak için zamanı vardı. Satmak için zamanı vardı.
OAuth tedarik zinciri
Giriş noktası Vercel'in kendi kodu bile değildi. Bir Vercel çalışanı, Context.ai adlı yapay zekâ üretkenlik aracını Google OAuth üzerinden yetkilendirdi. Context.ai ele geçirildiğinde, saldırgan bu OAuth izninin sağladığı her yetkiyi devraldı.
Bu, sürekli tekrarlanan bir örüntü. Kurumlar birincil kimlik doğrulamalarını dikkatlice kilitliyor, ardından genellikle daha zayıf güvenlik duruşuna sahip üçüncü taraf araçlara OAuth jetonları dağıtıyor. Zincirdeki tek bir ele geçirilmiş uygulama ve saldırgan çalışanınızın erişimini devralıyor.
Ele geçirilen OAuth Uygulama Kimliği herkese açık: 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com. Kurumunuz bu uygulamayı yetkilendirdiyse, hemen kaldırın.
Yapmanız gerekenler
Vercel üzerinde dağıtım yapıyorsanız:
- Her ortam değişkenini hemen döndürün — "etkilenip etkilenmediğinizi" belirlemeyi beklemeyin
- Bundan sonraki tüm ortam değişkenlerinde hassas bayrağını etkinleştirin
- Google Workspace OAuth uygulama izinlerinizi denetleyin ve aktif olarak kullanmadığınız her şeyi kaldırın
- Şubat-Nisan 2026 döneminde beklenmeyen değişiklikler için Vercel dağıtım günlüklerini gözden geçirin
- Vercel'de saklanan kimlik bilgilerini kullanarak yetkisiz erişim açısından alt hizmetleri (veritabanları, ödeme işlemcileri, API'ler) kontrol edin
Gerçek ders
Vercel'in mimarisi, müşteri sırlarını dahili erişimin çözebileceği bir biçimde saklıyordu. Daha güçlü bir seçenek sunuyorlardı, ancak bunu varsayılan yapmadılar. İki ay boyunca kimse bir saldırganın bu sırları okuduğunu fark etmedi.
"Bize güvenin" güvenliğinin sorunu budur. Vercel ortam değişkenlerinizi dinlenirken şifreledi — teknik olarak doğru. Ancak çözümleme anahtarları onlardaydı. Onların sistemleri tehlikeye girdiğinde, sırlarınız da tehlikeye girdi.
Alternatif, hizmet sağlayıcının matematiksel olarak verinizi çözemeyeceği sıfır bilgi mimarisidir. "Çözmeyi tercih etmiyor" değil — çözemez. Hiçbir dahili ihlal, hiçbir kötü niyetli çalışan, altyapınızda iki ay yaşayan hiçbir sofistike saldırgan, sunucunun çözümleme anahtarına hiç sahip olmadığı bir şeyi okuyamaz.
Vercel, müşterilerinden gerçek şifrelemeye geçmek için bir onay kutusu işaretlemelerini istiyor. Sorulmaya değer soru şu: bu neden baştan beri tek seçenek değildi?