Pendahuluan

Penggunaan Large Language Model (LLM) sebagai asisten pemrograman telah membantu banyak pengembang dalam menulis kode, mencari solusi pemrograman, serta merekomendasikan library atau package yang dibutuhkan. Meskipun mampu meningkatkan produktivitas, LLM juga memiliki kelemahan berupa halusinasi, yaitu menghasilkan informasi yang terlihat benar tetapi sebenarnya tidak akurat. Salah satu bentuk halusinasi yang berbahaya adalah ketika AI merekomendasikan nama package yang sebenarnya tidak pernah ada.

Kondisi ini dapat dimanfaatkan oleh pelaku kejahatan siber melalui teknik typosquatting, yaitu membuat package palsu dengan nama yang sangat mirip dengan package asli atau sesuai dengan nama package fiktif yang direkomendasikan AI. Apabila package tersebut diunduh oleh pengembang, malware atau kode berbahaya dapat ikut masuk ke dalam aplikasi sehingga membahayakan keamanan perangkat lunak.

Apa Itu Typosquatting?

Typosquatting adalah teknik serangan yang memanfaatkan kesalahan penulisan atau kemiripan nama suatu package, library, maupun domain. Peretas membuat package dengan nama yang hampir sama dengan package resmi sehingga sulit dibedakan oleh pengguna.

Sebagai contoh, apabila package resmi bernama secure-auth, peretas dapat membuat package seperti:

  • secure_auth
  • secure-auths
  • secur-auth
  • secure-aut

Perbedaan yang sangat kecil tersebut sering kali tidak disadari oleh pengembang, terutama ketika nama package diperoleh dari rekomendasi AI.

Halusinasi LLM dan Paket Fiktif

LLM terkadang menghasilkan nama package yang terdengar meyakinkan, tetapi sebenarnya tidak tersedia pada repositori resmi. Hal ini terjadi karena model membentuk jawaban berdasarkan pola bahasa, bukan selalu berdasarkan data yang benar.

Peretas kemudian memanfaatkan kondisi tersebut dengan membuat package menggunakan nama yang sama seperti hasil halusinasi AI. Ketika pengembang mencari package tersebut, mereka menemukan package buatan peretas dan menganggapnya sebagai package yang direkomendasikan AI.

Cara Peretas Melakukan Eksploitasi

Eksploitasi typosquatting pada paket fiktif hasil halusinasi LLM umumnya dilakukan melalui beberapa tahapan berikut.

1. Mengidentifikasi Halusinasi AI

Pelaku mencari nama package yang sering direkomendasikan AI tetapi sebenarnya belum tersedia di repositori resmi.

2. Membuat Package Palsu

Peretas mengunggah package menggunakan nama tersebut ke repositori publik seperti npm, PyPI, Maven, atau NuGet.

3. Menyisipkan Kode Berbahaya

Package palsu dapat berisi malware, backdoor, pencuri token, atau script yang dijalankan secara otomatis saat proses instalasi.

4. Menunggu Korban Menginstal

Developer yang mempercayai rekomendasi AI akan menginstal package tersebut sehingga perangkat lunak ikut terinfeksi.

Dampak terhadap Keamanan Perangkat Lunak

Eksploitasi typosquatting dapat menyebabkan berbagai risiko, di antaranya:

  • Instalasi malware ke dalam proyek.
  • Kebocoran data pengguna dan data perusahaan.
  • Pencurian API Key, token, atau kredensial.
  • Penyisipan backdoor pada aplikasi.
  • Gangguan terhadap proses pengembangan perangkat lunak.
  • Kompromi terhadap software supply chain.
  • Kerugian finansial dan menurunnya kepercayaan pengguna.

Karena package palsu dapat digunakan oleh banyak pengembang, dampaknya dapat menyebar ke berbagai aplikasi yang menggunakan dependensi tersebut.

Upaya Pencegahan

Untuk mengurangi risiko eksploitasi typosquatting pada paket hasil halusinasi LLM, beberapa langkah berikut dapat diterapkan:

  • Selalu memverifikasi nama package melalui repositori resmi.
  • Memeriksa jumlah unduhan, reputasi, dan dokumentasi package sebelum menggunakannya.
  • Menggunakan alat Software Composition Analysis (SCA) untuk memeriksa keamanan dependensi.
  • Melakukan code review terhadap package baru yang akan ditambahkan ke proyek.
  • Tidak langsung mempercayai seluruh rekomendasi yang diberikan AI.
  • Memperbarui dependensi secara berkala dan menghapus package yang tidak digunakan.

Kesimpulan

Typosquatting pada paket fiktif hasil halusinasi LLM merupakan ancaman nyata dalam pengembangan perangkat lunak modern. Peretas memanfaatkan rekomendasi AI yang tidak akurat untuk menyebarkan package palsu yang mengandung malware atau kode berbahaya. Oleh karena itu, setiap package yang direkomendasikan AI harus diverifikasi terlebih dahulu sebelum digunakan. Dengan menerapkan proses validasi, pemeriksaan keamanan, dan pengawasan terhadap dependensi, pengembang dapat memanfaatkan AI secara aman tanpa meningkatkan risiko terhadap keamanan aplikasi.