İçeriğe geç

(Menü)

Haberler

LiteLLM saldırısı: Beş ay iptal edilmeyen tek anahtar

3 dk okuma Haber · Güvenlik

Popüler yapay zekâ ara katmanı LiteLLM'in zararlı 1.107.0 sürümü, mayısta herkese açık bir depoya yüklenen ve hiç iptal edilmeyen bir ana anahtara dayanıyordu. Zehirli paket iki saatten kısa sürede yaklaşık 49 bin kez indirildi.

Ne oldu

LiteLLM, uygulamaların OpenAI, Anthropic, Google ve diğer model sağlayıcılarına tek bir arayüzden bağlanmasını sağlayan açık kaynak bir Python kütüphanesi ve ağ geçidi. Ekim sonunda yayımlanan olay sonrası analiz (postmortem), 21 Ekim'de PyPI'a yüklenen 1.107.0 sürümünün nasıl zehirlendiğini ortaya koydu. Zincirin başı 27 Mayıs 2026: LiteLLM Agent Platform'a ait bir ana anahtar herkese açık bir GitHub deposuna işlendi. Commit daha sonra üzerine yazıldı, ama anahtar hiç iptal edilmedi. The Register'a göre anahtar 136 gün boyunca geçerli kaldı.

Ayrıntılar: saldırı zinciri

Saldırgan 10 Ekim'de bu anahtarla kuruluş sahibi yetkisine sahip bir GitHub CLI OAuth anahtarı ele geçirdi ve kuruluşun depolarına sahip düzeyinde erişti. Zararlı sürüm Berri-AI/litellm adlı, asıl depoya benzeyen bir depodan derlendi ve 21 Ekim'de saat 11.39'da (UTC) PyPI'a yüklendi. Ostorlab'a göre paket 13.23'te karantinaya alındı; yani yaklaşık 1 saat 44 dakika yayında kaldı. Wiz'in verisine göre bu sürede yaklaşık 49 bin kez indirildi. Paket bir bilgi hırsızı ve bir uzaktan erişim truva atı taşıyordu. Kurulduğu anda Python her başladığında çalışan başlangıç dosyaları bırakıyordu; LiteLLM hiç içe aktarılmasa bile hırsız çalışıyordu.

~49.000Zehirli LiteLLM 1.107.0'ın karantinadan önceki yaklaşık 1 saat 44 dakikada indirilme sayısı

Bu yılın ikinci olayı

StepSecurity, bunun LiteLLM'in bu yıl PyPI'da yaşadığı ikinci ele geçirme olduğunu hatırlatıyor; ilki martta 1.82.7 ve 1.82.8 sürümlerinde yaşanmıştı. LiteLLM, yapay zekâ uygulamalarında çok yaygın kullanıldığı için bu kütüphaneyi ele geçirmek, binlerce şirketin model API anahtarlarına aynı anda ulaşmak anlamına geliyor. Yapay zekâ altyapısı, saldırganlar için yüksek getirili bir hedef haline geldi.

Saldırganın asıl hedefi, LiteLLM'i kullanan sistemlerde saklanan yapay zekâ API anahtarları ve bulut kimlik bilgileri. Bu anahtarlar ele geçirildiğinde saldırgan hem pahalı model kullanımını mağdurun faturasına yazabilir hem de şirketin verisine ulaşabilir. Kısa yayında kalma süresine rağmen indirme sayısının yüksekliği, birçok ortamın bağımlılıkları otomatik olarak en son sürüme güncellediğini gösteriyor.

Terimler: tedarik zinciri saldırısı ve anahtar rotasyonu

Tedarik zinciri saldırısı, hedefe doğrudan değil, hedefin kullandığı bir yazılım bileşeni üzerinden ulaşmaktır; kullanıcı güvendiği bir paketi güncellediğinde zararlı kodu da kurmuş olur. Anahtar rotasyonu, bir gizli anahtarın düzenli aralıklarla ya da şüpheli bir durumda iptal edilip yenisiyle değiştirilmesidir. Git geçmişinden bir anahtarı silmek onu güvenli hale getirmez; anahtar kopyalanmış olabilir. Tek doğru adım iptal etmektir. Sürüm sabitleme (version pinning) ise bağımlılıkların belirli, denetlenmiş bir sürüme kilitlenmesidir.

Neden önemli, sırada ne var

Olay, tek bir unutulmuş adımın beş ay sonra on binlerce sistemi etkileyebileceğini gösteriyor. Aynı hafta yayımlanan Arrakis raporu da benzer bir tabloyu ajanlar için çiziyor: incelenen yapay zekâ ajanlarının yüzde 44'ü 180 günden uzun süredir etkin değil, ama hâlâ canlı kimlik bilgisi taşıyor. Paket kayıtlarının güvenilir yayıncı doğrulamasını zorunlu hale getirmesi ve kuruluşların gizli anahtar taramasını sürekli çalıştırması bekleniyor.

Senin işin için ne demek

1.107.0 sürümünü kurduysan, o makinedeki tüm gizli bilgilerin çalınmış olabileceğini varsay.

  • Temiz bir makineden anahtarları yenile. Etkilenen ortamı yeniden kur; model API anahtarlarını, bulut erişimlerini ve veritabanı şifrelerini değiştir.
  • Sürümleri sabitle. Yapay zekâ kütüphanelerini otomatik en son sürüme güncelleme; denetlenmiş sürüme kilitle ve güncellemeyi bilinçli yap.
  • Sızan anahtarı sil değil, iptal et. Bir anahtar bir kez herkese açık bir yere düştüyse, commit'i silmek yetmez. Hemen iptal et ve yenisini üret.