×
サイバー攻撃について
rg -n --hidden \
  -g '!venv/**' \
  -g '!static/vendor/**' \
  '\|safe|mark_safe|autoescape off|SafeString'

正常例

検索結果なし

または、固定HTMLだけを扱う限定的な処理としてレビュー済みです。

異常例

templates/chat/message.html:18:{{ message.body|safe }}
chat/services.py:92:return mark_safe(user_message)

判断方法

利用者入力、APIレスポンス、DB保存値をsafemark_safeへ渡している場合は、優先的に修正します。

Django公式ドキュメントも、safemark_safeautoescape offの利用には特に注意するよう説明しています。


3. WebSocket受信値の描画を検索する

目的

WebSocketメッセージが直接HTMLへ渡されていないか確認します。

実行場所

フロントエンドのソースディレクトリで実行します。

rg -n \
  'event\.data|message\.data|socket\.onmessage|addEventListener\(["'\'']message' \
  static templates frontend