コンテンツにスキップ

SEC001 · 生 HTML のレンダリング

重大度: warning · カテゴリ: security

コンポーネント内のすべての {@html …} を検出します(src/**/*.svelte を静的(CLI)解析)。

{@html} は値をエスケープせずに HTML として描画します。値にユーザー入力が含まれ得てサニタイズされていない場合、クロスサイトスクリプティング(XSS)の経路になります。静的解析ではサニタイズの有無を証明できないため、すべての使用箇所をレビュー対象として提示します。

描画前にサニタイズするか、テキスト/マークアップとして描画します。

<script>
import DOMPurify from 'dompurify';
let { html } = $props();
</script>
{@html DOMPurify.sanitize(html)}