# セキュリティ知識

## 脅威モデルの判断材料

セキュリティ境界とは、誰が値を制御できるか、誰が観測できるか、どの権限が値を解釈または実行するかが変わる点である。定石や API 名を finding とみなさず、次の関係を判断材料にする。

| 条件 | 立証する境界・影響 |
|------|--------------------|
| trust または権限が異なる主体間を値が移動する | 制御主体、受け取る権限、移動後に得られる能力を特定する |
| 値が code、command、query、path、URL、その他の命令として解釈される | interpreter、命令として制御される部分、実行時の権限を特定する |
| 出力に保護対象の data が含まれる | data、出力を観測できる各主体、権限外の観測者を特定する |
| 認証、認可、scope、sandbox、credential が変わる | 変更前後で可能になる action と保護資産を比較する |
| 制御が存在しない、または削除される | 不在だけで影響を仮定せず、その制御が実在する境界を守っていたか確認する |

## 優先順位解決・オーバーライド・trust boundary

複数の設定・定義ソース、documented な優先順位、意図的な override、拡張点は、それ自体では脆弱性ではない。低信頼側が documented なモデルを超える能力を得るかが判断材料になる。

| 条件 | 示唆される境界・影響 |
|------|----------------------|
| 同じ主体・同じ trust level 内で documented な優先順位に従う | 新しい主体や権限境界は示されない |
| 明示的な selector が同じカスタマイズ契約で許可された定義を選ぶ | 選択だけでは権限拡大や data access を示さない |
| 高い優先順位の source が documented な scope 内で採用される | 優先順位だけで影響とせず、trust level と能力を比較する |
| 低信頼の source が高信頼の設定を override できる | code 実行、高信頼資産の変更、data access、認可回避へ到達するか追跡する |
| confirmation が削除される | 明示選択で意図が確立しているか、confirmation が trust level を分ける唯一の制御だったか確認する |

優先順位や override の懸念では、低信頼の主体と制御 source、保護資産、変更後に初めて可能になること、documented な契約を超える理由を特定する。
