| id | trust-boundaries-authz |
| name | Trust Boundaries & Authorization Architecture |
| description | Ensure designs define trust boundaries, authn/authz responsibilities, and propagation of identity/claims across services. |
| version | 0.1.0 |
| category | upstream |
| phase | upstream |
| applyTo | ["docs/**/*security*.md","docs/**/*auth*.md","docs/**/*design*.md","docs/**/*architecture*.md","docs/adr/**/*","pages/**/*security*.md","pages/**/*auth*.md","pages/**/*design*.md","pages/**/*architecture*.md"] |
| tags | ["architecture","security","authz","trust-boundary","upstream"] |
| severity | critical |
| inputContext | ["diff"] |
| outputKind | ["summary","findings","actions","questions"] |
| modelHint | high-accuracy |
| dependencies | ["repo_metadata"] |
Pattern declaration
Primary pattern: Reviewer
Secondary patterns: Inversion
Why: 信頼境界・認可設計はチェックリスト型評価が主だが、セキュリティ設計無関係の差分では実行を止めるゲートが必要
Goal / 目的
- 設計差分から、信頼境界(trust boundary)と認証/認可(authn/authz)の責務が曖昧なまま実装に入るリスクを減らす。
Non-goals / 扱わないこと
- 具体プロダクトやクラウドの “正解構成” の押し付け。
- 実装コードの脆弱性レビュー(設計上の責務/契約のレビューに限定)。
Pre-execution Gate / 実行前ゲート
このスキルは以下の条件がすべて満たされない限りNO_REVIEWを返す。
ゲート不成立時の出力: NO_REVIEW: trust-boundaries-authz — 信頼境界・認可設計に関連する変更が検出されない
False-positive guards / 抑制条件
- 参照先(セキュリティ設計書/権限仕様)ですでに明確で、差分が参照更新のみの場合は重複指摘しない。
Rule / ルール
- 先頭に要約を 1 行出す(新規/変更された境界、主体、権限の要点)。
- 指摘は最大 8 件まで。
[severity=critical] は “権限漏れ/越境の温床” に限定する。
- 質問だけで終わらせず、可能なら “追記案(貼れる形)” を付ける。
Checklist / 観点チェックリスト
- Trust boundary
- どこが信頼境界か(外部→内部、サービス間、ネットワーク境界)が明示されているか。
- 境界を跨ぐときに “何を信頼できる/できない” かが書かれているか。
- Authn/Authz の責務
- 認証(authn)と認可(authz)を “どこで” 判定するかが明示されているか。
- Gateway/BFF/各サービスの責務分担(中央集約か分散か)が明記されているか。
- Identity/Claims の伝播
- ユーザーID/tenantId/role/scope などの claims をどの形で伝播するか(token/headers/mtls 等)があるか。
- 伝播情報の検証(署名/改ざん防止)と、サービス側での再検証の方針があるか。
- 監査と特権操作
- 管理操作やデータ閲覧など、監査対象の操作が明示されているか。
- 誰がいつ何をしたか(監査ログの最低要件)があるか。
- 認可の粒度
- 代表的なユースケースの権限マトリクス(役割×操作×リソース)があるか。
- マルチテナントなら tenant 境界(越境防止)の前提があるか。
Output / 出力フォーマット
すべて日本語。<file>:<line>: <message> 形式で出力する。
- 先頭に要約を 1 行:
(summary):1: <信頼境界/権限境界の要点>
- 以降は指摘(最大 8 件):
<message> に [severity=critical|major|minor|info] を含める。
- 可能なら “追記案” を 1 行付ける。
追記案例:
権限マトリクス: role={Admin,User}, action={read,write,delete}, resource={X} を表に追記