Vibe Coding Itu Seru, Sampai API Key Kamu Ikut Terdeploy
Vibe Coding Itu Seru, Sampai API Key Kamu Ikut Terdeploy
Vibe coding viral karena membuat orang bisa membangun aplikasi dengan bahasa sehari-hari. Tulis "buatkan dashboard invoice dengan login Google", tunggu beberapa menit, lalu aplikasi muncul. Masalahnya, aplikasi yang terlihat jalan belum tentu aman.
Bagian paling berbahaya dari vibe coding bukan AI-nya. Bagian berbahaya adalah rasa puas terlalu cepat setelah halaman berhasil dibuka.
Bug yang Sering Muncul di Aplikasi Vibe Coding
AI sering memprioritaskan "berhasil jalan" dibanding "benar secara arsitektur". Untuk prototype, itu berguna. Untuk aplikasi yang menyimpan data user, itu bisa menjadi lubang besar.
- Secret di frontend: API key masuk ke file JavaScript dan bisa dibaca dari DevTools.
- Auth cuma di UI: tombol disembunyikan, tapi endpoint backend tetap bisa dipanggil.
- Database rule terlalu bebas: user bisa membaca data user lain karena policy tidak spesifik.
- Input tidak divalidasi: form langsung disimpan atau dikirim ke query tanpa pengecekan.
- Dependency asal install: package dipilih karena namanya cocok, bukan karena reputasinya jelas.
Checklist 20 Menit Sebelum Publish
Sebelum membagikan aplikasi hasil vibe coding, lakukan audit kecil ini. Tidak sempurna, tapi bisa menangkap kesalahan yang paling mahal.
# Cari secret yang tidak sengaja masuk repo
rg "sk-|api[_-]?key|secret|password|token" .
# Cek dependency mencurigakan
npm audit
npm ls --depth=0
# Cari endpoint tanpa auth
rg "app\\.(get|post|put|delete)|router\\." src server api
# Cari query mentah
rg "SELECT|INSERT|UPDATE|DELETE|rawQuery|execute\\(" .
Aturan Emas: Browser Tidak Boleh Tahu Secret
Kalau sebuah key bisa dipakai untuk mengakses layanan berbayar, database, storage, email, AI API, atau payment gateway, key itu tidak boleh berada di frontend. Gunakan backend sebagai perantara.
[Browser]
|
| request tanpa secret
v
[Backend kamu]
|
| panggil layanan eksternal dengan secret
v
[OpenAI / Stripe / Supabase Admin / Email API]
Cara Prompt AI agar Lebih Aman
Jangan hanya minta "buatkan aplikasi". Tambahkan constraint security sejak awal:
Buat implementasi dengan aturan:
- Tidak ada secret di frontend.
- Semua endpoint data wajib cek user session.
- Validasi input di client dan server.
- Gunakan prepared statement atau ORM.
- Tulis test untuk akses user A tidak bisa membaca data user B.
- Jelaskan risiko security yang masih tersisa.
Vibe coding tetap berguna. Ia mempercepat eksplorasi ide. Tapi sebelum aplikasi menyentuh user sungguhan, ubah mode dari "yang penting jalan" menjadi "yang penting tidak membocorkan data".