Görsel Kaynağı: The Hacker News
LiteLLM, Cuma günü, Mayıs 2026’nın sonlarında herkese açık bir GitHub deposunda yanlışlıkla yayınlanan bir Agent Platform anahtarının, tehdit aktörünün popüler Python paketinin kötü amaçlı bir sürümünü yaymasına olanak tanıdığını açıkladı.
“27 Mayıs 2026’da, LiteLLM-Labs/lite-harness herkese açık deposuna yapılan bir işlemle, ajanları koordine etmek için kullandığımız açık kaynaklı bir araç olan LiteLLM Agent Platform’un bir dağıtımının anahtarını dolaylı olarak içeren bir yapılandırma dosyası eklendi.” LiteLLM’den Oliver Jensen ve Mateo Wang, “şu açıklamayı yaptı.

“Hata hızla tespit edildi, işlem zorla geri itildi ve ifşa edilen anahtarların iptal edilmesi gerektiği belirlendi. Ancak anahtarın iptali gerçekleştirilmedi.”
LiteLLM, bilinmeyen saldırganın (69.48.229[.]143 adresinden hareket eden) bu iptal edilmemiş anahtarı 10 Ekim 2026’da kullanarak Agent Platform’a eriştiğini ve GitHub CLI OAuth jetonunu ele geçirdiğini belirtti; bu jeton, bulut tabanlı kendi kendine barındırılan ajanların GitHub deposuna pull request göndermesine olanak tanımak için hizmete yapılandırılmıştı.
Açık kaynaklı dil modeli (LLM) ağ geçidinin geliştiricilerine göre, bu jeton “daraltılmamıştı” ve GitHub kuruluş sahibinin hesabıyla ilişkilendirilmişti.
Jetona erişim, saldıranın kuruluş içindeki tüm depolarda sahip düzeyinde erişime sahip olmasına ve ek kimlik bilgisi sızdırma işlemleri gerçekleştirmesine olanak tanıdı. Tehdit aktörünün bu adımın ardından gerçekleştirdiği işlemler şöyle sıralanıyor –
- 10 Ekim 2026, saat 22:11 ile 22:12 arasında UTC: Saldırganın kontrolündeki [.site] uç noktası aracılığıyla bakımcı yetkisine sahip iki mühendisle ilişkili GitHub CLI OAuth belirteçlerini ele geçirmeyi hedefleyen iş akışlarını çalıştırmak için iç depoların çöp dallarına commit yapıldı (BerriAI/litellm ve BerriAI/litellm-auto). İki çalıştırma birkaç dakika sonra silindi.
- 21 Ekim 2026, saat 10:08 ile 11:08 arasında UTC: Dal koruma kuralı aşıldı ve sürüm hattı, kaynağın “BerriAI/litellm” yerine benzer görünümlü “Berri-AI/litellm” repolarına ayarlanmasıyla değiştirildi.
- 21 Ekim 2026, saat 11:39 ile 11:40 arasında UTC: LiteLLM 1.107.0 sürümü PyPI’ye yayınlandı.
- 21 Ekim 2026, saat 11:46’da UTC: Docker Hub ve GHCR resimleri yayınlandı.
- 21 Ekim 2026, saat 11:53 ile 11:54 arasında UTC: Üretim ve test ortamı çalıştırma kayıtları silindi.
- 21 Ekim 2026, saat 12:06’da UTC: Upwind araştırmacısı Lidor Machluf tedarik zinciri saldırısını bildirdi.
- 21 Ekim 2026, saat 13:23’te UTC: PyPI, LiteLLM 1.107.0 sürümünü karantinaya aldı.
- 21 Ekim 2025, saat 14:20’de UTC: Docker Hub etiketleri v1.107.0, latest, main-latest ve main-stable kaldırıldı veya doğrulanmış temiz imajlara yönlendirildi.
“Normal işletmede, bir sürümün derlenmesi ve yayınlanması yetkili bir mühendisin başlatmasına ve ofisimizdeki fiziksel bir cihaza kilitli özel bir hesap tarafından onaylanmasına bağlıdır,” dedi LiteLLM.
|
Görsel Kaynağı: The Hacker News |
| Mayıs 2026’da sızan anahtar anahtar |
“Bu kısıtlama, daha sık sürümler ve hata düzeltme geri beslemeleri için geçici bir itişe uyum sağlamak amacıyla bu haftanın başında gevşetildi; böylece herhangi iki mühendinin bir sürümü başlatıp onaylaması mümkün kuruldu. Bu nedenle tehdit aktörü, sürümü başlatmak için belirteçlerden birini (dağıtımcıyı önce kötü amaçlı repolarına yönlendirdikten sonra) ve onu onaylamak için diğerini kullandı.”
Ayrıca proje geliştiricileri, tehdit aktörünün zaten bir kuruluş sahibine ait bir token’a sahip olduğu için bu kısıtlamayı kendisinin gevşetmiş (veya tamamen kaldırmış) olması oldukça olası olduğunu belirtti. Bu eylemin tespitden kaçınmak için yapılmamış olması muhtemel görünüyor.
LiteLLM, iş akışlarının ek anahtar ve token’ları tespit edip dışarı aktarmak için tasarlandığını, özellikle de upstream (üst sistem) çıkarım API anahtarlarına odaklandığını söyledi. Olaya yanıt olarak şirket, kendi içindeki her sistemle ve tedarikçi platformuyla ilişkili her token’ı iptal etmeye çalıştığını belirtti.
Bulgular, LiteLLM’nin başlangıçtaki hipotezini çürütüyor: GitHub CLI OAuth token’larının bir LiteLLM iç dağıtımının günlüklerinden çalınmış olması. “Soruşturma, sürekli ek bilgiler öğrendiğimiz bir süreçti; bu nedenle varsayımlarımızdan ve inancımızdan bazıları sonradan hatalı veya eksik olarak ortaya çıktı,” dedi Jensen.
İş Akışları Hakkında Daha Fazla Detay Ortaya Çıkıyor
Kend malicious iş akışları üzerine kendi soruşturmasını yayınlayan Socket, “.github/workflows/cache.yml” altında bir iş akışı ekleyen iki kötü amaçlı commit’i geri kazandığını söyledi. İlk commit 10 Ekim 2026’da saat 22:11:45 UTC’de yapıldı. Ardından 12 Ekim’de ikinci bir commit geldi.
“Bu iki commit de hâlâ var olan bir dalıtma itila pushlanmadı,” Socket güvenlik araştırmacısı Karlo Zanki, The Hacker News ile paylaştığı bir raporda şunu söyledi. “Her ikisi de yalnızca birkaç dakika içinde oluşturulan, kullanılan ve silinen ci-tmp-<hex> adlı kısa ömürlü dallara pushlandı; bu nedenle faaliyet, depo içindeki sıradan geçmişte neredeyse hiçbir iz bırakmıyor.”
Uygulama güvenlik firmasının deponun aktivite günlük kayıtlarına dair analizine göre, her iki commit de push’ın görünüşte zararsız görünmesini sağlamak için dal tabanı olarak meşru bir commit’i kullanıyor —
- Depoda, son meşru bir commit’den “ci-tmp-<hex>” adında (yani ci-tmp-a351cc ve ci-tmp-4d8517) bir kullanımlık dal oluşturuldu.
- “ci: bump cache config.” aynı konu başlığıyla “.github/workflows/cache.yml” dosyasını ekleyen bir commit itildi.
- İş akışı, her commit veya etiket itildiğinde çalışacak şekilde yapılandırıldı (yani “on: [push]”) ve böylece tetiklendi.
- Dal silindi.
LiteLLM’in de vurguladığı gibi, her iki iş akışı da GitHub belirteçlerini ve kuruluşun Linear çalışma alanı, LiteLLM dağıtımı ve Together AI için API anahtarlarını yanı sıra bir GitHub App’in kimliğini ve imzalama anahtarını toplama yeteneğine sahip.
12 Ekim’deki çalıştırma, Anthropic, OpenAI, AWS Bedrock, Tavily ve GitGuardian’ın gizli tarama kiracısı dahil olmak üzere daha fazla gizli veri toplama kapsamını genişletiyor. Ayrıca Playwright depolama durumunu, PostgreSQL veritabanı bilgilerini (bağlantı dizisi, hesap adı, parola), Redis uç noktasının adresini, portunu ve kimlik doğrulama parolasını yakalıyor.
İş akışlarından toplanan veriler, iki farklı webhook[.]site uç noktasına aktarılıyor –
- webhook[.]site/65a42464-3cfa-4b02-a18c-17a6d7b86f37
- webhook[.]site/4da03473-a3e7-4dc2-a087-9c564b4208e1
“Bir GitHub belirteci ve bir GitHub App özel anahtarı, üçüncü taraf bir hizmet için değil, deponu barındıran platform için kimlik bilgileridir,” dedi Zanki. “GITGUARDIAN_API_KEY, gizli tarama platformunun kendisi için bir kimlik bilgisidir; bu da saldırgana bu faaliyeti ortaya çıkaracak uyarılara görünürlük ve potansiyel kontrol sağlar.
“E2E_LINEAR_STORAGE_STATE_B64, uçtan uca testler için Playwright tarafından kullanılan serialize edilmiş bir oturum durumudur; geçerli bir depolama durumu, parolasız ve çok faktörlü kimlik doğrulama sağlanmadan ilişkili Linear hesabına kimlik doğrulanmış erişim izler.”
Paketin kötü amaçlı sürümü ne yapıyor
Çeşitli raporlar, LiteLLM sürümü 1.107.0 ile paketlenen dosyaların, bir uygulamanın LiteLLM’i içe aktarmaması durumunda bile Python başladığında otomatik olarak çalıştırılmak üzere tasarlandığını ortaya koydu.
Zararlı yazılım iki yürütme yoluna sahiptir: geliştirici araçları, yapay zekâ uygulamaları, bulut ortamları ve web tarayıcıları hedef alan kimlik bilgisi toplayıcı modül ile saldırganın her saat başında sağladığı rastgele kodu çekip çalıştırmak için arka planda bir işlem olarak başlatılan Unix tabanlı bir arka kapı.
|
Gorsel Kaynagi: The Hacker News |
| Ele geçirilen LiteLLM 1.107.0 yürütme akışı |
Çalıntı bilgisi toplayıcı aynı zamanda sistem bilgilerini, SSH dosyalarını, Git ve GitLab kimlik bilgilerini ve jetonlarını, ortam değişkenlerini ve ayrıca npm, PyPI, pip, Yarn, Maven, Gradle, Composer, RubyGems ve Cargo ile ilişkilendirilen jetonları toplar. Toplanan veriler ardından sıkıştırılıp “litellm[.]dev/healthcheck” adresine bir HTTP POST isteği gönderilir. Alan adı 13 Ekim 2026’da kaydedilmişti.
“Bu mekanizmalar birlikte, potansiyel maruz kalmasını aktif LiteLLM dağıtımlarının ötesine taşIDI: Etkilenmiş bir ortamda Python’u başlatmak bile, LiteLLM hiç import edilmemiş olsa zararlı kodu aktive edebilirdi,” diyor Microsoft Araştırma ekibi.
“Başlangıç dosyaları LiteLLM uygulama dizininin dışında yer aldığından, yalnızca uygulama dosyalarını kaldırmak zararlı başlangıç bileşenlerinin geride kalmasına yol açabilir.”
Bu Gelişmeyi Toplulukta Değerlendirin
Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.
Bu gelişme hakkında düşüncelerinizi, donanım deneyimlerinizi veya sorularınızı Topluluk Forumumuzda paylaşın.
Foruma Katıl & Yanıtla ➔




Söz sizde.
Deneyiminizi, sorularınızı ve katkılarınızı paylaşın. E-posta adresiniz yayımlanmaz.