automation
Catatan teknis seputar web development, DevOps, dan integrasi AI.
50 artikel
- 04.45devops
Gerbang Slice yang Membaca Artefak Program Lain
Satu direktori program tertanam di cmd_slice membuat gerbang validasi lulus dengan bukti milik program lain; pembenahnya satu baris env-override.
TL;DR: Skrip gerbang slice ternyata ngecek direktori program lama, qa-backfill, bukan program yang lagi jalan, karena lokasinya nempel jadi konstanta di kode. Fix-nya cuma satu baris: baca dari env dulu, kalau kosong baru pakai bawaan. Pelajarannya: begitu alat dipakai di konteks kedua, nilai yang beda antar konteks harus naik kelas ke env.
#bash#coding-agent#validasi-input - 04.39devops
Gerbang Commit Butuh Jalur Resmi, Bukan Hanya Penolak
Hook yang menolak commit langsung baru setengah gerbang; wrapper yang tidak pernah diimplementasi mengubah keamanan menjadi gembok total.
TL;DR: Jadi gerbangnya nolak commit padahal hook-nya bener, masalahnya cmd_commit nggak pernah ditulis meski usage string ngaku ada. Fix-nya cuma 40 baris: validasi pesan dulu, lolos baru commit dieksekusi, nggak perlu bypass. Selftest kasus 19 mastiin penolakan bersih, commit pas, dan nggak dobel.
#git-hooks#coding-agent#bash - 04.32devops
Memblokir Git Commit Langsung Lewat Hook PreToolUse
Hook PreToolUse membuat git commit langsung dari sesi agen koding mustahil secara teknis, bukan sekadar dilarang di dokumen.
TL;DR: Jadi gerbang review ini dipasang sebagai hook PreToolUse di Claude Code, bukan hook Git biasa, biar commit langsung dari agen koding bisa diblokir lewat exit 2. Pendaftarannya diselipin di settings pengguna plus sembilan berkas definisi agen, jadi nggak ada celah warisan otomatis. Ujinya udah ditolak dua kali bare, bukti fail-closed-nya works.
#git-hooks#coding-agent#keamanan-proses - 02.54devops
Token Status Review: Utang Review yang Bisa Digrep
Empat token review:* plus validator papan membuat utang review agen terlihat, terhitung, dan bisa dibatch tanpa menunda permukaan keamanan.
TL;DR: Review per irisan kan bolak-balik dan boros token, padahal irisan kecil bayarnya sama mahalnya sama yang gede. Jadi tiap baris wajib bawa token review, yang nyentuh keamanan tetap langsung direview, sisanya nunggu dibatch bareng pas antrean numpuk. Untungnya statusnya bisa digrep, jadi nggak ada utang review yang sembunyi di kepala.
#code-review#ai-agents#workflow - 22.33tooling
Satu Pintu Jejak Satu ID: Alat Audit yang Tak Bisa Dibohongi
Reviewer menemukan read() mengikuti symlink ke .git dan lint yang cocok lintas berkas. Pelajaran soal verifier yang tidak boleh bisa dibohongi.
TL;DR: Alat audit baca-saja ini nemu dua bug serius. Fungsi read() ikut symlink sehingga bisa baca .git/ sembarangan, tapi daripada ribet resolve path, mending tolak semua symlink langsung biar nggak kena TOCTOU. Terus korpus lint digabung tanpa pemisah bikin ID nyambung dua berkas, solusinya cuma nambah newline per berkas.
#python#symlink#qa - 14.42tooling
Dua Taraf Hukum Hook Commit di Proyek KotaPortal
Hook commit KotaPortal memisahkan dua taraf hukum: penanda uji yang salah blok keras, permukaan berisiko hanya dapat peringatan plus jejak audit.
TL;DR: review_gate.sh punya dua tingkat: soal kata kunci kayak karakterisasi langsung diblokir, tapi area berisiko kayak autentikasi atau migrasi cuma kasih peringatan. Dua tingkat biar keamanan tetap jalan tanpa ngelambatin kerja tim. Soalnya hook bisa dilewati kok, jadi tujuannya bukan tembok tapi rambu jelas.
#git#git-hooks#security - 13.45tooling
Mesin Penjaga Klaim Review di Pesan Commit
Tiga invarian mesin untuk klaim Security-review: tepat satu, posisi trailer, dan substansi dicek terhadap diff.
TL;DR: Klaim review di pesan commit selama ini cuma perkataan, nggak ada yang ngecek. Jadi repo itu bikin hook commit-msg yang ngetes tiga invarian: baris Security-review: harus tepat satu, posisinya bener, dan klaim tests only dicocokkan sama diff. Hooknya memang bisa di-bypass, tapi tujuannya menaikkan harga kelalaian, bukan nahan penipu.
#git#bash#security - 05.04backend
Scraping Lewat Panel Preview: Sesi Adalah Kredensial
Sesi panel preview adalah kredensial scraping: token URL berotasi, klik gagal palsu, dan CDP sengaja mati.
TL;DR: Sesi di panel itu ternyata kredensialnya, bukan sekadar alat bantu—fetch URL sama dari luar cuma dapat captcha interstitial terus. Token tiap halaman juga berotasi, jadi navigasi mesti digerakkan klik beneran, nggak bisa asal susun URL sendiri. Hasilnya? 4.828 perkara kepailitan sukses ditarik dari portal Jakarta Pusat, padahal awalnya sering gagal gara-gara gerbang anti-bot.
#scraping#browser-automation#captcha - 04.17backend
Stealth Proxy Tidak Bisa Membeli Captcha yang Mengukur Browser
Stealth proxy lolos WAF tapi tewas di gerbang captcha yang mengukur browser.
TL;DR: Stealth proxy cuma ampuh buat WAF biasa, soalnya gerbang captcha gak bisa dibohongin. Cloudflare Turnstile di Jakarta Selatan lolos sendiri pake Chromium asli, sementara reCAPTCHA v2 dijakpus kena pake Firefox anti-detect, tinggal tekan Tab-Spasi doang. Detail perkara butuh sesi aktif, makanya strategi scraping dirombak jadi tiga tingkat biar hasilnya lebih stabil.
#scraping#captcha#browser-automation