Siber Güvenlik

AI gateway sağlayıcısı LiteLLM, zararlı paket yayınına GitHub token sızıntısını işaret ediyor

AI gateway sağlayıcısı LiteLLM, zararlı paket yayınına GitHub token sızıntısını işaret ediyor

Ravie Lakshmanan 22 Ekim 2026 Bulut Güvenliği / Veri İhlali

LiteLLM Çarşamba günü tehdit aktörlerinin birden fazla bağımsız güvenlik kontrolünü aşarak kimlik avcısı ve arka kapı içeren zararlı bir Python paketi sürümü yayımladığını açıkladı.

21 Ekim 2026’da LiteLLM’in yayın hattı ele geçirilerek 1.107.0 sürümü Docker Hub kayıt defterine ve Python Package Index’e gönderildi. Olay yaklaşık 04.00 PST’de gerçekleşti. Yayımlanan tehlikeye atılmış sürümler şunlardır:

LiteLLM v1.107.0 (PyPI)

v1.107.0, latest, main-latest ve main-stable (Docker)

v1.107.0, latest, main-latest ve main-stable (GHCR)

11.39 ile 13.23 UTC arasında pip üzerinden sabitlenmemiş bir LiteLLM sürümü indiren ya da 11.46 ile 14.20 UTC arasında Docker imajı v1.107.0, latest, main-latest veya main-stable kullanan kullanıcılar etkilendi.

Zehirli sürüm kimlik bilgilerini ve anahtarları toplamak ve uzaktan bir sunucudan her saat başı keyfi kod çalıştırmak üzere kod içeriyordu; böylece uzaktan erişim truva atına dönüştü.

Özellikle Python yorumlayıcısı bir yol dosyası olan "cook.pth"yi işler. Bu dosya "cook" modülünü içe aktarma komutu içerir. "cook.py" adlı Python betiği kendini karartmadan çıkarır ve "privcollect" adlı bir hırsızlık rutini çalıştırır. Rutin sistem, tarayıcı, geliştirici, bulut ve yapay zeka araç sırlarını toplar ve veriyi HTTP POST isteğiyle "litellm[.]dev/healthcheck" adresine dışarı sızdırır.

Buna ek olarak yorumlayıcı Linux ve macOS makinelerinde çalışan "sitecustomize.py"yi çalıştırmaya çalışır. Bu dosya, kaldırılmış bir GitHub ölü düşüşü olan "github[.]com/letters9813" adresinden "domain.txt" dosyasını alır. Dosya geçerli bir yanıt döndürürse kötü amaçlı yazılım ikinci aşama bir Python betiğini "/codepy" adresinden indirip çalıştırır.

"Arka planda bir daemon çatallıyor ve birden fazla örneği engellemek için '/tmp/remote_code_loader.lock' konumunda kilit alıyor, ardından sonsuz bir döngüye giriyor," dedi Aikido araştırmacısı Ilyas Makari. "Her saat, daemon saldırganın mevcut C2 alanını bir GitHub deposundan (raw[.]githubusercontent[.]com/letters9813/pythonclient-test/main/domain[.]txt) alıyor, ardından https://{domain}/codepy adresinden bir Python yükü indirip çalıştırıyor."

Google’a ait bulut güvenlik yan kuruluşu Wiz’e göre metin dosyası GitHub tarafından yaklaşık 13.30 UTC’de kaldırılmadan önce yalnızca ilk test değerlerini içeriyordu.

"Hem .pth dosyalarını hem de sitecustomize.py'yi eş zamanlı kullanma yaklaşımı, vahşi doğada belgelenen ilk vaka gibi görünüyor," dedi Wiz araştırmacıları Benjamin Read ve Rami McCarthy.

Wiz, çalınan kimlik bilgilerinin kötüye kullanılmasını dışarı sızdırma sonrası yaklaşık 4,5 saat sonra gözlemlediğini söyledi. Saldırgan, 16.20 ile 17.01 UTC arasında aşağıdaki IP adreslerinden ele geçirilen CI çalıştırıcıları ve Kubernetes düğümlerinden yakalanan AWS örnek rolü kimlik bilgilerini doğruladı:

"Her kimlik bilgisi sts:GetCallerIdentity ile kontrol edildi, ardından bedrock:ListFoundationModels ve bir ListModels çağrısı yapıldı; bu durum LLMjacking ile tutarlı," diye ekledi Wiz. "Küçük bir ortam sayısında saldırgan ayrıca IAM'ı (ListRoles, ListUsers, ListAccessKeys) numaralandırdı ve genel keşif (ListAccounts, DescribeTrails vb.) gerçekleştirdi."

f400f4c1578c076df1b063e10b5417fc.webp

Çarşamba günü yayımlanan bir danışmada LiteLLM, bu yılın Mart ayında yaşanan benzer bir olayın ardından yayın hattını güçlendirdiğini söyledi. Bu kapsamda yayınlar özel bir depoya taşındı, Docker sürüm etiketleri değiştirilemez hale getirildi ve Docker imajları imzalandı.

Ancak açık kaynak proje bakımcıları iki iç mühendisin müşteriler için günlük hata düzeltme geri portları yayımlamasına izin vermek üzere geçici olarak yayın izinlerini genişlettiğinde saldırgan, GitHub iş akışlarını çalıştırabilme yeteneğine sahip olan da dahil olmak üzere üç takım geliştirici GitHub CLI kimlik bilgisine erişimini kullandı ve nihayetinde zararlı bir sürüm yayımladı.

Tüm eylem dizisi aşağıdadır:

19 Ekim 2026’da LiteLLM iki iç mühendis için yayın izinlerini geçici olarak genişletti.

Saldırganın üç takım geliştirici GitHub CLI kimlik bilgisine erişimi vardı; bunlardan biri GitHub iş akışlarını çalıştırabiliyordu.

Saldırgan, GitHub kuruluş sahiplerinden birine ait bir token kullanarak dal korumalarını devre dışı bıraktı ve zararlı değişiklikleri zorla yayımladı.

Saldırgan, tehlikeye atılmış iş akışını çalıştırdı ve "BerriAI/litellm" yerine benzer görünümlü "Berri-AI/litellm" deposunu işaret etti; bu da zehirli yapıların imzalanıp yayımlanmasına neden oldu.

"Kapsamlı bir soruşturma sonrasında Claude Code’un bir kullanıcının GitHub CLI OAuth tokenını yanıt gövdesine gömeceği belirli durumları gözlemledik ve yanıt gövdeleri günlüğe kaydedildiğinde bu tokenların LiteLLM günlüklerinde görünebileceğini gördük," dedi LiteLLM.

Bakımcılar ayrıca iç LiteLLM dağıtımında kamu internetine açık olan "beklenmedik, masumca adlandırılmış bir kullanıcı hesabı" tespit ettiklerini söyledi. Saldırganın bu dağıtıma erişim sağladığı, günlüklerinden GitHub CLI OAuth tokenlarını elde ettiği ve ardından bu kimlik bilgilerini kullanarak yayın iş akışını tehlikeye attığı tahmin ediliyor.

Dağıtımın nasıl kamu erişimine açıldığı ve saldırganın ona nasıl erişim sağladığı şu anda net değil. Ancak LiteLLM, bunun yakın zamanda yama yapılan bir güvenlik açığı üzerinden gerçekleşmiş olabileceğini öne sürdü.

Hırsız programını başlatmak için ".pth" dosyası kullanımı dikkat çekicidir; bu yöntem Mart 2026’daki TeamPCP’ye atfedilen saldırıda gözlemlenen modus operandi’yi yansıtıyor. Ancak Socket, The Hacker News’e iki olay arasında bu aşamada bir bağlantıya dair kanıt olmadığını söyledi.

"Şu ana kadar incelenen kamuya açık kanıtlar Mart saldırısıyla bir bağlantı kurmuyor," dedi Socket. "Gömülü RSA açık anahtarları farklı, dışarı sızdırma uygulaması ve arka kapı davranışı da farklı. Bu, aynı operatörün farklı araçlar kullanmasını dışlamaz, ancak bu atıfı destekleyecek kanıtımız yok. Mart ayında çalınan kimlik bilgilerinin rol oynayıp oynamadığı da doğrulanmadı."

Geliştiricilere LiteLLM 1.107.0’ı makinelerinden kaldırmaları, zararlı sürümün kurulduğu ana bilgisayarları izole etmeleri, zararlı Python yapılarını araştırmaları, dışarı sızdırma alanına erişimi engellemeleri, tüm kimlik bilgilerini döndürmeleri ve "/codepy" yürütmesini incelemeleri öneriliyor.

"Tek bir tehlikeye atılmış kurulum, saldırganın zararlı kodu aşağıya doğru itme yeteneği verebilir," dedi JFrog güvenlik araştırmacısı Guy Korolevski. "Güvenlik ekipleri için ders, temiz bir kaynak deposunun aslında yüklediğiniz yapı hakkında size çok az şey söylediğidir; bu nedenle, bir derlemeye ulaşmadan önce tam tekeri doğrulayın ve sürümleri inceleyin. 1.107.0 ortamınızda çalıştıysa, erişilebilir her kimlik bilgisini döndürün ve yeniden oluşturun."

Kaynak: The Hacker News

Paylaş:

Yapay zekâ asistanları için: bu haberin Markdown (.md) sürümü