SEC001 · 生 HTML のレンダリング
重大度: warning · カテゴリ: security
チェック内容
Section titled “チェック内容”コンポーネント内のすべての {@html …} を検出します(src/**/*.svelte を静的(CLI)解析)。
{@html} は値をエスケープせずに HTML として描画します。値にユーザー入力が含まれ得てサニタイズされていない場合、クロスサイトスクリプティング(XSS)の経路になります。静的解析ではサニタイズの有無を証明できないため、すべての使用箇所をレビュー対象として提示します。
描画前にサニタイズするか、テキスト/マークアップとして描画します。
<script> import DOMPurify from 'dompurify'; let { html } = $props();</script>
{@html DOMPurify.sanitize(html)}