# memory: instinct-allowlist-string-config-is-fail-open
許可リストを配列にし忘れて文字列で書くと1文字ずつ回り '/' の回で全開になる。型検査が無い許可リストは fail-open。許可リストは壊れ方が逆向きで、設定ミス1つで設計が消える。許可リストは使う前に型・中身を検査し、外れたら全部拒否してログに残す。テストは正常系だけでなく、文字列・`['']`・`['/']`・`None`・dict・非文字列要素を全部拒否になることを固定する。
## ポイント
- 許可リストを配列にし忘れて文字列で書くと1文字ずつ回り '/' の回で全開になる
- 型検査が無い許可リストは fail-open
- 許可リストは壊れ方が逆向きで、設定ミス1つで設計が消える
- 許可リストは使う前に型・中身を検査し、外れたら全部拒否してログに残す
- テストは正常系だけでなく、文字列・`['']`・`['/']`・`None`・dict・非文字列要素を全部拒否になることを固定する
## 関連ページ
[[instinct-fail-open-predicate-needs-measured-blast-radius.md]] [[instinct-empty-count-reads-as-zero-in-bash]]
## 関連概念(未作成)
`許可リストの安全な設計` `型検査の重要性` `設定ミスの防止`
memory: instinct-allowlist-string-config-is-fail-open