LiteLLM PyPI Paketindeki Güvenlik Açığı ve Tedarik Zinciri Saldırısı: Önleyici Tedbirler
Bu makale, TeamPCP adlı kötü niyetli bir grup tarafından hedef alınan ve kimlik bilgilerini çalmak amacıyla arka kapı (backdoor) eklenen popüler Python paketi LiteLLM'deki güvenlik açığına odaklanmaktadır. Tedarik zinciri saldırılarının giderek yaygınlaşması nedeniyle, bu tür tehditlere karşı hızlı ve sistematik müdahale kritik öneme sahiptir.
1. Sorunun Tanımı: LiteLLM Kompromitasyonu
Saldırganlar, LiteLLM paketinin resmi PyPI deposuna sızarak, paketin belirli sürümlerine kötü amaçlı kod enjekte etmiştir. Bu kod, cihazlardan kimlik doğrulama belirteçlerini (auth tokens) ve hassas verileri çalmayı amaçlamaktadır. Etkilenen sürümlerin kurulumu veya güncellenmesi, sistemlerin tehlikeye atılmasına neden olmuştur.
UYARI: Eğer projelerinizde LiteLLM'in tehlikeye atılan bir sürümünü kullanıyorsanız, derhal tüm ağ trafiğini izlemeli ve etkilenen sistemlerdeki tüm kimlik bilgilerini (API anahtarları, tokenlar vb.) değiştirmelisiniz.
2. Etkilenen Ortamların Tespiti
İlk adım, projenizin veya sunucunuzun bu kötü amaçlı paketi kullanıp kullanmadığını belirlemektir. Bu genellikle requirements.txt dosyalarının veya paket yöneticisi kilit dosyalarının (örneğin, Pipfile.lock, poetry.lock) incelenmesiyle yapılır.
2.1. Proje Bağımlılıklarının Kontrolü
Projenizin kök dizininde bulunan bağımlılık dosyalarını kontrol edin:
# requirements.txt kontrolü
grep -i litellm requirements.txt
# Pipfile.lock kontrolü (eğer kullanılıyorsa)
grep -i litellm Pipfile.lock
2.2. Çalışan Ortamların Kontrolü
Eğer bir sanal ortamda veya Docker konteynerinde çalışıyorsanız, kurulu paketleri listeleyin:
# Aktif sanal ortamda kurulu paketleri listeleme
pip list | grep litellm
3. Çözüm Adımları: Temizleme ve Güvenli Hale Getirme
Tehdit tespit edildikten sonra, sistemleri temizlemek ve gelecekteki saldırıları önlemek için aşağıdaki adımları izleyin.
- Paketi Kaldırma: Kötü amaçlı paketin tüm örneklerini derhal kaldırın.
- Güvenli Sürüme Geçiş: LiteLLM geliştiricileri tarafından yayınlanan en son, güvenli sürümü (genellikle saldırıdan sonraki bir düzeltme sürümü) kurun. Sürüm numaralarını resmi duyurularla doğrulayın.
- Kilit Dosyalarını Güncelleme: Eğer
requirements.txtveya kilit dosyaları kullanıyorsanız, bu dosyaları yeni, temiz sürüm numaralarıyla güncelleyin ve projeyi yeniden kurun. - Kimlik Bilgisi Rotasyonu: Bu, en kritik adımdır. Saldırının ne kadar yayıldığı bilinmediğinden, bu paketin çalıştığı tüm sistemlerde kullanılan tüm API anahtarlarını, erişim tokenlarını ve parolaları değiştirin.
- Ağ İzlemesi: Saldırının başarılı olması durumunda, dışarıya veri sızıp sızmadığını anlamak için sunucu ağ trafiğini (özellikle şüpheli dış bağlantıları) analiz edin.
pip uninstall litellm -y
# Örnek: Güvenli kabul edilen bir sürümü kurma
pip install litellm==X.Y.Z
# (X.Y.Z yerine güncel, güvenli sürüm numarasını yazın)
pip freeze > requirements.txt
# Ardından bağımlılıkları yeniden yükleyin
pip install -r requirements.txt
4. Önleyici Tedbirler ve En İyi Uygulamalar
Bu tür tedarik zinciri saldırılarına karşı savunmanızı güçlendirmek için:
- Bağımlılıkları Sınırlama: Mümkün olduğunca, sadece güvenilir ve iyi denetlenen paketleri kullanın.
- Bağımlılık Tarama Araçları: Güvenlik açığı taraması yapan araçları (örneğin, Snyk, Dependabot) CI/CD süreçlerinize entegre edin.
- Minimum Yetki Prensibi: Uygulamalarınızın ve konteynerlerinizin yalnızca ihtiyaç duyduğu minimum izinlere sahip olduğundan emin olun.



