(Source: Check Point)
Adopsi asisten penulisan kode bertenaga AI seperti GitHub Copilot, Cursor AI, dan ChatGPT telah merevolusi cara kerja pengembang, meningkatkan produktivitas secara signifikan. Namun ada bahaya yang harus diperhatikan di balik kemudahannya. Check Point memperingatkan bahwa di balik efisiensi yang ditawarkan, tersembunyi ancaman baru terhadap rantai pasokan perangkat lunak yaitu halusinasi AI dan serangan slopsquatting.
Asisten penulisan kode AI, meskipun sangat membantu, kadang-kadang menghasilkan apa yang disebut halusinasi, rekomendasi percaya diri untuk paket perangkat lunak yang sebenarnya tidak ada. Sebuah studi baru-baru ini oleh para peneliti menemukan bahwa Large Language Models (LLM) open-source menghasilkan nama paket yang terhalusinasi pada tingkat yang sangat tinggi (sekitar 21,7%), dibandingkan dengan model komersial (sekitar 5,2%). Para peneliti mendokumentasikan lebih dari 200.000 nama paket halusinasi unik hanya dalam satu penelitian ini. Hal ini sangat berbahaya karena kesalahan tersebut seringkali sangat mirip dengan paket asli, bahkan mampu menipu pengembang berpengalaman.
Ada juga dimensi lintas bahasa yang menarik dari halusinasi ini. Model penghasil kode khusus Python seringkali menghalusinasikan paket JavaScript, sebuah skenario yang meresahkan mengingat potensi kebingungan dan risiko yang dapat ditimbulkannya di seluruh ekosistem perangkat lunak.
Penyerang siber dengan cepat memanfaatkan kerentanan ini dengan memperkenalkan bentuk serangan rantai pasokan baru yang disebut slopsquatting. Berbeda dengan typosquatting tradisional yang memanfaatkan kesalahan penulisan manusia, slopsquatting memanfaatkan halusinasi AI ini. Penyerang memantau nama paket yang disarankan AI, dan dengan cepat mendaftarkan ketergantungan imajiner ini di repositori populer seperti npm atau PyPI. Ketika pengembang yang tidak curiga memercayai rekomendasi AI dan menginstal paket-paket ini, mereka secara tidak sengaja membawa kode berbahaya ke lingkungan mereka.
Insiden huggingface-cli pada akhir 2023 menjadi contoh nyata. Setelah AI berulang kali menyarankan paket yang tidak ada ini, seorang peneliti keamanan mendaftarkannya di PyPI sebagai uji coba yang tidak berbahaya. Dalam beberapa hari, ribuan pengembang, termasuk tim di Alibaba, tanpa disadari mengadopsi paket fiktif ini ke dalam proyek penting mereka. Meskipun insiden ini tidak berbahaya, hal itu menunjukkan betapa cepat dan mudahnya penyerang dapat mengeksploitasi kerentanan yang dihasilkan AI.
Praktik keamanan tradisional sering kali tidak efektif terhadap ancaman baru ini. Banyak pemindai dependensi bergantung pada data reputasi historis, sehingga mereka tidak dapat melihat paket berbahaya yang baru terdaftar. Ini menggarisbawahi kebutuhan mendesak akan strategi inovatif dan proaktif yang disesuaikan untuk mendeteksi dan mengurangi kerentanan yang didorong oleh AI.
Tim pengembangan dan keamanan harus mengadopsi praktik yang ketat untuk mengatasi slopsquatting secara efektif. Penting untuk memperlakukan saran yang dihasilkan AI dengan skeptisisme jangan pernah memercayai dependensi yang disarankan secara membabi buta. Implementasikan proses verifikasi yang ketat, verifikasi nama paket yang tidak dikenal secara manual, dan gunakan secara konsisten lockfiles, versi yang di-pin, serta verifikasi hash kriptografi. Selain itu, mempertahankan cermin internal atau allowlists paket tepercaya dapat secara drastis mengurangi paparan terhadap pendatang baru yang berbahaya.
Meskipun teknik seperti retrieval augmented generation (RAG) dan supervised fine-tuning dapat secara dramatis mengurangi halusinasi (hingga 85%), teknik ini juga memiliki dampak negatif pada kualitas kode secara keseluruhan. Ini menunjukkan perlunya solusi keamanan komprehensif yang mampu secara proaktif mengidentifikasi ancaman tanpa mengorbankan efisiensi pengembangan.