Asisten kode AI mengeluarkan nama paket yang tidak ada, dan penyerang mengubah halusinasi tersebut menjadi risiko rantai pasokan yang nyata.

Ketika peneliti keamanan Bar Lanyado dari Lasso Security meminta klien Python kepada alat pengodean berbasis AI, model tersebut menyarankan untuk menginstal huggingface-cli. Paket tersebut adalah paket fiktif; pustaka yang sah menggunakan nama huggingface_hub. Untuk membuktikan bahayanya, Lanyado mendaftarkan nama palsu tersebut di Python Package Index (PyPI) sebagai placeholder kosong. Dalam waktu tiga bulan, placeholder tersebut mengumpulkan lebih dari 30.000 unduhan, muncul dalam dokumentasi publik, dan bahkan muncul dalam sampel kode yang diambil dari repositori Alibaba.

Bagaimana paket fiktif menjadi ancaman nyata

  1. Prompt → halusinasi – Seorang pengembang meminta bantuan AI. Model tersebut, yang dilatih pada data internet yang berisik, menciptakan nama paket yang terdengar masuk akal.
  2. Salin-tempel → dokumentasi – Saran tersebut masuk ke dalam README, jawaban Stack Overflow, atau wiki internal. Begitu tertulis, nama tersebut menyebar ke seluruh komunitas.
  3. Integrasi kode – Pengembang, karena memercayai AI, menambahkan nama tersebut ke file requirements dan mendorongnya ke produksi.

Mengapa pertahanan yang ada gagal mendeteksi masalah ini

Alat analisis statis dan pemindai kerentanan mencari CVE yang diketahui dan pustaka dengan riwayat rilis. Paket yang baru saja diterbitkan dengan nol unduhan sebelum saran AI tidak memiliki CVE, tidak memiliki reputasi, dan oleh karena itu tampak bersih. Pemeriksaan standar “apakah versi ini rentan?” memberikan hasil false, sehingga memberikan rasa aman palsu kepada pengembang.

Apa yang dibuktikan oleh eksperimen ini

  • Nama buatan AI mencapai produksi – Lebih dari 30.000 unduhan menunjukkan bahwa pengembang benar-benar mengunduh paket fiktif ini.
  • Halusinasi menjadi dokumentasi – Begitu nama palsu muncul dalam panduan publik, hal itu dapat bertahan selamanya, menyebarkan kesalahan tersebut.
  • Registrasi sangat mudah – Menerbitkan paket di PyPI tidak memerlukan biaya dan hanya memakan waktu beberapa menit, sehingga menurunkan hambatan untuk penyalahgunaan rantai pasokan.

Langkah pertahanan yang benar-benar berhasil

  • Validasi setiap dependensi – Sebelum menambahkan persyaratan baru, cari di indeks paket dan pastikan namanya sesuai dengan pustaka yang sudah ada dan terdokumentasi.
  • Lakukan pengecekan silang dengan sumber resmi – Bandingkan nama yang disarankan dengan repositori vendor atau panduan instalasi resmi.
  • Anggap paket baru dengan adopsi rendah sebagai risiko tinggi – Tandai dependensi apa pun yang memiliki kurang dari segelintir unduhan atau tanggal rilis yang sangat baru untuk ditinjau secara manual.

Apa yang perlu diwaspadai selanjutnya

Intinya sederhana: saran AI bukanlah sebuah jaminan. Perlakukan setiap dependensi baru sebagai komponen pihak ketiga yang belum diverifikasi, verifikasi asal-usulnya, dan awasi rantai pasokan sebelum Anda membiarkan paket fiktif masuk ke dalam produksi.