Menyiapkan konteks AI tanpa membocorkan data sensitif — Vibe Coding dan Security: Dari Prompt ke Aplikasi Aman

MATERI 3 DARI 28

Menyiapkan konteks AI tanpa membocorkan data sensitif

Berikan konteks yang cukup untuk coding assistant tanpa mengirim secret, data pribadi, atau source yang tidak perlu.

Tujuan pembelajaran

  • Memilih file dan potongan konteks yang relevan.
  • Menyamarkan data sensitif.
  • Membuat aturan prompt untuk keamanan dan scope perubahan.

Konsep utama

Prinsip minimisasi

Kirim hanya informasi yang diperlukan untuk tugas.

Sanitasi konteks

Ganti email, token, host internal, dan data pelanggan dengan fixture dummy yang jelas.

Alur kerja teknis

  1. Tulis tujuan dan acceptance criteria.
  2. Buat perubahan kecil yang dapat ditinjau.
  3. Jalankan test dan baca diff sebelum menerima hasil AI.

Contoh implementasi

Pemeriksaan secret sebelum berbagi patch

git diff --cached > /tmp/review.patch
if grep -Ein "(api[_-]?key|password|secret|token)\s*[:=]" /tmp/review.patch; then
  echo "Periksa kemungkinan secret sebelum mengirim konteks" >&2
  exit 1
fi
echo "Tidak ada pola secret sederhana yang terdeteksi"

Aspek keamanan

  • Jangan percaya regex sebagai satu-satunya secret scanner.
  • Hapus `.env`, private key, cookie, dan dump database dari konteks.
  • Gunakan data sintetis untuk reproduksi bug.

Kesalahan umum

  • Menerima kode AI tanpa membaca diff dan memahami alur data.
  • Menguji hanya happy path dan mengabaikan input salah atau batas nilai.
  • Menyimpan secret, token, atau data nyata di prompt dan source code.

Pengujian dan verifikasi

  1. Jalankan contoh dengan input normal.
  2. Ulangi dengan input kosong, tipe salah, dan nilai batas.
  3. Pastikan error tidak membocorkan secret atau detail internal.

Latihan

  1. Modifikasi contoh dengan satu kebutuhan baru dan tulis acceptance criteria-nya.
  2. Tambahkan satu negative test lalu jelaskan risiko yang dicegah.

Checklist

  • Tujuan dan batas pekerjaan jelas.
  • Input divalidasi di server.
  • Secret tidak berada di source/prompt.
  • Test lulus dan diff sudah dibaca.

Rangkuman

Berikan konteks yang cukup untuk coding assistant tanpa mengirim secret, data pribadi, atau source yang tidak perlu.