security
Catatan teknis seputar web development, DevOps, dan integrasi AI.
52 artikel
- 14.28ai
Konfigurasi MCP: Scope User atau Ikut Repo Proyek
Lokasi konfigurasi MCP menentukan keamanan: scope proyek ikut ditinjau tim dan Workspace Trust, scope user tetap pribadi namun luput review.
#mcp#vscode#security - 04.42backend
IP Klien yang Bisa Dipercaya di Balik Proxy
Header X-Forwarded-For bisa diisi sembarang oleh klien. Begini cara memilih alamat yang benar-benar bisa dipercaya di balik Cloudflare dan nginx.
TL;DR: Gara-gara serangan tebak password, endpoint login dikasih rate limiter, tapi awalnya salah baca IP dari entri pertama X-Forwarded-For yang gampang dipalsuin penyerang. Sekarang urutan resolusinya diubah: CF-Connecting-IP dulu, lanjut entri terakhir XFF, X-Real-IP, lalu RemoteAddr. Rate limitnya juga per akun (IP plus email), bales 429 dengan Retry-After, plus ada pembersihan memori biar nggak bocor.
#go#security#nginx - 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