Kemarin di ekosistem Python terjadi serangan rantai pasokan yang sempurna. Paket
litellm dikompromikan — sebuah pustaka dengan 97 juta unduhan per bulan, yang saat ini menjadi tulang punggung banyak proyek AI. Versi terinfeksi
1.82.8 telah diunggah ke PyPI. Di dalamnya terdapat file litellm_init.pth dengan muatan base64 yang melakukan satu hal sederhana: menyedot semua rahasia dari mesin Anda dan mengirimkannya ke server jarak jauh, sambil mereplikasi dirinya sendiri.Daftar yang "dicuri" mencakup semua yang dapat dijangkau oleh skrip:
▫️ Kunci SSH
▫️ Kredensial AWS/GCP/Azure
▫️ Konfigurasi Kubernetes
▫️ File
.env (halo, token OpenAI Anda)▫️ Riwayat terminal dan kata sandi database
▫️ Kunci SSL pribadi dan dompet kripto
Anda bahkan tidak perlu menulis
pip install litellm untuk menyerahkan kunci produksi Anda. Cukup dengan menginstal atau memperbarui alat apa pun yang menariknya sebagai dependensi transitif. Misalnya, Anda memperbarui dspy yang populer (yang memiliki litellm>=1.64.0 di requirements-nya) — selamat datang di klub yang diretas.Tapi ada satu nuansa menakjubkan dalam seluruh cerita ini.
Industri terselamatkan dari bencana global karena peretasnya adalah programmer yang buruk. 🤡
Malware ditulis dengan sangat kacau sehingga menyebabkan kebocoran memori. Seseorang menggunakan plugin di Cursor yang secara latar menarik
litellm terbaru. Skrip tersebut menghabiskan semua RAM dan membuat sistem crash. Berkat ini, versi terinfeksi hanya bertahan kurang dari satu jam di PyPI sebelum dihapus. Jika penyerang telah menguji kodenya dengan benar, eksploitasi bisa bertahan selama berminggu-minggu. Setengah dari startup AI akan tutup besok karena basis klien yang bocor dan anggaran cloud yang terkuras.
Andrej Karpathy memberikan pendapat tentang hal ini: paradigma pengembangan klasik "kita membangun piramida dari bata dependensi" dalam realitas modern menjadi kerentanan yang fatal. Selama beberapa dekade kita diajari pola akademis: "jangan menemukan kembali roda, gunakan kembali, ambil pustaka yang sudah jadi".
Dalam realitas rantai pasokan saat ini, ini seperti bermain rolet Rusia. Setiap kali Anda menarik dependensi baru ke dalam proyek, Anda menarik seluruh pohonnya hingga kedalaman sepuluh tingkat. Dan di suatu tempat di sana mungkin ada pemelihara yang tersinggung atau akun yang diretas.
Paradigma berubah. Alih-alih menarik pustaka besar hanya untuk beberapa fungsi utilitas, sekarang lebih aman dan pragmatis untuk hanya menyalin (atau menghasilkan melalui LLM) potongan kode yang diperlukan dan menguncinya di repositori Anda sendiri. 🤷♂️
Komentar
0Belum ada komentar.
Masuk untuk ikut berdiskusi.