# instinct: Jinja2はautoescapeを明示設定しないとHTMLテンプレートでXSSが成立する
## 根本原因
Jinja2の `autoescape` はデフォルトで無効。`.html` や `.xml` テンプレートを使う場合でも
明示的に有効化しないとXSS脆弱性が生まれる。
## ポイント
- `select_autoescape(["html", "xml"])` で明示的に有効化する:
```python
from jinja2 import select_autoescape
env = Environment(autoescape=select_autoescape(["html", "xml"]))
```
- FastAPI の `Jinja2Templates` でも同様に設定する
- `{{ variable | safe }}` フィルタは信頼できるHTMLにのみ使用する
- バイブコーディング(AI支援開発)では特にセキュリティ設定の漏れが多い
## 関連Issue
- vvv PR#298 / anime PR#310 / vvv#408
instinct: Jinja2はautoescapeを明示設定しないとHTMLテンプレートでXSSが成立する