Prompt implementasi dengan scope dan guardrail — Vibe Coding dan Security: Dari Prompt ke Aplikasi Aman

MATERI 6 DARI 28

Prompt implementasi dengan scope dan guardrail

Batasi file, perilaku, dan kriteria selesai agar AI tidak melakukan perubahan liar.

Tujuan pembelajaran

  • Menentukan file yang boleh disentuh.
  • Meminta test-first dan perubahan minimal.
  • Melarang secret dan side effect tak disetujui.

Konsep utama

Scope eksplisit

Daftar file yang relevan dan larangan “while I am here”.

Output terverifikasi

Minta agent menjalankan test dan melaporkan output nyata, bukan perkiraan.

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

Contoh validasi server yang sempit

function validateDisplayName(string $name): string {
    $name = trim(preg_replace('/\s+/u', ' ', $name) ?? '');
    if (mb_strlen($name) < 2 || mb_strlen($name) > 120) {
        throw new InvalidArgumentException('Nama harus 2–120 karakter.');
    }
    return $name;
}

Aspek keamanan

  • Minta AI mempertahankan authorization server-side.
  • Jangan membolehkan penambahan dependency tanpa alasan dan review.
  • Tentukan status default aman, misalnya draft bukan published.

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

Batasi file, perilaku, dan kriteria selesai agar AI tidak melakukan perubahan liar.