Dokumen ini mendefinisikan kebijakan keamanan, pelaporan kerentanan, dan perlindungan ancaman keamanan siber terkini untuk proyek HTMLy CMS.
Sebagai Flat-File CMS, ancaman utama adalah manipulasi path file. HTMLy menerapkan kriteria validasi ketat pada setiap fungsi manipulasi file (delete_post, edit_content, read_file):
- Canonicalization: Memvalidasi
realpath($file)dan memastikan hasil path diawali oleh lokasi resmigetcwd() . '/content/'. - Extension Restriction: Hanya file dengan ekstensi
.mdyang diperbolehkan untuk dibaca/dihapus pada operasi konten. - Context Validation (Issue #1058): Operasi penghapusan draft mewajibkan pengecekan eksplisit bahwa file berada di dalam direktori
/draft/.
- Session Security: Cookies dikonfigurasi dengan atribut
SameSite=Strict,HttpOnly, danSecure(saat berjalan di HTTPS). Session Cookiepathdikunci ke direktori instalasi HTMLy. - REST API Authorization: API Key menggunakan format token acak ber-entropi tinggi (
htmly_live_...) yang divalidasi viahash_equals()untuk mencegah timing attacks. - Brute Force Protection: Pembatasan percobaan login (rate limiting) dengan delay eksponensial.
HTMLy secara otomatis menyertakan header keamanan berikut pada seluruh response:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:;Jika Anda menemukan kerentanan keamanan pada HTMLy, JANGAN membuat public issue di GitHub.
Silakan laporkan kerentanan secara privat melalui:
- Security Email:
security@htmly.com(atau buat Security Advisory privat di GitHub repository). - Format Laporan:
- Jenis kerentanan (misal: RCE, CSRF, Path Traversal, XSS).
- Langkah-langkah untuk mereproduksi (Proof of Concept / PoC).
- Dampak potensial terhadap sistem.
Tim pengembang akan merespons laporan dalam waktu 48 jam dan mengeluarkan patch resmi secepatnya.