· kaynak dev.to (home feed)
LiteLLM ihlal arşivi, 2.488 kuruluştan 153GB gizli bilgi içeriyor
Araştırmacılar Mart ayındaki LiteLLM PyPI tedarik zinciri saldırısını sayısallaştırdı: 2.488 kuruluşu kapsayan, 433.909 dosya içeren 153GB'lık bir arşiv; bu kuruluşların birçoğu ise tespit edilemiyor veya bilgilendirilemiyor.

Ölçek, artık ölçülmüş durumda
Saldırganların PyPI üzerindeki litellm paketini ele geçirmesinin beş ay ardından, araştırmacılar çalınanların kesin rakamlarını ortaya koydu. Hudson Rock'un 12 Ağustos 2026'da yayımladığı analize göre saldırganlar, sabotaj edilmiş paketin yayında olduğu Mart ayındaki yaklaşık 40 dakikalık süre boyunca 433.909 dosya içeren 153GB'lık bir RAR arşivi dışarı sızdırdı. CloudSEK 11 Ağustos 2026'da aynı kampanyayı kendi istihbarat kaynaklarından ele alan paralel bir araştırma yayımladı ve dev.to üzerindeki bir GitGuardian yazısı her iki raporu özetliyor.
Arşiv içinde Hudson Rock, 118.829 CI runner dökümünü 2.488 kurumsal domaine atfediyor. İki rapor da kötü amaçlı yazılımın davranışından çok çalınan verilere odaklanıyor; kötü amaçlı yazılımın davranışı, olayın Mart ayında ortaya çıkmasıyla birlikte zaten belgelenmişti.
Kimlik bilgileri nasıl toplandı
Ele geçirilen her runner üzerinde payload root yetkisine yükseltiyor ve SSH anahtarlarını, AWS, GCP ve Azure kimlik bilgilerini, Kubernetes service account token'larını, .env dosyalarını ve CI/CD secret'larını tarıyordu. Yapay zekâ ile ilgili build'lerde ayrıca LLM API anahtarlarını ve gateway yapılandırmalarını da topladı; bu da pratikte tek bir kimlik bilgisi yerine bir kuruluşun tüm model yığınına erişim anlamına geliyor.
Hudson Rock'un raporu, AWS_SECRET_ACCESS_KEY, SALESFORCE_CLIENT_SECRET, SLACK_SIGNING_SECRET, Azure kimlik bilgileri ve yapay zekâ sağlayıcı API anahtarları dahil olmak üzere çalışma ortasında yakalanan ortam dökümlerini gösteriyor. GITLAB_USER_EMAIL ve CI_SERVER_FQDN gibi alanlar, atıf yapılabilmesini sağlayan bilgiler. Bir kuruluş, Bitbucket deployment token'ları, Elastic API anahtarları, iç JWT'ler ve NPM token'ları açığa çıkaran 17 ele geçirilmiş pipeline dökümüyle tek başına öne çıkıyor; bu tür bir ganimet, tek bir tedarik zinceri olayını bir sonrakine dönüştürebilir.
Payload ayrıca Python interpreter başlangıcında çalıştığı için geliştirici dizüstü bilgisayarlarında da CI runner'lardaki kadar kolaylıkla yürütüldü ve hiçbir repository'ye dokunmadı. Bu ayrıntı, soruşturmasını yalnızca kaynak kontrolü çevresinde kurgulayan her ekip için önemli.
Adını koyamadığımız kurbanlar
İki rapordaki en keskin bulgu olumsuz bir bulgu. Hudson Rock, birçok dökümün canlı veritabanı parolaları, bulut kimlik bilgileri ve üçüncü taraf API anahtarları içerdiğini, ancak hiçbir kurumsal e-posta, özel domain veya iç hostname taşımadığını bildiriyor. Bu kayıtlar hiç kimseye atfedilemez: arkasındaki kuruluşlar hiçbir kurban listesinde görünmeyecek ve hiçbir ifşa e-postası almayacak. Hudson Rock etik bir ifşa programı yürüttü ve CloudSEK herkese açık bir sorgulama aracı yayımladı, ancak ikisi de adını koyamadığı bir şirketi bilgilendiremez.
Atıf yanıltıcı da olabilir. Hudson Rock, committer e-postası @siriusxm.com ile biten, ancak ortam dökümü gitlab.adswizz.com ve eşleşen bir registry host'unu gösteren bir pipeline'dan söz ediyor. Ele geçirme aslında AdsWizz altyapısında, yani SiriusXM'in bir yan kuruluşundaydı; dolayısıyla yalnızca e-postaya bakılarak yönlendirilen bir uyarı yanlış güvenlik ekibine ulaşacaktı.
Açığa çıkmış ekipler neler yapabilir
- İnsan olmayan kimliklerin envanterini çıkarın: 24 Mart'ta pipeline'larda hangi kimlik bilgileri vardı, her biri neye erişiyor ve sahibi kim. Bu liste olmadan, bir kuruluşun açığa çıkıp çıkmadığı sorusunun yanıtı yoktur.
- İzlemeyi endpoint'lere genişletin. Yürütme interpreter başlangıcında gerçekleştiği için geliştirici makineleri de CI runner'lar kadar kapsamdadır.
- Otomatik geçerlilik kontrolleriyle sürekli secret tespiti çalıştırın; belirsiz bir endişeyi, rotasyon yapılacak kimlik bilgilerinin sıralı bir listesine dönüştürün.
- Ortam değişkenlerine ve .env dosyalarına honeytoken yerleştirin. İlk kullanım denemesi bir uyarı tetikler; bu sinyal, kurbanın kimliğini önce tespit etmeyi gerektirmeden ulaşır.
Neden önemli
Tedarik zinciri olayları genellikle indirme sayılarıyla veya etkilenen paket sürümleriyle ölçülür; bu olay ise gigabyte'larca canlı kimlik bilgisi ve isimlendirilmiş kurbanlarla ölçülüyor. LiteLLM arşivi sorunun iki yarısını da gösteriyor: bir infostealer bir saatten kısa sürede CI'den ne kadar veri çıkarabilir ve kurbanlar hiçbir geri dönüş adresi bırakmadığında ifşa süreci nasıl çöker. Mart ayında, özellikle 24 Mart civarında litellm build'leri çalıştıran her ekip, kendi kimlik bilgisi envanteri aksini söyleyene kadar açığa çıkmış olduğunu varsaymalı; çünkü kurbanların büyük bir bölümünü başka hiç kimse asla bilgilendirmeyecek.
- #supply-chain
- #security
- #pypi
- #ci-cd
- #secrets
İlgili yazılar
- openai ve transformers'ın PyPI typosquat'ları anahtar çalan kötücül yazılım taşıyordu; advisories 95 güne kadar gecikebiliyor
- Araştırmacı, Samsung, Xiaomi ve Oppo telefonlarda tek bir ayrıcalıksız uygulamadan root'a giden zinciri gösterdi
- Öğrencinin GitHub Actions tarayıcısı sıfır sömürülebilir açık, kendisinde ise 12 hata buldu