MATERI 18 DARI 28
Secret scanning, SBOM, dan provenance
Temukan credential yang tidak sengaja masuk source dan inventaris komponen build.
Tujuan pembelajaran
- Menjalankan secret scan sebelum push.
- Memahami SBOM sebagai inventaris.
- Menilai asal artefak build.
Konsep utama
Secret scan
Scanner membantu, tetapi rotasi tetap wajib jika secret pernah ter-commit.
SBOM
Daftar dependency mempermudah respons terhadap vulnerability.
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
Pemeriksaan repository
git grep -InE "(BEGIN .*PRIVATE KEY|api[_-]?key|password|secret)" -- . \n ":(exclude)vendor" ":(exclude)node_modules" || true
# Gunakan scanner khusus organisasi untuk pemeriksaan yang lebih kuat.Redaksi token pada log
import re
def redact(text: str) -> str:
return re.sub(r"(?i)(token|secret|password)=([^&\s]+)", r"\1=[REDACTED]", text)Aspek keamanan
- Jangan menganggap penghapusan commit terakhir sudah mencabut secret.
- Hindari memasukkan data sensitif ke SBOM/metadata.
- Verifikasi artefak berasal dari pipeline tepercaya.
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
Temukan credential yang tidak sengaja masuk source dan inventaris komponen build.