Dependency, lockfile, dan update terkontrol — Vibe Coding dan Security: Dari Prompt ke Aplikasi Aman

MATERI 17 DARI 28

Dependency, lockfile, dan update terkontrol

Kelola dependency secara sengaja; jangan menerima package yang disarankan AI tanpa menilai kebutuhan dan reputasinya.

Tujuan pembelajaran

  • Memahami lockfile.
  • Membatasi dependency baru.
  • Menguji update secara bertahap.

Konsep utama

Dependency budget

Setiap package menambah attack surface dan maintenance.

Reproducible install

Lockfile memastikan versi konsisten di CI dan production.

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

Audit ekosistem secara defensif

npm ci
npm audit --omit=dev
python -m pip list --outdated
composer audit
# review hasil; jangan otomatis upgrade major tanpa test

Aspek keamanan

  • Periksa package name untuk typosquatting.
  • Jangan menjalankan install script asing dengan privilege tinggi.
  • Commit lockfile dan review perubahan transitive dependency.

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

Kelola dependency secara sengaja; jangan menerima package yang disarankan AI tanpa menilai kebutuhan dan reputasinya.