You are currently viewing Kerentanan di Vanna AI Bisa Membuat Peretas Mengambil Alih Sistem

Kerentanan di Vanna AI Bisa Membuat Peretas Mengambil Alih Sistem

Para peneliti menemukan bahwa perpustakaan Vanna AI memiliki kelemahan yang memungkinkan peretas menjalankan kode berbahaya dari jarak jauh. Kerentanan ini disebut sebagai injeksi prompt, yang memungkinkan eksekusi kode jarak jauh (RCE).

Apa Itu Vanna AI?

Vanna AI adalah perangkat lunak yang dapat menerjemahkan perintah bahasa alami menjadi kueri SQL. Kemudian, menggunakan perpustakaan grafis Python yang disebut Plotly, perangkat ini menyajikan hasil kueri tersebut dalam bentuk grafik visual. Vanna AI bisa terhubung dengan basis data melalui aplikasi seperti Jupyter Notebook dan digunakan dalam berbagai platform seperti Slackbot atau aplikasi web khusus.

Bagaimana Kerentanan Ini Ditemukan?

Peneliti dari JFrog dan Tong Liu, seorang mahasiswa PhD, menemukan kerentanan ini. Mereka melaporkannya melalui platform bug bounty Huntr. Kerentanan tersebut dilacak dengan kode CVE-2024-5565.

Bagaimana Kerentanan Ini Bekerja?

  1. Proses Kueri dan Visualisasi:
  • Pengguna memberikan perintah yang kemudian dikirim ke model bahasa besar (LLM).
  • LLM membuat kueri SQL berdasarkan perintah tersebut.
  • Kueri SQL dikirim ke database.
  • Hasilnya kemudian diproses oleh Plotly untuk membuat grafik.
  1. Poin Kelemahan:
  • Plotly menghasilkan kode Python secara dinamis berdasarkan perintah pengguna.
  • Kode ini dieksekusi untuk membuat grafik.
  • Pengguna dapat menyisipkan kode berbahaya dalam perintah mereka sehingga kode berbahaya tersebut dijalankan saat Plotly membuat grafik.

Contoh Eksploitasi

Para peneliti dari JFrog menunjukkan bahwa mereka bisa memanipulasi proses ini untuk menampilkan daftar file di direktori mesin target. Ini membuktikan bahwa kode berbahaya bisa dijalankan di sistem target.

Tindakan Pengamanan

Vanna AI telah menerbitkan panduan untuk mencegah eksploitasi ini. Beberapa langkah yang direkomendasikan meliputi:

  • Menggunakan Sandbox: Menjalankan kode di lingkungan sandbox untuk mencegah kode berbahaya merusak sistem utama.
  • Memodifikasi Fungsi: Mengubah fungsi vn.generate_plotly_code agar tidak mengeksekusi kode arbitrer, melainkan mengembalikan hasil kueri dalam format default.

Rekomendasi untuk Pengembang

Peneliti JFrog menyarankan para pengembang yang bekerja dengan LLM untuk:

  • Menggunakan sandbox pada lingkungan eksekusi.
  • Menggunakan model yang bisa mendeteksi injeksi prompt.
  • Memeriksa integritas keluaran untuk mencegah eksekusi kode berbahaya.

Kesimpulan

Kerentanan di Vanna AI adalah ancaman serius yang bisa dieksploitasi oleh peretas untuk mengambil alih sistem dari jarak jauh. Pengguna dan pengembang perlu segera menerapkan langkah-langkah pengamanan yang disarankan untuk melindungi sistem mereka dari potensi serangan ini.