24 Mart 2026 tarihinde, Python ekosisteminin en yaygın kullanılan yapay zeka kütüphanelerinden biri olan LiteLLM‘in PyPI (Python Package Index) üzerindeki dağıtım paketleri ele geçirildi. Aylık yaklaşık 97 milyon indirme sayısına ulaşan bu kütüphanenin 1.82.7 ve 1.82.8 numaralı sürümleri, saldırganlar tarafından zararlı kod içerecek şekilde yeniden paketlenerek PyPI’ye yüklendi.
Söz konusu zararlı sürümler yaklaşık üç saat boyunca aktif kaldı. Bu süre zarfında ilgili paketleri kuran tüm sistemler, farkında olmaksızın saldırganların uzaktan erişimine açık hale geldi.
Bu yazıda saldırının teknik ayrıntıları ele alarak Chainguard altyapısını kullanan kuruluşların bu olaydan neden etkilenmediği açıklayacağız.
Saldırının Teknik Analizi
LiteLLM, OpenAI, Anthropic, Cohere ve çok sayıda büyük dil modeli (LLM) API’sini tek bir arayüz üzerinden yönetmeye olanak tanıyan açık kaynaklı bir Python kütüphanesidir. Doğrudan kullanımının yanı sıra DSPy, langchain-litellm ve Hugging Face smolagents gibi popüler kütüphaneler tarafından bağımlılık olarak referans edilmektedir. Bu durum, saldırının etki alanını doğrudan kullanıcıların çok ötesine taşımaktadır.
Güvenlik araştırmacılarının TeamPCP olarak tanımladığı saldırgan grup, paketin PyPI üzerindeki yayınlama mekanizmasını ele geçirerek iki zararlı sürüm yayımladı. Dikkat çekici olan husus, bu sürümlerin kaynak kodun barındırıldığı GitHub deposundan değil, doğrudan PyPI’ye yüklenen önceden derlenmiş paketler olmasıdır. Kaynak kod deposunda herhangi bir iz bulunmamaktadır.
Zararlı Kodun Çalışma Mekanizması
Paketlerin içine yerleştirilen .pth uzantılı bir dosya, Python yorumlayıcısı başlatıldığı anda otomatik olarak çalışan kod parçaları içermektedir. Bu yapı nedeniyle pip install litellm komutuyla kurulum gerçekleştiren sistemlerde, kütüphane hiç import edilmese dahi zararlı kod devreye girmektedir.
Zararlı yazılımın gerçekleştirdiği işlemler şu şekilde özetlenebilir:
Hedef sistemdeki SSH anahtarları, bulut servis sağlayıcılarına ait kimlik bilgileri, .env yapılandırma dosyaları, Kubernetes cluster konfigürasyonları ve kabuk komut geçmişi gibi hassas veriler toplanmaktadır. Toplanan veriler şifrelenerek saldırganların kontrolündeki uzak sunuculara iletilmektedir. Buna ek olarak zararlı yazılım, Kubernetes servis hesabı token’larını kullanarak cluster seviyesinde yetki yükseltme girişiminde bulunmakta, ayrıcalıklı pod’lar oluşturmakta ve yerel kalıcılık (persistence) mekanizmaları tesis etmektedir.
Tek bir paket kurulumu, kurumsal altyapının tamamını tehlikeye atacak kapsamlı bir saldırı vektörü oluşturmaktadır.
Chainguard Müşterileri Neden Etkilenmedi?
Chainguard altyapısını kullanan kuruluşlar bu saldırıdan herhangi bir şekilde etkilenmemiştir. Bu koruma, olay sonrasında uygulanan bir acil müdahale veya yama ile değil, Chainguard’ın mimari tasarımından kaynaklanan yapısal bir güvenlik özelliğidir.
Chainguard’ın temel güvenlik prensibi açık ve nettir: kamuya açık, doğrulanabilir kaynak kodu bulunmayan hiçbir paket derlenmez ve dağıtılmaz.
Chainguard Libraries: Kaynaktan Derleme Modeli
Chainguard Libraries, açık kaynak paketleri PyPI, npm veya Maven Central gibi herkese açık repolardan doğrudan almak yerine, her paketin kaynak kodunu bağımsız olarak doğrulayarak SLSA (Supply-chain Levels for Software Artifacts) Level 3 uyumlu güvenli bir ortamda sıfırdan derlemektedir. Bu yaklaşım, derlenen paketin her zaman kaynak koduyla birebir eşleşmesini garanti altına almaktadır.
LiteLLM saldırısının başarısız olduğu nokta tam olarak burasıdır. Saldırganlar zararlı sürümleri doğrudan PyPI’ye yüklemişlerdir; ancak bu sürümlerin karşılık gelen doğrulanabilir bir kaynak kodu bulunmamaktadır. Chainguard’ın derleme sistemi, kaynak kodu doğrulanamayan paketleri otomatik olarak reddettiğinden, zararlı 1.82.7 ve 1.82.8 sürümleri Chainguard müşterilerine hiçbir zaman ulaşmamıştır.
Çok Katmanlı Doğrulama Altyapısı
Chainguard’ın koruma mekanizması birden fazla doğrulama katmanından oluşmaktadır. Derlenen her paket Sigstore altyapısı kullanılarak kriptografik olarak imzalanmaktadır. Her paketle birlikte bir Yazılım Malzeme Listesi (SBOM – Software Bill of Materials) ve SLSA Level 3 köken (provenance) belgesi sunulmaktadır. Bu belgeler, paketin kimin tarafından oluşturulduğunu, hangi ortamda ve nasıl derlendiğini ve içeriğinde hangi bileşenlerin bulunduğunu şeffaf bir şekilde ortaya koymaktadır.
Chainguard tarafından bilinen 3.025 zararlı Python paketi üzerinde gerçekleştirilen kapsamlı testlerde, kaynaktan derleme yaklaşımı zararlı paketlerin yüzde 98’inin son kullanıcılara ulaşmasını engellemiştir. Bu oran, ek güvenlik araçlarına ihtiyaç duyulmadan, yalnızca yapısal güvenlik mimarisi aracılığıyla elde edilmektedir.
Yazılım Tedarik Zinciri Güvenliğinde Değişen Tehdit Ortamı
LiteLLM saldırısı münferit bir vaka olmaktan uzaktır. TeamPCP grubu daha önce Trivy güvenlik tarayıcısını, npm ekosisteminde CanisterWorm yayılım kampanyasını ve Checkmarx KICS güvenlik aracını da hedef almıştır. Bu durum, yazılım tedarik zinciri saldırılarının artık sistematik ve organize bir tehdit kategorisine dönüştüğünü açıkça göstermektedir.
Geleneksel güvenlik yaklaşımları reaktif niteliktedir: saldırı tespit edilir, tehlikeye giren kimlik bilgileri yenilenir, adli analiz gerçekleştirilir ve sistemler temizlenir. Ancak üç saat gibi kısa bir sürede binlerce sisteme yayılabilen bir saldırıda, reaktif müdahale yetersiz kalmaktadır. Saldırı tespit edildiğinde hasar büyük ölçüde gerçekleşmiş olmaktadır.
Chainguard’ın yaklaşımı bu modelden temelden ayrışmaktadır. Güvenlik, sonradan eklenen bir katman olarak değil, sistemin tasarımında yerleşik bir özellik olarak konumlandırılmaktadır. “Varsayılan olarak güvenli” (secure by default) olarak tanımlanan bu felsefe, günümüzün tedarik zinciri tehditlerine karşı en etkili savunma stratejilerinden birini oluşturmaktadır.
Kurumlar İçin Değerlendirme ve Öneriler
Python tabanlı yapay zeka uygulamaları kullanan kuruluşların şu temel soruları değerlendirmesi gerekmektedir: Yazılım bağımlılıkları hangi kaynaklardan temin edilmektedir? Kullanılan paketlerin beyan edilen geliştiriciler tarafından üretildiği doğrulanabilir mi? Tedarik zinciri saldırılarını proaktif olarak tespit edecek mekanizmalar mevcut mudur, yoksa saldırı ancak hasar oluştuktan sonra mı fark edilmektedir?
Chainguard, bu gereksinimlerin her birine yapısal düzeyde çözüm sunmaktadır. Chainguard Libraries aracılığıyla Python, JavaScript ve Java ekosistemlerinde toplam 114.000’den fazla paketin kaynağı doğrulanmış, güvenli sürümlerine erişim sağlanmaktadır. Chainguard Images ile konteyner imajları sıfır bilinen güvenlik açığı (zero known CVE) garantisiyle kullanılabilmektedir.
Entegrasyon süreci mevcut CI/CD iş akışlarında herhangi bir yapısal değişiklik gerektirmemektedir. Chainguard, mevcut paket yöneticileriyle uyumlu bir upstream kaynak olarak yapılandırılmakta ve geliştirme ekipleri alışık oldukları araçlarla çalışmaya devam etmektedir. Tek fark, arka planda her paketin kaynağının doğrulanmış ve güvenli olmasıdır.
Sonuç
LiteLLM vakası, yazılım tedarik zinciri güvenliğinde temel bir ilkeyi bir kez daha doğrulamaktadır: etkili güvenlik, bir olay gerçekleştikten sonra müdahale etmek değil, olayın gerçekleşmesini yapısal olarak mümkün kılmamaktır. Reaktif güvenlik modellerinin yetersiz kaldığı bu yeni tehdit ortamında, Chainguard’ın kaynaktan derleme ve kriptografik doğrulama yaklaşımı ölçeklenebilir ve kanıtlanmış bir çözüm sunmaktadır.
ENC Teknoloji, Chainguard’ın Türkiye iş ortağı olarak bu güvenlik altyapısını kurumsal müşterilerine sunmaktadır. Yazılım tedarik zinciri güvenliğini proaktif ve yapısal bir temele oturtmak isteyen kuruluşlar, detaylı bilgi ve değerlendirme için bizimle iletişime geçebilir.
Chainguard
kurulum, göç ve danışmanlığı
Deneyimli ekibimizle Chainguard çözümleri kurulum, göç ve danışmanlık hizmetlerimizle sizlerin yanındayız.
Chainguard çözümlerinden abonelik ve kurumsal destek almak mı istiyorsunuz?








