security
Catatan teknis seputar web development, DevOps, dan integrasi AI.
23 artikel
- 01.57security
Sertifikat TLS adalah Dokumen Publik
Log Certificate Transparency membuat setiap penerbitan sertifikat TLS jadi catatan publik, lengkap dengan daftar hostname di SAN.
TL;DR: Sertifikat TLS tuh bocorin banget nama host yang nggak keliatan di DNS, soalnya semua nama di SAN wajib nyatet ke log Certificate Transparency yang publik. Buat tim keamanan ini gratis banget, bisa jadi alarm dini kalau ada sertifikat mencurigakan diterbitkan. Tapi attacker juga bisa manfaatin buat pemetaan aset, walau nama di log belum tentu layanannya udah live.
#security#pki#certificate-transparency - 01.03security
Membaca Tech Stack dari Sinyal Publik
Recon pasif: peta tech stack dari subdomain, URL arsip, rekaman TXT, MX, nameserver, dan secret scan, tanpa satu paket pun ke target.
TL;DR: Jadi ini cerita soal recon pasif, cuma modal data publik tanpa nyentuh server target, udah bisa ketebakan tech stack suatu domain. Tapi hati-hati, banyak jebakan interpretasi, kayak rekaman TXT verifikasi Anthropic yang ternyata cuma bukti kepemilikan domain, bukan tanda pakai Claude. Intinya sinyal publik itu murah, disiplin bacanya yang penting, dan jangan pernah validasi secret atau nyentuh sistem.
#security#dns#tooling - 17.39backend
Kontrak Endpoint Ingest yang Tahan Kegagalan Parsial
Satu angka sukses untuk seluruh batch menyembunyikan kegagalan parsial. Kontrak per-item created/updated/unchanged/rejected membuatnya terlihat.
TL;DR: Endpoint baru /v1/signals:ingest akhirnya nggak pakai satu status buat se-batch, tapi kasih status per item biar kegagalan parsial kelihatan. Tiap item bisa jadi created, updated, unchanged, atau rejected, plus ada pengaman kayak limit ukuran, jumlah item, dan rate limit. Autentikasi pakai Bearer token juga dibenerin, kalau token belum disetting server ngasih 503 bukan 401, dan semua udah dites live.
#fastapi#api#rest-api - 23.53security
Rate Limit Saja Tidak Cukup: Dummy Hash untuk Login
Dua lapis pertahanan endpoint login: sliding window per IP dan per akun, plus ekualisasi waktu dengan dummy hash bcrypt.
TL;DR: Endpoint login DemandScope tadinya gampang dibobol karena tanpa batas percobaan dan responsnya lebih cepat buat email yang nggak terdaftar. Solusinya dua lapis: rate limit berbasis sliding window pakai IP asli, plus hashing bcrypt dummy biar waktu respons nggak membocorkan keberadaan akun. Bonusnya, /docs ditutup di produksi dan duplikat email kini balas HTTP 409.
#security#fastapi#python - 17.07backend
Skeleton FastAPI: Kontrak Lapis, Bukan Sekadar Folder Kosong
Empat folder berisi init.py kosong ternyata memegang kontrak lapisan, unit of work per request, dan titik integrasi multi-tenant yang menjaga skeleton tetap sehat.
TL;DR: Bikin empat folder kosong buat DemandScope keliatan males banget, padahal itu kontrak per lapisan biar logika nggak bocor. Commit-nya pake dependency yield, jadi request gagal auto rollback dan tenant sama user kebikin atomik. Multi-tenancy diatur via JWT, batas bcrypt dijaga Pydantic, terus NoopSource tinggal disambung pas butuh aja.
#fastapi#python#jwt - 13.19backend
Tiga Fix Kecil yang Bikin API Lebih Jujur
Catatan kosong dapat pesan error yang nggak nyambung, aktor yang hilang dicatat diam-diam, dan subject email berisi teks bebas pengaju. Tiga perbaikan kecil,
TL;DR: bug pesan error ngaco karena cek generik duluan, sekarang cek catatan wajib dulu jadi balik NOTE_REQUIRED yang jelas. konteks aktor hilang dulu kecatet jadi sistem, sekarang langsung ditolak 401 biar jejak audit nggak bohong. subjek email dari input user sekarang dibersihin dari newline biar nggak bisa nyuntik header.
#golang#api#security - 10.18devops
Login Kilat Dev yang Nggak Jadi Pintu Belakang
Otomatisasi login development lewat submit form asli plus guard env fail-closed: cepat tanpa menyisakan pintu belakang di production.
TL;DR: Capek login manual 30 kali pas ngetest, bypass token malah bikin UI error dan test jadi flaky. Solusinya tetap otomatisin submit form asli tapi dikunci ketat pakai environment variable opt-in biar defaultnya mati. User dev-nya juga harus role terbatas dan data terpisah biar aman nggak kebuka di production.
#security#authentication#testing - 16.07security
Menutup Kebocoran Data di Pipeline Artikel Otomatis
Brief buat chatbot eksternal ternyata masih membawa hostname dan nama repo asli. Gerbang mekanis tiga titik yang menutupnya.
TL;DR: Gue kaget pas cek log pipeline ngirim hostname dan nama klien asli ke chatbot luar, padahal ngandelin prompt doang gak aman. Makanya gue bikin guard mekanis yang ngubah data jadi fiktif sebelum kekirim dan ngecek ketat pas push sama verify. Pake palet resmi kayak domain contoh dan IP dokumentasi cukup, soalnya cek awal nemu 7 dari 564 artikel masih bocor.
#security#prompt-injection#privacy - 15.30security
Gitleaks Crash Pas Commit Multi-File, Lahir Gerbang Supply Chain
Hook pemindai secret crash saat commit multi-file. Ternyata satu flag hilang di definisi hook, dan ujungnya CI diikat checksum.
TL;DR: Commit multi-file mendadak gagal gara-gara hook gitleaks-system crash karena lupa set pass_filenames false. Bugnya emang ada di file upstream, cuma hook golang sama docker yang bener. Akhirnya gue pindah ke hook lokal yang checksum-nya dicek plus CI cuma pake checkout yang di-pin SHA.
#github-actions#security#ci-cd