Pada Rabu, 21 Oktober 2026, komunitas keamanan dan pengembang AI dikejutkan oleh laporan kompromi rantai pasok pada LiteLLM, pustaka Python dan gateway proxy populer yang dipakai untuk menyatukan akses ke berbagai penyedia model bahasa (LLM). Menurut laporan The Register, versi berbahaya 1.107.0 diunggah ke PyPI dan registri Docker, dan berisi pencuri kredensial serta trojan akses jarak jauh (RAT). Bagi tim di Indonesia yang sedang berlomba mengintegrasikan LLM ke produk dan layanan internal, insiden ini adalah pengingat keras: lapisan penghubung AI memegang kunci yang sangat berharga.
Catatan: kasus ini masih berkembang pada saat artikel ini ditulis. Detail di bawah mengacu pada laporan media dan analisis peneliti yang dikutip di dalamnya, dan dapat berubah seiring pembaruan dari pengelola proyek maupun vendor keamanan.
Mengapa LiteLLM Menjadi Target yang Menarik
LiteLLM berfungsi sebagai lapisan abstraksi: aplikasi cukup berbicara ke satu antarmuka, lalu LiteLLM meneruskan permintaan ke OpenAI, Anthropic, Cohere, atau model lain. Dalam praktiknya, mesin yang menjalankan LiteLLM biasanya menyimpan banyak rahasia sekaligus: kunci API berbagai penyedia model, kredensial cloud untuk mengakses penyimpanan atau basis data, serta token CI/CD. The Register melaporkan paket ini diunduh sekitar 23 juta kali per minggu, sehingga satu rilis yang tercemar berpotensi menjangkau sangat banyak lingkungan.
Dari sudut pandang penyerang, ini adalah "titik sempit" yang efisien. Alih-alih meretas ribuan organisasi satu per satu, cukup satu rilis berbahaya yang dipasang otomatis oleh pipeline build, kontainer produksi, atau laptop pengembang.
Kronologi dan Mekanisme Serangan
Berdasarkan laporan The Register, proses rilis LiteLLM dikompromikan pada 21 Oktober 2026, dan versi 1.107.0 diunggah sekitar pukul 11.39 UTC. PyPI mengkarantina paket tersebut dalam hitungan jam, dan image Docker kemudian dicabut dari Docker Hub dan GHCR. Versi terakhir yang disebut aman adalah v1.106.2.
Penyerang dilaporkan memakai repositori tiruan dengan nama menyerupai organisasi asli (penggunaan tanda hubung pada nama organisasi di GitHub) untuk menyuntikkan tiga berkas ke dalam alur rilis:
- cook.pth: berkas
.pthPython yang otomatis dieksekusi setiap kali interpreter Python dijalankan, tanpa perlu pengguna mengimpor paket apa pun. - cook.py: pencuri informasi (infostealer) dengan 16 modul.
- sitecustomize.py: RAT yang berjalan saat Python start dan membuat daemon latar belakang yang menanyakan perintah ke infrastruktur penyerang setiap jam.
Teknik berkas .pth patut dicatat. Banyak tim hanya memeriksa kode yang diimpor secara eksplisit, padahal mekanisme .pth dan sitecustomize adalah fitur sah Python yang membuat kode berjalan sangat awal dan di setiap proses Python di lingkungan tersebut, termasuk skrip yang tidak ada hubungannya dengan LiteLLM.
Apa yang Dicuri
Laporan yang sama menyebut infostealer menyasar beragam rahasia:
- Kredensial dan cookie peramban (Chrome, Firefox, Edge, Safari).
- Kredensial AWS dari
~/.aws/, variabel lingkungan, dan layanan metadata instans EC2/ECS. - Kunci akun layanan Google Cloud dan token Azure CLI.
- Kunci API penyedia AI/LLM seperti OpenAI dan Anthropic.
- Kunci privat SSH dan GPG, serta riwayat shell.
Data dilaporkan dienkripsi dengan AES-256-CBC, kuncinya dibungkus dengan kunci publik RSA-4096, lalu dikirim lewat HTTP POST ke domain kendali penyerang pada jalur /healthcheck. Penamaan yang menyerupai pemeriksaan kesehatan (health check) adalah taktik klasik agar lalu lintas keluar tampak biasa dan lolos dari pemantauan sekilas.
Bukan Insiden Pertama
The Register mencatat adanya kompromi terpisah pada LiteLLM di bulan Maret 2026. Laporan yang dirujuk menyebut potensi paparan lebih dari 2.500 organisasi, dan CloudSEK memperkirakan sekitar 434.000 pipeline CI/CD berpotensi terdampak pada insiden Maret itu. Angka-angka ini berasal dari laporan pihak ketiga dan sebaiknya dibaca sebagai estimasi, bukan hitungan pasti.
Selain itu, Check Point Research dilaporkan mengungkap dua celah kritis terpisah pada LiteLLM, yaitu CVE-2026-35029 dan CVE-2026-59823. Menurut Cybernews, yang pertama memungkinkan pengguna dengan akses terendah sekalipun menjangkau fungsi admin, membaca berkas server, menimpa kredensial admin, dan menjalankan kode; yang kedua memungkinkan pengalihan permintaan gateway ke server penyerang untuk menangkap kunci API penyedia AI. Perbaikannya disebut tersedia di LiteLLM 1.83.9 ke atas. Perlu dicatat, ini adalah kerentanan perangkat lunak yang berbeda dari insiden rantai pasok 1.107.0, dan nomor versi dalam kedua laporan tidak dapat langsung dibandingkan tanpa konfirmasi dari pengelola proyek. Verifikasi selalu pada catatan rilis resmi.
Langkah Respons Segera
Jika organisasi Anda memakai LiteLLM, lakukan hal berikut secara berurutan.
- Tentukan keterpaparan. Periksa apakah ada sistem yang memasang atau menarik versi 1.107.0, termasuk image Docker
litellm/litellm:1.107.0atau taglatest,main-latest, danmain-stablepada rentang waktu terdampak. Periksa juga lockfile, log build CI, dan riwayat pull registri internal. - Periksa indikator kompromi. Peneliti yang dikutip menyebut berkas
/tmp/.pc_once_*(menandakan eksfiltrasi sudah berjalan) dan/tmp/remote_code_loader.lock(menandakan daemon C2 berjalan atau pernah berjalan). Periksa juga koneksi keluar ke domain yang dilaporkan. - Anggap rahasia bocor dan rotasi. Untuk setiap mesin yang menjalankan Python setelah paket terpasang (termasuk runner CI dan kontainer proxy), rotasi kunci API LLM, kredensial cloud, kunci SSH/GPG, dan token CI. Cabut sesi aktif, bukan hanya mengganti kata sandi.
- Kembali ke versi aman. Pin ke v1.106.2 atau versi yang lebih baru yang sudah diverifikasi pengelola, lalu bangun ulang image dari awal; jangan menambal kontainer yang sudah terinfeksi.
- Isolasi dan kumpulkan bukti. Sebelum membersihkan, simpan salinan forensik (snapshot disk, log jaringan) agar penyelidikan dapat menentukan apa yang sempat keluar.
Contoh pemeriksaan cepat untuk lingkungan Python dan Docker (sesuaikan dengan lingkungan Anda):
# Cek versi terpasang di virtualenv / host
pip show litellm | grep -i '^version'
# Cari berkas .pth mencurigakan di site-packages
python -c "import site,glob;[print(f) for d in site.getsitepackages() for f in glob.glob(d+'/*.pth')]"
# Cari indikator yang dilaporkan
ls -la /tmp/.pc_once_* /tmp/remote_code_loader.lock 2>/dev/null
# Cek image Docker yang pernah ditarik
docker images --digests | grep -i litellm
Pengerasan Jangka Panjang untuk Rantai Pasok AI
Insiden berulang pada satu pustaka menunjukkan bahwa respons ad hoc tidak cukup. Beberapa praktik yang selaras dengan kerangka seperti NIST SSDF (SP 800-218) dan SLSA:
- Pin versi dan hash. Gunakan lockfile dengan hash (
pip install --require-hashes) dan pin image Docker memakai digest, bukan tag bergerak sepertilatest. - Jeda adopsi (cooldown). Tunda otomatisasi pembaruan beberapa hari untuk rilis baru agar komunitas sempat mendeteksi paket tercemar.
- Batasi blast radius rahasia. Jangan menaruh kunci produksi di mesin build atau laptop pengembang. Gunakan kredensial berumur pendek, kunci API per layanan dengan kuota dan batas anggaran, serta secrets manager.
- Batasi egress. Kontainer gateway AI umumnya hanya perlu menghubungi endpoint penyedia model tertentu. Allowlist egress akan memutus jalur eksfiltrasi ke domain asing.
- Pantau Python startup. Alarm untuk berkas
.pthatausitecustomize.pybaru di site-packages, serta untuk proses daemon yang tidak dikenal. - Inventarisasi dependensi tersembunyi. LiteLLM dapat tertanam di platform AI atau alat internal lain. Gunakan SBOM dan pemindaian dependensi untuk menemukan pemakaian tidak langsung.
- Verifikasi sumber. Waspadai repositori dan organisasi dengan nama mirip (typosquatting). Terapkan perlindungan cabang, tinjauan wajib, dan penerbitan paket berbasis trusted publishing.
Dimensi Hukum dan Kepatuhan di Indonesia
Jika kredensial yang dicuri membuka akses ke basis data berisi data pribadi, insiden ini dapat menjadi kegagalan pelindungan data pribadi. UU No. 27 Tahun 2022 tentang Pelindungan Data Pribadi mewajibkan pengendali data menjaga keamanan data dan memberi pemberitahuan tertulis atas kegagalan pelindungan data dalam jangka waktu yang ditentukan (3 x 24 jam). Tinjau juga ketentuan turunannya, termasuk peraturan pelaksana yang sedang disiapkan, dan libatkan tim hukum serta DPO sejak awal. Untuk penyelenggara sistem elektronik, UU ITE dan regulasi sektoral (misalnya OJK atau BI untuk sektor keuangan) dapat menambah kewajiban pelaporan insiden.
Pelajaran Utama
Gateway AI bukan sekadar "pipa". Ia adalah tempat berkumpulnya rahasia bernilai tinggi, sehingga layak diperlakukan seperti sistem identitas atau pengelola rahasia: versi dipin, egress dibatasi, akses minimal, dan pemantauan aktif. Dalam beberapa jam setelah rilis berbahaya, PyPI dan registri Docker bertindak cepat, tetapi jendela waktu itu sudah cukup bagi pipeline otomatis untuk menarik paket tersebut. Organisasi yang memiliki inventaris dependensi, rotasi kredensial yang terlatih, dan kontrol egress akan melewati insiden seperti ini dengan jauh lebih sedikit kerugian.
Tim Siberindo menyarankan agar setiap organisasi yang mengadopsi LLM segera melakukan audit rantai pasok AI: daftar semua pustaka dan gateway yang memegang kunci model, tetapkan pemilik, dan latih prosedur rotasi rahasia sebelum insiden berikutnya datang.
Sumber rujukan: The Register (21 Oktober 2026), Cybernews (temuan Check Point Research), serta analisis Aikido Security, Wiz, dan Socket sebagaimana dikutip. Pantau pembaruan resmi dari pengelola LiteLLM.



