Insiden LiteLLM 1.107.0: Cara Mengunci Dependency agar Tidak Terkena Paket Beracun
Informasi Investigasi Serangan Rantai Pasok (Supply Chain):
- Tanggal Terbit: 29 Oktober 2026
- Tanggal Insiden: 21 Oktober 2026
- Paket Terdampak:
litellm==1.107.0di PyPI & Docker Hub Registry Resmi- Vektor Kompromi: Pembajakan Token GitHub CLI OAuth Maintainer
- Sumber Primer: Python Packaging Authority (PyPI) Security Advisory & LiteLLM GitHub Disclosure
Ringkasan Eksekutif (BLUF)
Pada 21 Oktober 2026, pustaka populer LiteLLM versi 1.107.0 disusupi oleh penyerang siber yang berhasil merilis paket beracun (poisoned package) ke indeks resmi PyPI dan registry container resmi. Muatan berbahaya tersebut dirancang untuk mencuri variabel lingkungan rahasia (OPENAI_API_KEY, kredensial cloud AWS, token database) dan mengirimkannya ke server Command & Control (C2) penyerang. Penyerang memperoleh akses rilis melalui token OAuth GitHub CLI maintainer yang bocor. Insiden ini membuktikan bahwa instalasi paket dengan perintah terbuka pip install litellm tanpa penguncian hash integritas (hash-checking) adalah celah keamanan rantai pasok yang fatal.
1. Kronologi & Mekanisme Kerja Malware LiteLLM 1.107.0
Penyerang tidak perlu meretas server PyPI; mereka cukup membajak akun maintainer yang memiliki izin publikasi otomatis (automated release pipeline). Begitu versi 1.107.0 terbit:
- Skrip
setup.pyyang dimodifikasi mengeksekusi payload tersembunyi pada saat instalasi (install-time execution). - Payload memindai file
.envdi direktori proyek dan membacaos.environ. - Kredensial rahasia dienkripsi menggunakan base64 dan dieksfiltrasi via DNS tunneling atau HTTPS POST ke domain attacker.
2. Cara Mengunci Dependency dengan Hash-Checking di Python
Jangan pernah mengandalkan file requirements.txt yang hanya menuliskan nama dan versi tanpa hash integritas!
Gunakan pip-tools untuk Menghasilkan Hash SHA-256
Buat berkas requirements.in:
litellm==1.106.3 # Gunakan versi aman yang telah diaudit
requests>=2.31.0
pydantic>=2.7.0
Kompilasi menjadi requirements.txt dengan hash cryptographic:
# Hasilkan file lock dengan hash SHA-256
pip-compile --generate-hashes requirements.in
Hasil file requirements.txt yang terlindungi:
litellm==1.106.3 --hash=sha256:4b281f6937e28b8e0e1e6b8a8b1a8d0e5c9b1f2e3d4c5a6b7c8d9e0f1a2b3c4d --hash=sha256:7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d
Jalankan Instalasi dengan Verifikasi Hash Wajib
pip install --require-hashes -r requirements.txt
Jika penyerang menyusupkan kode jahat ke versi tersebut, hash file biner .whl atau .tar.gz akan berbeda dan pip akan langsung membatalkan instalasi seketika, melindungi server produksi Anda!
3. Checklist Kepatuhan Supply Chain Security
- [x] Wajibkan flag
--require-hashesdi seluruh pipeline build CI/CD GitHub Actions / GitLab CI. - [x] Pasang scanner dependensi otomatis seperti
pip-auditatau Trivy. - [x] Hindari penggunaan token personal jangka panjang di lingkungan lokal pengembang.
- [x] Gunakan private repository mirror (seperti Artifactory atau AWS CodeArtifact) untuk menahan paket baru selama 72 jam sebelum masuk produksi.
4. Kesimpulan & Layanan DevSecOps AndikaDev
Keamanan rantai pasok perangkat lunak adalah pilar penting dalam melindungi aset data perusahaan. Memastikan setiap byte kode pihak ketiga terverifikasi secara matematis adalah pembeda antara arsitektur enterprise yang tangguh dan sistem yang rapuh.
Untuk konsultasi implementasi DevSecOps dan perlindungan sistem cloud, hubungi Andika Putra Dev di layanan keamanan siber defensif.
Top comments (0)