- Paket ini menyertakan file
.pth yang dieksekusi otomatis saat Python interpreter mulai, sehingga mengumpulkan dan mengirim keluar informasi sensitif seperti API key, SSH key, dan token cloud
- Skrip berbahaya disembunyikan dengan enkode base64 ganda, lalu data hasil curian dienkripsi dengan AES-256 dan diamankan lagi dengan kunci publik RSA sebelum dikirim ke
litellm.cloud
- Jika terinfeksi, kredensial di lingkungan lokal, CI/CD, dan server produksi semuanya bisa terekspos
- Versi 1.82.7 juga dilaporkan mengandung kode berbahaya, sehingga kedua versi sama-sama berisiko
- Komunitas keamanan mendesak penghapusan paket, rotasi kredensial, dan penguatan keamanan supply chain
Insiden keamanan file litellm_init.pth berbahaya dalam paket PyPI litellm 1.82.8
- Paket wheel litellm 1.82.8 di PyPI menyertakan file
.pth berbahaya (litellm_init.pth), yang menyebabkan skrip pencuri kredensial berjalan otomatis setiap kali Python interpreter dimulai
- File ini berjalan tanpa perlu perintah
import litellm, dan telah dikonfirmasi sebagai bentuk serangan supply chain
- File berbahaya tersebut tercantum dalam file
RECORD paket
-
Analisis perilaku berbahaya
- File
.pth memanfaatkan sifatnya yang dieksekusi otomatis saat Python interpreter mulai
- Skrip berbahaya disembunyikan dengan enkode base64 ganda, dan setelah didekode menjalankan langkah-langkah berikut
-
Tahap 1: Pengumpulan informasi
- Informasi sistem:
hostname, whoami, uname -a, ip addr, ip route
- Variabel lingkungan: mengumpulkan API key, secret, token, dan lainnya melalui
printenv
- SSH key: file key utama dan file konfigurasi di
~/.ssh/
- Kredensial Git:
~/.gitconfig, ~/.git-credentials
- Kredensial cloud: file konfigurasi dan token terkait AWS, GCP, Azure
- Konfigurasi Kubernetes:
/etc/kubernetes/, ~/.kube/config, dll.
- Konfigurasi Docker:
~/.docker/config.json, dll.
- Konfigurasi package manager:
.npmrc, .netrc, .vault-token, dll.
- Riwayat shell:
.bash_history, .zsh_history, dll.
- Wallet kripto:
~/.bitcoin/, ~/.ethereum/keystore/, dll.
- Private key SSL/TLS:
/etc/ssl/private/, file .pem, .key
- Secret CI/CD:
terraform.tfvars, .gitlab-ci.yml, Jenkinsfile, dll.
- Kredensial database: file konfigurasi PostgreSQL, MySQL, Redis, dll.
- URL webhook: pencarian URL Slack, Discord, dll.
-
Tahap 2: Enkripsi dan pengiriman keluar
- Data yang dikumpulkan disimpan ke file sementara
- Membuat session key AES-256 sepanjang 32 byte dengan
openssl rand
- Mengenkripsi data dengan
openssl enc -aes-256-cbc -pbkdf2
- Session key dienkripsi dengan kunci publik RSA 4096-bit yang di-hardcode
- Kedua file dibundel menjadi
tpcp.tar.gz lalu dikirim
- Tujuan pengiriman:
https://models.litellm.cloud/ (berbeda dari domain resmi litellm.ai)
-
Detail teknis
- File
.pth berada di dalam site-packages/ Python dan dieksekusi otomatis saat interpreter mulai
- Payload disembunyikan dengan enkode base64 ganda untuk menghindari deteksi
- Penyerang mengoperasikan server eksfiltrasi data menggunakan domain
litellm.cloud
- Awalan kunci publik RSA:
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvahaZDo8mucujrT15ry+...
-
Cakupan dampak
- Saat
litellm==1.82.8 terpasang, seluruh informasi rahasia seperti variabel lingkungan, SSH key, dan kredensial cloud dapat bocor
- Target dampak:
- lingkungan pengembangan lokal
- pipeline CI/CD
- container Docker
- server produksi
- Selain itu, versi 1.82.7 juga dilaporkan mengandung kode berbahaya di dalam
proxy/proxy_server.py
-
Tindakan yang direkomendasikan
-
- PyPI: segera hapus atau yank
litellm 1.82.8
-
- Pengguna:
- periksa apakah
litellm_init.pth ada di dalam site-packages/
- lakukan rotasi semua kredensial pada sistem yang memasang versi tersebut
-
- BerriAI: perlu melakukan audit keamanan atas kredensial distribusi PyPI dan pipeline CI/CD
-
Lingkungan penemuan
- OS: Ubuntu 24.04 (container Docker)
- Python: 3.13
- Jalur instalasi: PyPI
- Waktu penemuan: 24 Maret 2026
-
Reaksi komunitas dan diskusi tambahan
- Banyak developer menyebut bahwa “ribuan orang mungkin sudah terinfeksi”
- Sebagian pengguna juga memastikan bahwa versi 1.82.7 ikut terinfeksi
- Pakar keamanan menekankan pentingnya dependency pinning dan penguatan keamanan supply chain
agnosticlines dan lainnya menyoroti kerentanan GitHub Actions serta serangan supply chain yang terus berulang
MountainGod2 memperingatkan bahwa “dependency harus dipin ke commit hash, dan rilis baru hanya boleh dipakai setelah diverifikasi”
- Berbagai proyek (
mlflow, home-assistant, morphik-core, dll.) telah mengunci versi litellm atau menghapusnya
Belum ada komentar.