Popüler Python paketi LiteLLM'in 1.107.0 sürümü tedarik zinciri saldırısıyla ele geçirildi; PyPI ve Docker üzerinden dağıtılan sürüm kimlik hırsızı ve arka kapı içeriyor.
Siber Güvenlik
Admin4 okunma

LiteLLM 1.107.0 Tedarik Zinciri Saldırısında Ele Geçirildi

Popüler Python paketi LiteLLM'in 1.107.0 sürümü tedarik zinciri saldırısıyla ele geçirildi; PyPI ve Docker üzerinden dağıtılan sürüm kimlik hırsızı ve arka kapı içeriyor.

LiteLLM 1.107.0 Tedarik Zinciri Saldırısında Ele Geçirildi

Haber detayı

Popüler LiteLLM Python paketi, tedarik zinciri saldırısı kapsamında ele geçirilerek kimlik hırsızı ve arka kapı dağıttı. SafeDep, Socket, StepSecurity ve Upwind tarafından bildirilen olaya göre saldırı LiteLLM 1.107.0 sürümünü etkiliyor ve paket PyPI üzerindeki wheel dosyaları ile Docker imajları aracılığıyla dağıtıldı. Python Package Index (PyPI) üzerinde söz konusu sürüm karantinaya alınırken, zararlı Docker imajları kaldırıldı. LiteLLM Güvenlik Direktörü Oliver Jensen, olayla ilgili soruşturmanın sürdüğünü ve tehdit aktörünün zararlı sürümü yayımlamak için kullandığı ilk saldırı vektörünün izinin sürüldüğünü açıkladı.

PyPI ve Docker Üzerinden Dağıtılan Zararlı Sürüm​

Saldırı, LiteLLM 1.107.0 sürümünü hedef aldı. Paket, PyPI üzerinden dağıtılan wheel dosyaları ve Docker imajları yoluyla kullanıcılara ulaştı. Tespitin ardından Python Package Index yönetimi ilgili sürümü karantinaya aldı, zararlı Docker imajları ise kayıtlardan silindi. LiteLLM tarafı ayrıca, yeni zararlı paketlerin yayımlanmasını engellemek için kamuya açık kayıtlardaki GitHub organizasyonuna yönelik güvenilir bağlantıları güncellediğini ve kaldırdığını duyurdu.
Etkilenen dosyalar arasında yedi farklı wheel ve bir kaynak arşivi bulunuyor. Listelenen wheel dosyaları şöyle: litellm-1.107.0-cp310-abi3-macosx_10_12_x86_64.whl, litellm-1.107.0-cp310-abi3-macosx_11_0_arm64.whl, litellm-1.107.0-cp310-abi3-manylinux_2_28_aarch64.whl, litellm-1.107.0-cp310-abi3-manylinux_2_28_x86_64.whl, litellm-1.107.0-cp310-abi3-musllinux_1_2_aarch64.whl, litellm-1.107.0-cp310-abi3-musllinux_1_2_x86_64.whl ve litellm-1.107.0-cp310-abi3-win_amd64.whl. Ayrıca litellm-1.107.0.tar.gz arşivinde doğrudan zararlı yük bulunmadığı ancak pyproject.toml dosyasının tahrif edildiği belirtildi.

Saldırının Kaynağı: Çalınan GitHub Tokenları​

Oliver Jensen, yapılan incelemede zararlı eylemlerin üç mühendisin GitHub hesapları üzerinden gerçekleştirildiğini ve bunun çalınan GitHub CLI OAuth tokenları yoluyla olmuş gibi göründüğünü söyledi. Jensen, tehdit aktörünün bir kullanıcının hesabını proje sürüm yayımlama işlemini tetiklemek için, bir diğer kullanıcının hesabını ise bu işlemi onaylamak için kullandığını ifade etti. Saldırıda rol oynayan tüm tokenların iptal edildiği açıklandı.
Jensen, tehdit aktörünün ilgili tokenları nasıl ele geçirdiğine dair mekanizmanın henüz tespit edilemediğini, bu nedenle söz konusu GitHub hesaplarına yönelik erişimin tamamen kesildiğinin henüz doğrulanamadığını belirtti. Geçici bir önlem olarak, etkilenmeyen tek bir kullanıcı hariç tüm kullanıcıların GitHub organizasyonundan çıkarıldığı bildirildi. Soruşturmanın bu vektörü netleştirmeye odaklandığı aktarıldı.

Zararlı Yazılım Nasıl Çalışıyor: cook.pth ve İki Aşamalı Yük​

Zararlı sürümün analizine göre paket iki aşamalı bir yük içeriyor. StepSecurity, ilk yükün kendini privcollect olarak adlandıran bir kimlik hırsızı olduğunu, ikinci yükün ise her saat başı bir GitHub dead drop adresini kontrol eden ve saldırganın sunduğu Python kodunu çalıştıran bir arka plan daemonu oluşturduğunu açıkladı.
Zararlı yazılım, LiteLLM içe aktarılmadan önce bile Python yorumlayıcısı başlatıldığında otomatik olarak çalışacak şekilde tasarlandı. Bu, cook.pth adlı bir path dosyası aracılığıyla gerçekleştiriliyor. cook.pth dosyası tek bir satır içeriyor: import cook. Bu komut, kimlik toplayıcı yükünü başlatan cook modülünü tetikliyor. Aynı davranışın, Mart ayında yaşanan TeamPCP tedarik zinciri saldırıları kapsamındaki LiteLLM ele geçirilmesinde de gözlemlendiği kaydedildi.

Hangi Veriler Hedeflendi ve Veriler Nereye Gönderildi​

cook modülü üzerinden çalışan kimlik hırsızı, geniş bir veri kümesini toplamayı hedefliyor. Hedefler arasında bulut tokenları, geliştirici hesapları ve özel anahtarlar, AI araçlarına ait kimlik bilgisi JSON dosyaları, Chromium ve Firefox ile ilişkili tarayıcı verileri ve ortam değişkenleri yer alıyor. Zararlı yazılım ayrıca LiteLLM dağıtımlarını hedef alarak proxy üzerinde kayıtlı kimlik bilgilerini ve model yapılandırmasını çıkarmayı amaçlıyor.
Toplanan veriler GZIP ile sıkıştırılmış bir TAR arşivi halinde paketleniyor ve HTTP POST isteği yoluyla litellm.dev/healthcheck adresine gönderiliyor. Bu mekanizma, ele geçirilen sistemlerden toplanan hassas bilgilerin dışarı sızdırılması için kullanılıyor.

Arka Kapı Mekanizması ve Alınması Gereken Önlemler​

İkinci yük, kalıcılık ve uzaktan kod çalıştırma işlevi görüyor. Zararlı yazılım, github.com/letters9813 adresindeki bir GitHub deposu içinde bulunan domain.txt adlı metin dosyasının içeriğini okuyacak şekilde tasarlandı. Dosyada bir alan adı bulunması halinde aynı hırsız yazılım yeniden çalıştırılıyor ve ardından <domain>/codepy adresine HTTP GET isteği gönderilerek dönen yanıt yürütülüyor. İnceleme sırasında söz konusu GitHub deposunun 404 hatası döndürdüğü görüldü.
Zararlı sürümü indiren kullanıcılara yönelik öneri, ele geçirilmiş olabilecek kimlik bilgilerini temiz bir ortamdan iptal edip yenilemeleri ve 1.106.2 sürümüne digest ile sabitlemeleri yönünde oldu. PyPI tarafında karantina ve Docker imajlarının kaldırılması ile GitHub organizasyonundaki geçici kısıtlamalar, yeni yayımların önüne geçmek için alınan önlemler arasında yer aldı.

Sıkça Sorulan Sorular​

LiteLLM saldırısından hangi sürüm etkilendi?​

Yalnızca LiteLLM 1.107.0 sürümü etkilendi. Bu sürüm PyPI wheel dosyaları ve Docker imajları üzerinden dağıtıldı, PyPI üzerinde karantinaya alındı ve zararlı Docker imajları kaldırıldı.

Saldırı nasıl gerçekleştirildi?​

LiteLLM Güvenlik Direktörü Oliver Jensen'e göre zararlı eylemler üç mühendisin GitHub hesapları üzerinden, çalınan GitHub CLI OAuth tokenları yoluyla gerçekleştirildi. Tehdit aktörü bir hesabı sürüm yayımlama işlemini tetiklemek, diğerini onaylamak için kullandı. Tokenların nasıl ele geçirildiği henüz tespit edilemedi.

Zararlı yazılım nasıl çalışıyor?​

Zararlı kod cook.pth adlı dosya içindeki import cook satırı sayesinde Python yorumlayıcısı başlar başlamaz, LiteLLM içe aktarılmadan önce çalışıyor. İlk yük privcollect adlı kimlik hırsızı, ikinci yük ise her saat GitHub üzerindeki bir dead drop adresini kontrol edip saldırganın sunduğu Python kodunu çalıştıran bir arka kapı.

Hangi veriler hedef alındı ve nereye gönderildi?​

Zararlı yazılım bulut kimlik bilgileri, özel anahtarlar, tarayıcı verileri, AI geliştirme araçlarına ait kimlik dosyaları, ortam değişkenleri ve LiteLLM proxy kimlik bilgilerini topluyor. Veriler GZIP sıkıştırılmış TAR arşivi halinde litellm.dev/healthcheck adresine HTTP POST ile gönderiliyor.

Etkilenen kullanıcıların ne yapması öneriliyor?​

Kaynakta yer alan öneriye göre zararlı sürümü indiren kullanıcıların ele geçirilmiş olabilecek kimlik bilgilerini temiz bir ortamdan iptal edip yenilemeleri ve LiteLLM 1.106.2 sürümüne digest ile sabitlemeleri gerekiyor.

Etiketler

Yorumlar (0)

Yorum yapmak için giriş yapmalısınız.

Geri
Üst