Vercel güvenlik ihlalini doğruladı, hackerlar çalınan verileri sattığını iddia ediyor
(bleepingcomputer.com)- Vercel, iç sistemlerine yetkisiz erişim yaşanan bir güvenlik olayını resmen doğruladı; şu anda olay müdahale uzmanları ve kolluk kuvvetleriyle birlikte çalışıyor
- İhlalin nedeni, üçüncü taraf yapay zeka aracı Context.ai'nin Google Workspace OAuth uygulamasının ele geçirilmesi sonucu Vercel çalışan hesaplarının kompromize olması
- Saldırgan, hassas olmayan (non-sensitive) ortam değişkenlerini listeleyerek ek erişim yetkileri elde etti; bu değişkenler şifrelenmemiş durumda saklanıyordu
- Kendini ShinyHunters olarak tanıtan bir hacker, bir hack forumunda erişim anahtarları, kaynak kodu, veritabanı verileri, API anahtarları ve daha fazlasını sattığını iddia ederek 2 milyon dolarlık fidye talep etti
- Vercel, Next.js, Turbopack gibi açık kaynak projelerin güvenliğini doğruladığını ve müşterilere ortam değişkenlerini gözden geçirmeleriyle hassas değişken özelliğini etkinleştirmelerini tavsiye etti
Güvenlik olayının özeti
- Vercel, JavaScript framework'lerine odaklanan bir bulut barındırma ve dağıtım altyapısı platformu; Next.js'in geliştiricisi ve serverless fonksiyonlar, edge computing ile CI/CD pipeline hizmetleri sunuyor
- Güvenlik duyurusu üzerinden iç sistemlerine yetkisiz erişim (unauthorized access) gerçekleştiğini resmen doğruladı
- Sınırlı sayıdaki bazı müşterilerin etkilendiği, ancak hizmetin kendisinin etkilenmediği açıklandı
- Olay müdahale uzmanları görevlendirildi ve kolluk kuvvetlerine bildirim yapıldı; soruşturma sürüyor
İhlal yolu ve teknik ayrıntılar
- İhlalin temel nedeni, üçüncü taraf yapay zeka platformu Context.ai'nin Google Workspace OAuth uygulamasının ele geçirilmesi oldu
- Vercel CEO'su Guillermo Rauch, X'te (eski adıyla Twitter) ek ayrıntılar paylaştı
- Saldırgan, Context.ai ihlali üzerinden bir Vercel çalışanının Google Workspace hesabını ele geçirdi
- Ardından bu hesap üzerinden Vercel ortamında yetkisini yükseltti (escalate)
- Saldırgan, "hassas değil (non-sensitive)" olarak işaretlenmiş ortam değişkenlerine erişti; bu değişkenler şifrelenmemiş halde depolanıyordu (not encrypted at rest)
- Vercel, tüm müşteri ortam değişkenlerini tam olarak şifrelenmiş biçimde depoladığını (fully encrypted at rest) ve çok katmanlı savunma mekanizmalarına sahip olduğunu, ancak "non-sensitive" olarak işaretlenen değişkenlerin zayıf nokta haline geldiğini belirtti
- Google Workspace yöneticilerine şu OAuth uygulamasını kontrol etmeleri önerildi:
110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com
Hackerın veri satışı iddiası
- Kendini ShinyHunters olarak tanıtan tehdit aktörü, bir hack forumunda Vercel ihlali ve veri satışıyla ilgili bir gönderi paylaştı
- Satışa çıkarıldığı iddia edilenler: erişim anahtarları, kaynak kodu, veritabanı verileri, iç dağıtım erişimi ve API anahtarları (NPM token'ları, GitHub token'ları dahil)
- Kanıt olarak Linear verileri sundu ve çok sayıda çalışan hesabına erişimi olduğunu iddia etti
- ShinyHunters grubuyla bağlantılı geçmiş tehdit aktörleri, BleepingComputer'a bu olayla ilgileri olmadığını söyleyerek bunu reddetti
- Saldırganın paylaştığı metin dosyasında, isim, Vercel e-posta adresi, hesap durumu ve etkinlik zaman damgalarından oluşan 580 adet Vercel çalışan kaydı yer alıyor
- Bunun yanında dahili Vercel Enterprise dashboard gibi görünen bir ekran görüntüsü de paylaşıldı
- BleepingComputer, söz konusu veri ve ekran görüntülerinin doğruluğunu bağımsız olarak doğrulayamadı
- Telegram mesajında tehdit aktörü, Vercel ile temas halinde olduğunu ve 2 milyon dolarlık fidye (ransom) talep ettiğini öne sürdü
Vercel'in yanıtı ve müşteri önerileri
- Next.js, Turbopack ve diğer açık kaynak projelerin güvende olduğu doğrulandı
- Dashboard'a, ortam değişkenleri için bir genel bakış sayfası ile hassas ortam değişkenlerini yönetmek için iyileştirilmiş bir arayüz dağıtıldı
- Müşterilere önerilen adımlar:
- Ortam değişkenlerini (environment variables) gözden geçirmek
- Kullanılmadığında şifreleme güvencesi için hassas ortam değişkeni özelliğini (sensitive environment variable feature) etkinleştirmek
- Gerekirse secret rotation gerçekleştirmek
3 yorum
Hacker News görüşleri
Az önce duyurunun güncellendiğini gördüm; ihlalin üçüncü taraf bir yapay zeka aracının Google Workspace OAuth uygulamasının ele geçirilmesiyle başladığının belirtilmesi önemliydi
Soruşturmayı desteklemek için IOC de paylaşılmıştı ve yöneticilerin bu uygulamanın kullanılıp kullanılmadığını hemen kontrol etmesi isteniyordu
OAuth uygulaması
110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com; asıl metin Vercel güvenlik duyurusunda görülebilirÖzellikle hassas olmayan ortam değişkenlerinin listelenmesi üzerinden ek erişim sağlanabilmiş olması dikkat çekiciydi; saldırganların yapay zeka ile ciddi biçimde hız kazanmış gelişmiş bir grup olabileceği tahmini de vardı
Buna rağmen hâlâ kullanıcılara yönelik bir e-posta bildirimi olmaması oldukça endişe vericiydi
Karşı tarafı hemen açıkça hedef göstermek istememelerini anlıyorum ama servis adını gizlemek müdahaleyi sadece geciktiriyor gibi hissettirdi
Artık sağlam bir temel üstüne inşa etmekten çok çeşitli üçüncü taraf bileşenleri birleştirmek fazlasıyla normalleşti ve bununla birlikte başarısızlık noktaları da çoğaldı
Sonuçta güvenliğin ancak en zayıf halka kadar güçlü olduğu gerçeği yine ortaya çıktı; özellikle vibe-coded hissi veren yapay zeka araçlarının üstüne iş kurmanın açık bir risk olduğunu düşündüm
Bu yönü sürdürmeye gerçekten değip değmediğini ve karmaşıklığın daha ne kadar artması gerektiğini kendime sormaya başladım
Claude Code öneri yığınının analizi bana Claude Code’un varsayılan olarak belirli sağlayıcıları ve framework’leri öne çıkararak web’i daha da tek tip hâle getirdiğini düşündürdü
Bu çeşitlilik eksikliği de bir olay yaşandığında etki alanını büyütüyor gibi görünüyor
Neredeyse varsayılan seçenek hâline gelmiş gibi bir izlenim veriyordu
Bunun üzerine özellikle Node olmadan yapmasını isteyince bu kez hemen Python backend ile yeniden kurdu ve bağımlılıkları azaltacak şekilde değiştirdiğini de kendisi açıkladı
Bu arada bu sadece çöpe atılacak bir çıktı için yaptığım bir deneydi; vibe coding önermek gibi bir niyetim yoktu
Sonuçta mesele nasıl kullanıldığı ve geliştiricileri, Claude’un kararları onların yerine vermesine izin vermemeleri için daha iyi yönlendirmek gerekiyor
Tavsiye alınabilir ama son aşamada insanın eleştirel değerlendirme yapması şart; bu açıdan başka bir ekip arkadaşıyla çalışmaktan çok da farklı gelmiyor
İnternetin de zaten böyle bir eğilimi vardı ama bu kez biraz farklı hissettiriyor
Daha önce güvenlik olayı müdahale ekibinde bulunmuş biri olarak, bu müdahale ekibinin ne kadar zorlandığını anlayabiliyorum
Yine de ilk duyuru gerçekten berbat bir iletişim örneği gibi duruyordu
Ne olduğunu söylemeden, sadece kolluk kuvvetlerine bildirilecek kadar ciddi olduğundan söz ediliyordu; müşterilere verilen eylem önerisi ise yalnızca "ortam değişkenlerinizi gözden geçirin" düzeyindeydi
Ama müşteri açısından bununla ne yapılacağı çok belirsizdi. Hâlâ değerlerin mevcut olup olmadığı mı kontrol edilecekti, yoksa zaten sızdırılıp sızdırılmadığı nasıl anlaşılacaktı, belli değildi
Bana göre hemen parola, erişim token’ları ve Vercel’e emanet edilmiş tüm hassas bilgilerin rotasyona sokulması söylenmeliydi; ardından da erişim günlükleriyle müşteri verilerindeki anormalliklerin denetlenmesi gerektiği belirtilmeliydi
Pahalı hosting ücretleri ödemenin nedeni, sonuçta güvenlik ve kararlılığın profesyonelce yönetileceği beklentisidir; şu anki yaklaşım ise ilk belirsizlik payı hesaba katılsa bile fazlasıyla kasıtlı biçimde muğlak görünüyordu
Ancak API anahtarları, token’lar, veritabanı kimlik bilgileri ve imzalama anahtarları gibi sırlar sensitive olarak işaretlenmediyse, potansiyel olarak açığa çıkmış kabul edilip öncelikle değiştirilmeleri gerektiği yazıyordu
Kaynak incident page idi ve bunu gördüğüm an Doğu saatiyle 16:22 idi
Bir yıldan uzun süredir ücretli müşteriyim ama şirket e-postasından önce haber toplayıcısından öğrenmem gerçekten saçmaydı
İlgili bağlam HN başlığında ve o zamanki tepkilerde görülebilir
Geri kalanı ise çoğu zaman başına iş açan tercihler gibi geliyor
Ama ben artık o kolaylığa yaslanmamaya karar verdim ve her şeyi Render’dan linode’a taşıdım
Eskiden Render’a ayda 50 doların üzerinde ödüyordum, şimdi ise 3–5 dolar seviyesindeyim; bundan sonra bu tür hosting şirketlerini yeniden kullanma ihtimalim çok düşük
“Vercel hangi sistemin ihlal edildiğini açıklamadı” cümlesini görünce, güvenlik uzmanı olmasam da bunun oldukça ikna etmesi zor bir tutum olduğunu düşündüm
Müşterilerin etkilenmeyi anlamasına yardımcı olmaktan çok kendilerini savunmaya odaklanıyorlarmış izlenimi de verdi
Örneğin GitHub’da pek bilinmeyen bir alt alt sistem X ele geçirildi demek, zaten söylenmiş olan “bazı müşteri ortamları etkilendi” ifadesinden pratikte daha yardımcı olmayabilir
Duyuruya IOC eklendiğini tekrar görünce, bu olayın Google Workspace OAuth uygulamasının ele geçirilmesiyle başladığı bilgisinin topluluk genelinde gerçekten önemli olduğu netleşti
Yöneticiler ve hesap sahipleri ilgili uygulama tanımlayıcısını hemen kontrol etmeli diye düşündüm; ayrıntılar Vercel duyurusunda vardı
Bende MacBook Pro ve Chrome 147.0.7727.56 var; sayfanın sol üstündeki Vercel logosuna tıkladığım anda Chrome uygulaması anında çöktü
Oldukça ilginç bir hata gibi geldi
Şu an herkes Vercel’in bir şekilde ihlal edilmiş olabileceğine dair şeyler okurken bir yandan da web sayfası çökmesini yeniden üretmeye çalışıyor; bu durum tuhaf biçimde komikti
Elbette bu tür toplu yeniden üretme oyununun kesinlikle ters etki yaratmayacağını düşünmek zor
Videoya da aldım; uBlock Origin Lite kullandığım için sebep o olabilir diye düşündüm ama kapatınca da yine çökmedi
Yeniden üretilebilseydi biraz eğlenceli olurdu diye de düşündüm
Bir süre öyle sürmüş, sonra sonunda düzeltilmişti
Ama Vercel ana sayfasını bir kez doğrudan URL ile açtıktan sonra logoya tıklayınca artık çökme olmadı
Ama artık Finish update düğmesine basmak biraz ürkütücü geliyor
İlgili bilgi olarak HN’deki başka bir başlığı ve birkaç X paylaşımını birlikte takip ediyordum
Theo’nun ilk paylaşımında bunun inandırıcı göründüğünü söylüyordu; devam paylaşımında sensitive olarak işaretlenmiş env var’ların güvende olduğunu, işaretlenmeyen değerlerin ise önlem amaçlı değiştirilmesi gerektiğini yazdı
Bir başka paylaşımında bu tür bir saldırının herhangi bir hostta yaşanabileceğini söyledi; başka bir paylaşımda ise ShinyHunters bağlantısı olabileceği öne sürüldü
Mutlaka değiştirilmeleri gerekiyorsa, o zaman zaten baştan hassas bilgi sayılıp sensitive olarak işaretlenmeleri gerekirdi diye düşünüyorum
Şu an için ortada çok fazla somut bilgi varmış gibi görünmüyor
Böyle olaylar bana modern web ekosisteminin ne kadar çok tek hata noktasında yoğunlaştığını yeniden hatırlatıyor
Şu ana kadarki açıklamaları nispeten şeffaf buluyorum ama tam yönetilen PaaS’a bütünüyle dayanmanın risk profilini yeniden hesaplamama neden oldu
“Sınırlı sayıda müşteri” ifadesi teknik olarak %99 için bile kullanılabilir; bu yüzden oldukça muğlak bir ifade gibi geliyor
Acaba gerçekte birçok müşteri etkilenmişken, ayrılması sorun yaratacak büyük müşterilere mi subset deniyor diye de şüphelendim
İnsanları gerçekten rahatlatabileceklerse genelde “kullanıcıların %1’inden azı” gibi somut sayılar verirler; burada öyle yapılmadı
Bu yüzden ya görünürlükleri henüz yetersiz ya da ortaya çıkan rakamı beğenmiyor olabilirler diye düşündüm
Yine de müdahale ekibinin ne kadar zorlandığını anlayabiliyorum ve bundan sonra daha açık, daha şeffaf iletişim kurmalarını umuyorum
Burada da Hintçe karakterler görünüyor. Son zamanlarda OpenAI, Claude, Google fark etmeksizin Korece çıktılara Hintçenin karıştığı durumlar epey sık yaşanıyor; acaba Korece veri setlerinin etiketlemesini Hintliler mi yaptı?
Çin modellerinde Korece yanıtlara Çince karıştığı için bundan hoşlanmıyordum, ama son zamanlarda frontier modeller sürekli Hintçe karıştırınca Çin modellerine karşı olan rahatsızlığım aksine azaldı.
Önceden Claude kullandığımda Japonca sık sık çıkıyordu. Dün de öyleydi.