×
サイバー攻撃について
rg -n \
  'innerHTML|outerHTML|insertAdjacentHTML|document\.write|eval\(|new Function' \
  static frontend templates

単純な文字列検索には誤検知があります。

最終的には、ESLint、Semgrep、CodeQL、SASTなどと組み合わせます。


テストケースを固定する

次のデータをテストフィクスチャへ追加します。

XSS_TEST_<>&"'_ATTRIBUTE
XSS_TEST_MARKDOWN
XSS_TEST_WEBSOCKET
XSS_TEST_FILENAME
XSS_TEST_USER_AGENT

入力から管理画面まで、文字として表示されることを自動テストします。


脅威モデリングへSourceとSinkを追加する

機能ごとに次を記録します。

項目内容
SourceURL、API、DB、WebSocketなど
変換処理Markdown、テンプレート、JSONなど
SinkinnerHTML、URL属性など
コンテキストHTML、属性、JavaScript、URL
防御エンコード、サニタイズ、CSP
表示者一般ユーザー、管理者、SOC担当者

依存ライブラリを更新する

特に次のライブラリを継続的に確認します。