Threat modeling praktis untuk proyek vibe coding — Vibe Coding dan Security: Dari Prompt ke Aplikasi Aman

MATERI 23 DARI 28

Threat modeling praktis untuk proyek vibe coding

Petakan asset, actor, entry point, trust boundary, abuse case, dan mitigasi sebelum deployment.

Tujuan pembelajaran

  • Membuat data-flow diagram sederhana.
  • Mengidentifikasi trust boundary.
  • Memprioritaskan mitigasi berdasarkan dampak dan kemungkinan.

Konsep utama

Asset

Data, credential, uang, availability, dan reputasi.

Actor

Pengguna sah, attacker, operator, service eksternal.

Abuse case

Jelaskan aksi penyerang dan dampaknya, bukan sekadar nama vulnerability.

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

Template threat model Markdown

cat > THREAT_MODEL.md <<'EOF'
# Asset
- Akun learner dan progress
# Entry point
- Login, upload avatar, API
# Trust boundary
- Browser → web app → MongoDB
# Abuse case
- Upload file executable
# Mitigasi
- MIME allowlist, nama acak, direktori non-executable, size limit
EOF

Aspek keamanan

  • Threat model harus diperbarui ketika data flow berubah.
  • Jangan hanya menyalin daftar OWASP tanpa konteks.
  • Catat risiko yang diterima dan siapa yang menyetujuinya.

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

Petakan asset, actor, entry point, trust boundary, abuse case, dan mitigasi sebelum deployment.