Bulut güvenliği şirketi Wiz, birçok yapay zekâ uygulamasında farklı LLM sağlayıcılarına tek arayüzden erişmek için kullanılan açık kaynak LiteLLM paketine yönelik bir tedarik zinciri saldırısını duyurdu. Wiz’e göre 21 Ekim’de saat 11:39 UTC’de (TSİ 14:39) LiteLLM’in kötü amaçlı 1.107.0 sürümü PyPI’ye yüklendi ve sürüm 13:20 UTC itibarıyla PyPI’de karantinaya alındı.
Etkilenen sürümler
- PyPI’deki
litellm 1.107.0paketi. - GHCR ve Docker Hub’daki LiteLLM konteyner imajlarında
v1.107.0,latest,main-latestvemain-stableetiketleri; bunlar yaklaşık 13:53 UTC’de kaldırıldı. - Wiz’e göre en son güvenli sürüm v1.106.2.
Saldırı nasıl gerçekleşti?
Wiz’in aktardığı LiteLLM geliştiricisi BerriAI açıklamasına göre kötü amaçlı işlemler, büyük olasılıkla çalınmış GitHub CLI OAuth belirteçleri aracılığıyla üç mühendisin GitHub hesabı üzerinden yapıldı: Saldırgan bir kullanıcının hesabıyla sürüm yayınlama iş akışını tetikledi, bir başkasınınkiyle onayladı. İlgili tüm belirteçler iptal edildi. BerriAI’nin sonraki açıklamasına göre, internete açık olan iç LiteLLM dağıtımlarında beklenmedik, masum görünümlü bir kullanıcı hesabı tespit edildi. Şirket, saldırganın bu dağıtıma eriştiğini ve belirteçleri buradaki loglardan aldığını düşünüyor; belirli durumlarda Claude Code’un kullanıcının GitHub CLI OAuth belirtecini yanıt gövdesine gömebildiğini ve yanıt gövdeleri loglandığında bu belirteçlerin LiteLLM loglarında görünebildiğini tespit ettiğini belirtiyor. İç dağıtıma nasıl erişildiği henüz doğrulanmadı; yakın zamanda yaması yapılan bir açıktan şüpheleniliyor.
Wiz’e göre saldırgan, 21 Ekim’de 08:56–10:46 UTC arasında, meşru BerriAI organizasyonunun tireli bir taklidi olan Berri-AI/litellm üzerinde 10 commit itti; bunlar kalıcılık dosyalarını ekledi, sürümü 1.107.0’a yükseltti ve kötü amaçlı kodu wheel paketine ve Dockerfile’lara dahil etti.
Kötü amaçlı yazılım ne yapıyor?
Paket kurulduğunda site-packages köküne cook.pth, cook.py ve sitecustomize.py dosyaları yerleştiriliyor; bunlar her Python yorumlayıcısı başladığında çalışacak şekilde tasarlanmış. Wiz, hem .pth dosyası hem de sitecustomize.py tekniğinin aynı anda kullanılmasının sahada belgelenen ilk vaka gibi göründüğünü söylüyor. privcollect adlı hırsızlık modülü 16 modül üzerinden şunları topluyor:
- Chrome, Firefox, Edge ve Safari’deki tarayıcı kimlik bilgileri ve çerezler,
- AWS kimlik bilgileri (EC2/ECS örnek meta verisi dahil), GCP hizmet hesabı anahtarları ve Azure CLI belirteçleri,
- Ortam değişkenlerinde veya yapılandırma dosyalarında saklanan OpenAI, Anthropic, Cohere ve diğer LLM sağlayıcılarının API anahtarları,
- SSH ve GPG anahtarları ile kabuk geçmişi.
Yazılım ayrıca LiteLLM Proxy’nin PostgreSQL veritabanındaki sağlayıcı kimlik bilgilerini doğrudan sorguluyor. Toplanan veriler AES-256-CBC ile şifrelenip LiteLLM altyapısını taklit eden, saldırgan kontrolündeki www.litellm[.]dev/healthcheck adresine gönderiliyor. Wiz, kodda ayrıntılı değişken adları ve aşırı savunmacı hata yakalama gibi LLM yardımıyla geliştirildiğine dair güçlü işaretler bulunduğunu belirtiyor.
Çalınan kimliklerin kötüye kullanımı
Wiz, veri sızdırmadan yaklaşık 4,5 saat sonra çalınan kimlik bilgilerinin kullanılmaya başladığını gözlemledi. 16:20–17:01 UTC arasında saldırgan, ele geçirilen CI çalıştırıcıları ve Kubernetes düğümlerinden alınan AWS rol kimliklerini doğruladı ve ardından Bedrock model listeleme çağrıları yaptı; Wiz bunu LLMjacking ile tutarlı buluyor. Bazı ortamlarda IAM rolleri, kullanıcıları ve erişim anahtarları da listelendi.
Ne yapılmalı?
LiteLLM 1.107.0 kurmuş veya ilgili Docker etiketlerini çekmiş olanların v1.106.2’ye dönmesi, Wiz’in yayımladığı göstergeleri (IOC) kontrol etmesi ve etkilenen sistemlerdeki tüm bulut, API ve SSH kimlik bilgilerini yenilemesi gerekiyor. Wiz’in yazısında dosya karmaları (hash), ağ göstergeleri ve etkilenen imajların tam listesi yer alıyor.
Henüz yorum yok. İlk yorumu siz yapın!