Kode komputer yang dihasilkan AI penuh dengan referensi ke perpustakaan pihak ketiga yang tidak ada, menciptakan peluang emas untuk serangan rantai pasokan yang meracuni program sah dengan paket jahat yang dapat mencuri data, menanam pintu belakang, dan melakukan tindakan jahat lainnya, pertunjukan penelitian yang baru diterbitkan.
Studi ini, yang menggunakan 16 dari model bahasa besar yang paling banyak digunakan untuk menghasilkan 576.000 sampel kode, menemukan bahwa 440.000 dependensi paket yang dikandungnya “berhalusinasi,” yang berarti mereka tidak ada. Model open source berhalusinasi paling banyak, dengan 21 persen dependensi yang terhubung ke perpustakaan yang tidak ada. Ketergantungan adalah komponen kode penting yang diperlukan oleh sepotong kode yang terpisah untuk berfungsi dengan baik. Ketergantungan Menghemat Kerumitan Kode Penulisan Ulang dan merupakan bagian penting dari rantai pasokan perangkat lunak modern.
Paket kilas balik halusinasi
Ketergantungan yang tidak ada ini merupakan ancaman terhadap rantai pasokan perangkat lunak dengan memperburuk apa yang disebut serangan kebingungan ketergantungan. Serangan -serangan ini bekerja dengan menyebabkan paket perangkat lunak untuk mengakses ketergantungan komponen yang salah, misalnya dengan menerbitkan paket berbahaya dan memberikan nama yang sama dengan yang sah tetapi dengan cap versi selanjutnya. Perangkat lunak yang tergantung pada paket akan, dalam beberapa kasus, memilih versi jahat daripada yang sah karena yang pertama tampaknya lebih baru.
Juga dikenal sebagai paket kebingungan, bentuk serangan ini pertama kali ditunjukkan Pada tahun 2021 dalam eksploitasi pembuktian konsep yang dieksekusi kode palsu di jaringan milik beberapa perusahaan terbesar di planet ini, Apple, Microsoft, dan termasuk Tesla. Ini adalah salah satu jenis teknik yang digunakan dalam serangan rantai pasokan perangkat lunak, yang bertujuan untuk meracuni perangkat lunak pada sumbernya dalam upaya untuk menginfeksi semua pengguna hilir.
“Setelah penyerang menerbitkan paket dengan nama berhalusinasi, berisi beberapa kode jahat, mereka mengandalkan model yang menyarankan nama itu kepada pengguna yang tidak curiga,” Joseph Spracklen, sebuah Universitas Texas di San Antonio PhD mahasiswa dan peneliti utama, mengatakan kepada ARS melalui email. “Jika pengguna mempercayai output LLM dan menginstal paket tanpa memverifikasi dengan hati -hati, muatan penyerang, disembunyikan dalam paket berbahaya, akan dieksekusi pada sistem pengguna.”
Dalam AI, halusinasi terjadi ketika LLM menghasilkan output yang secara faktual salah, tidak masuk akal, atau sama sekali tidak terkait dengan tugas yang ditugaskan. Halusinasi telah lama meruntuhkan LLMS karena mereka menurunkan kegunaan dan kepercayaan mereka dan telah terbukti sulit diprediksi dan diperbaiki. Di sebuah kertas Dijadwalkan akan dipresentasikan pada Simposium Keamanan Usenix 2025, mereka telah dijuluki “halusinasi paket” fenomena.
Untuk penelitian ini, para peneliti menjalankan 30 tes, 16 dalam bahasa pemrograman Python dan 14 di JavaScript, yang menghasilkan 19.200 sampel kode per tes, dengan total 576.000 sampel kode. Dari 2,23 juta referensi paket yang terkandung dalam sampel tersebut, 440.445, atau 19,7 persen, menunjuk ke paket yang tidak ada. Di antara 440.445 halusinasi paket ini, 205.474 memiliki nama paket yang unik.
Salah satu hal yang membuat halusinasi paket berpotensi berguna dalam serangan rantai pasokan adalah bahwa 43 persen halusinasi paket diulangi lebih dari 10 pertanyaan. “Selain itu,” tulis para peneliti, “58 persen dari waktu, paket berhalusinasi diulang lebih dari satu kali dalam 10 iterasi, yang menunjukkan bahwa sebagian besar halusinasi bukan sekadar kesalahan acak tetapi fenomena yang berulang yang lebih berharga untuk mengeksploitasi. Ini adalah hal yang lebih baik, karena hal -hal yang lebih baik untuk melakukan hal yang lebih baik.
Dengan kata lain, banyak halusinasi paket tidak acak, kesalahan sekali saja. Sebaliknya, nama -nama spesifik dari paket yang tidak ada diulangi berulang kali. Penyerang dapat memanfaatkan pola dengan mengidentifikasi paket -paket yang tidak ada yang berulang kali berhalusinasi. Para penyerang kemudian akan menerbitkan malware menggunakan nama -nama itu dan menunggu mereka diakses oleh sejumlah besar pengembang.
Studi ini mengungkap perbedaan dalam bahasa LLMS dan pemrograman yang menghasilkan halusinasi paket. Persentase rata -rata halusinasi paket yang diproduksi oleh LLM open source seperti Codellama dan Deepseek hampir 22 persen, dibandingkan dengan sedikit lebih dari 5 persen oleh model komersial. Kode yang ditulis dalam Python menghasilkan lebih sedikit halusinasi daripada kode JavaScript, dengan rata -rata hampir 16 persen dibandingkan dengan sedikit lebih dari 21 persen untuk JavaScript. Ditanya Apa yang menyebabkan perbedaan, Spracklen menulis:
Ini adalah pertanyaan yang sulit karena model bahasa besar adalah sistem yang luar biasa kompleks, membuatnya sulit untuk secara langsung melacak kausalitas. Yang mengatakan, kami mengamati perbedaan yang signifikan antara model komersial (seperti seri chatgpt) dan model open-source, yang hampir pasti disebabkan oleh pelatihan yang lebih besar dari parameter yang lebih besar daripada parameter yang lebih besar daripada varian komersial. Sebagian besar perkiraan menunjukkan bahwa model ChatGPT juga memiliki parameter yang lebih besar dari parameter yang lebih besar daripada Parameter lebih banyak daripada Paramet daripada Paramet daripada Paramet daripada Paramet daripada Paramet daripada Paramet daripada Paramet daripada Paramet, PARAMET OPER-SUPCORE. Kepemilikan.
“Di luar ukuran model, perbedaan dalam data pelatihan, penyempurnaan, pelatihan instruksi, dan penyetelan keamanan semua kemungkinan memainkan peran dalam tingkat halusinasi paket. Proses ini dimaksudkan untuk meningkatkan kegunaan model dan mengurangi jenis kesalahan tertentu, tetapi mereka mungkin memiliki efek hilir yang tidak terduga pada fenomena seperti halusinasi paket.
“Similarly, the higher hallucination rate for JavaScript packages compared to Python is also difficult to attribute definitively. We speculate that it stems from the fact that JavaScript has roughly 10 times more packages in its ecosystem than Python, combined with a more complicated namespace. With a much larger and more complex package landscape, it becomes harder for models to accurately recall specific package names, leading to greater uncertainty in their internal prediksi dan, pada akhirnya, tingkat yang lebih tinggi dari paket berhalusinasi. “
Temuan ini adalah yang terbaru untuk menunjukkan ketidakpercayaan yang melekat pada output LLM. Dengan Microsoft CTO Kevin Scott memprediksi 95 persen kode akan dihasilkan AI dalam waktu lima tahun, inilah harapan pengembang mengindahkan pesan itu.
Kisah ini awalnya muncul di ARS Technica.







