Digital Transformation

Trusted Types API

Vito Atmo
Vito Atmo·27 Mei 2026·0 kali dibaca·2 min baca

TL;DR: Trusted Types API adalah API browser yang memaksa developer membungkus string HTML, URL, atau script ke dalam objek "Trusted Type" sebelum dimasukkan ke DOM. Ini menutup celah DOM XSS yang sering luput dari Content Security Policy biasa. Diaktifkan via header CSP require-trusted-types-for 'script'.

Apa itu Trusted Types API?

Trusted Types API adalah lapisan pertahanan keamanan front-end yang mencegah injeksi script berbahaya lewat sink DOM seperti element.innerHTML, eval(), atau document.write(). Saat diaktifkan, browser menolak semua string mentah dan hanya menerima objek hasil sanitasi yang dibungkus policy bernama.

Bayangkan halaman komentar yang menampilkan input pengguna lewat innerHTML. Tanpa Trusted Types, payload <img src=x onerror=alert(1)> akan dieksekusi. Dengan Trusted Types, browser memblokir assignment sampai string itu lewat policy sanitasi yang sudah didaftarkan. Lihat juga Content Security Policy sebagai pelengkap.

Cara Kerja Trusted Types

KomponenFungsi
PolicyFungsi sanitasi yang didaftarkan via trustedTypes.createPolicy()
TrustedHTML, TrustedScript, TrustedScriptURLObjek hasil policy yang aman dipakai di sink
CSP headerrequire-trusted-types-for 'script' mengaktifkan enforcement
Default policyFallback policy untuk handle string mentah dari library pihak ketiga

Praktik standar di industri menyarankan satu policy ketat per modul, bukan satu policy global. Library populer seperti DOMPurify sudah punya integrasi resmi.

Kenapa Penting?

DOM-based XSS adalah celah paling sering luput di audit keamanan, terutama di Single Page Application yang sering manipulasi DOM dengan data eksternal. Dari pengalaman Vito Atmo menerapkan ini di proyek LMS Atmo, jumlah finding XSS di audit Acunetix turun dari belasan ke nol setelah Trusted Types aktif penuh. Dokumentasi resmi tersedia di web.dev Trusted Types.

Pertanyaan Umum

Apakah Trusted Types menggantikan Content Security Policy?

Tidak. Trusted Types adalah pelengkap. CSP biasa memblokir loading script eksternal yang tidak dipercaya. Trusted Types melindungi sink DOM dari injeksi inline. Pasang keduanya bersama lewat Content Security Policy header.

Apakah semua browser mendukung?

Per April 2026, Chrome dan Edge mendukung penuh, Firefox dan Safari masih partial. Mulai pakai di report-only mode dulu, lalu pindah ke enforcing setelah temuan policy violation nol selama 14 hari.

Bagikan