“Buatkan saya form login dan proses menggunakan API yang tersedia”
Enter
Tak butuh waktu lama hitungan menit maka sebuah form lengkap dengan logika pemrosesan login tercipta. Ya, saat ini AI sudah berkembang masuk ke ranah pemrograman, di luaran sana menyebutnya Vibe Coding mempercepat ngoding kamu yang mungkin kalau tradisional bisa memakan mingguan dengan vibe coding ini mungkin hanya hari atau bahkan jam, sangat menyenangkan. Namun, dibalik itu ada ancaman yang mulai ditemukan. Ayo kita bahas, ini berdasarkan penggunaan pribadi kami dari tim Ethic Ninja ya. Berikut adalah beberapa ancaman yang ditemukan:
1. Data Leak
Ketika kita create project baru di IDE yang sudah menggunakan AI (cursor, windsurf, dll), AI biasanya akan membuatkan kita file baru konfigurasi seperti .env atau config.toml, ini normal namun setelah kami memperhatikan AI seringkali menambahkan hardcode credential/key secret di code dengan maksud jika file konfigurasi kosong maka program tetap bisa berjalan. Hal ini menjadi berbahaya karena jika seseorang mencoba untuk menggunakan versioning software seperti github maka key secret ini dapat terbaca.
2. No Authentication
Kemampuan menyimpan konteks tiap Model AI bermacam-macam, permasalahan timbul ketika AI “kelupaan” bahwa ada mekanisme authentikasi di halaman tertentu yang menyebabkan user yang tidak berhak dapat mengakses halaman/fungsi tertentu. Kami pernah mendapatkan solusi dari AI karena AI tidak dapat meresolve suatu library auth maka dia dengan sengaja membuat sebuah halaman yang seharusnya private dia buat publik demi aplikasi tetap dapat berjalan lancar!
3. Extranous Functionality
Kembali di konteks AI dan kecerdasannya yang berbeda-beda, AI dapat menggenerate banyak fungsi yang sebenarnya memiliki tujuan sama, bahkan terkadang mereka melakukan refactoring yang tidak perlu jadi semacam tambal sulam. Hal ini menjadi susah untuk programmer melakukan debugging yang mungkin saja menjadi salah satu tempat masuk attacker. Bayangkan misal hari Senin sudah dibuatkan flow checkout dan update status order berdasarkan status yang sudah didefinisikan sebelumnya (pending, process, delivered, completed), di hari Selasa keesokannya karena ada update tertentu AI mengubah definisi status yang berbeda dengan sebelumnya, program memang tetap berjalan tetapi menjadi mimpi buruk bagi developer untuk melakukan pengecekan jika ada laporan anomali mengenai status orderan.
Mitigasi
Vibe coding tidak dapat disangkal memang sangat membantu terutama untuk membuat aplikasi MVP/Prototype bahkan production namun kita tetap harus waspada karena mengontrol AI itu tidak mudah, berikut beberapa tips yang dapat kita pakai.
Untuk menggunakan vibe coding ini pastikan PRD (Product Requirement Document) kalian sudah menyertakan deskripsi keamanannya. Ketika sudah mulai tahapan coding maka setiap code yang disarankan oleh AI harus dibaca dan dianalisa secara manual, agar mengurangi resiko adanya vulnerability code/flow. Yang terakhir lakukan pentest ketika aplikasi kamu sudah mau launching hal ini dapat menurunkan resiko aplikasi kamu disalahgunakan.