Was ist Trusted Types Policy Generator?
Trusted Types ist eine Browser-Sicherheits-API, die DOM-basiertes XSS verhindert, indem sie typisierte Werte anstelle von Strings für gefährliche DOM-Senken wie innerHTML, eval() und script.src erzwingt. Entwickler verwenden trustedTypes.createPolicy(), um Bereinigungsregeln zu definieren, die nicht vertrauenswürdige Strings transformieren oder ablehnen, bevor sie Injektionssenken erreichen. In Kombination mit einer Content-Security-Policy-Direktive schließt Trusted Types eine große Klasse von XSS-Schwachstellen, indem nur explizit erlaubte Operationen Werte an risikoreiche DOM-Eigenschaften zuweisen können.
Kurze Antwort
Trusted Types verhindert DOM-basiertes XSS, indem Strings von gefährlichen DOM-Senken wie innerHTML und eval() blockiert werden. Verwenden Sie trustedTypes.createPolicy() mit createHTML/createScript/createScriptURL-Operationen und erzwingen Sie die Policy mit Content-Security-Policy: require-trusted-types-for 'script'. Testen Sie immer zuerst im Report-Only-Modus mit Content-Security-Policy-Report-Only, um vorhandene Funktionalität nicht zu beeinträchtigen.
Last updated: 2026-05-31
Einschränkungen
- Trusted Types erfordert Browserunterstützung in Chrome 83+, Edge 83+ und Safari 17+. Firefox unterstützt Trusted Types Stand 2026 nicht. Anwendungen müssen Firefox ohne Trusted Types Schutz durch Fallback-Verhalten für nicht unterstützte Browser behandeln.
- Trusted Types deckt nicht alle XSS-Vektoren ab - es schützt DOM-Injektionssenken (innerHTML, outerHTML, insertAdjacentHTML, eval, document.write), verhindert aber kein XSS über URL-Attribute (href, src), Event-Handler-Attribute oder CSS-basierte Injektionsvektoren.
- Die Migration großer Anwendungen zu Trusted Types erfordert erhebliche Refaktorisierung. Jede innerHTML-, insertAdjacentHTML-, outerHTML- und document.write-Nutzung muss in eine Policy eingewickelt werden, was in einer Legacy-Codebase mit umfangreicher dynamischer DOM-Manipulation hunderte von Quellcodeänderungen umfassen kann.
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
So nutzt du dieses Tool
- Konfigurieren Sie die erlaubten Operationen - createHTML, createScript, createScriptURL - und legen Sie fest, wie jede Operation Eingaben behandelt: strikte Ablehnung (alle nicht vertrauenswürdigen Eingaben blockieren), Bereinigung (durch eine Sanitizer-Funktion leiten) oder Durchreichen für vertrauenswürdige Quellen.
- Wählen Sie den CSP-Modus - Enforce (require-trusted-types-for 'script' in Content-Security-Policy) blockiert Verstöße, oder Report-Only (gleiche Direktive in Content-Security-Policy-Report-Only) protokolliert Verstöße ohne Blockierung. Beginnen Sie während der Migration immer mit dem Report-Only-Modus.
- Wählen Sie Ihre Server-Plattform - Nginx oder Apache - um die entsprechende CSP-Header-Konfiguration zu generieren, die in Ihre bestehenden Server-Blöcke oder virtuellen Hosts integriert wird.
- Stellen Sie die Policy-JavaScript-Datei und die Server-Konfiguration bereit und testen Sie Ihre Anwendung im Report-Only-Modus. Überprüfen Sie die Konsolen-Verstoßberichte und passen Sie die Policies an, bis keine Verstöße mehr auftreten, und wechseln Sie dann in den Enforce-Modus.
Wofür du es nutzen kannst
- Schützen Sie eine inhaltsreiche Webanwendung vor gespeichertem und reflektiertem XSS, indem alle HTML-Injektionspunkte durch eine Trusted Types Policy mit einer konfigurierten Sanitizer-Funktion laufen müssen.
- Migrieren Sie eine Legacy-Anwendung zu Trusted Types, indem Sie zuerst im Report-Only-Modus bereitstellen, Verstoßberichte inkrementell im gesamten Codebase beheben und dann in den vollständigen Enforce-Modus wechseln.
- Erzwingen Sie eine strenge Trusted Types Policy in Umgebungen mit vielen Drittanbieter-Skripten, in denen externe Widgets und Einbettungen dynamische Inhalte über innerHTML laden.