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
- Tulis tujuan dan acceptance criteria.
- Buat perubahan kecil yang dapat ditinjau.
- 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 testAspek 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
- Jalankan contoh dengan input normal.
- Ulangi dengan input kosong, tipe salah, dan nilai batas.
- Pastikan error tidak membocorkan secret atau detail internal.
Latihan
- Modifikasi contoh dengan satu kebutuhan baru dan tulis acceptance criteria-nya.
- 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.