---
generated_at: 2026-02-19 12:00:00
metrics:
  claims_total: 28
  claims_with_evidence: 26
  claims_without_evidence: 2
confidence_derived: 0.93
---

# 根拠レポート：セキュリティ設計書

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.93**
  - 根拠あり：26 / 28、根拠なし：2
- 優先レビュー（高）
  1. **セッション管理**：SQL Server の具体的なセッション管理仕様の確認が必要
  2. **監査ログの保持期間**：実際の運用ポリシーとの整合性確認が必要

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `sp_Blitz.sql:260-435` - 権限チェック機構
- E-02: `sp_Blitz.sql:1233-1237` - QUOTENAME によるサニタイズ
- E-03: `sp_BlitzFirst.sql:234-236` - sp_executesql によるパラメータ化
- E-04: `sp_Blitz.sql:10688` - セキュリティ情報の出力制御
- E-05: `Documentation/sp_Blitz_Checks_by_Priority.md` - CheckID 一覧
- E-06: `sp_Blitz.sql:2351-2416` - 設定デフォルト値定義
- E-07: `sp_Blitz.sql:5082-5153` - Dangerous Service Account チェック
- E-08: `sp_BlitzFirst.sql:43` - EXECUTE AS CALLER 定義
- E-09: `sp_Blitz.sql:3325` - Linked Server 警告
- E-10: `Deprecated/sp_AllNightLog.sql:121-123` - バックアップ暗号化オプション
- E-11: `sp_BlitzWho.sql:130-133` - QUOTENAME 使用例
- E-12: `sp_BlitzBackups.sql:271-619` - sp_executesql 使用例
- E-13: `sp_Blitz.sql:787-889` - 権限に基づくチェックスキップ
- E-14: `README.md:42-46` - サポート対象プラットフォーム

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | SQL Server の認証機構に依存 | E-01, E-14 | ○ |
| C-02 | sysadmin でない場合は権限を動的にチェック | E-01 | ○ |
| C-03 | fn_my_permissions を使用して権限確認 | E-01 | ○ |
| C-04 | VIEW SERVER STATE がない場合は実行中断 | E-01 | ○ |
| C-05 | ALTER TRACE がない場合はトレースチェックをスキップ | E-01, E-13 | ○ |
| C-06 | xp_cmdshell の EXECUTE 権限がない場合はスキップ | E-01, E-13 | ○ |
| C-07 | @db_perms で各データベースの SELECT 権限を確認 | E-01 | ○ |
| C-08 | QUOTENAME によるサニタイズを実装 | E-02, E-11 | ○ |
| C-09 | sp_executesql によるパラメータ化を実装 | E-03, E-12 | ○ |
| C-10 | MARKDOWN 出力時にセキュリティ情報を除外 | E-04 | ○ |
| C-11 | バックアップ暗号化オプション対応 | E-10 | ○ |
| C-12 | CheckID 258-261 は Dangerous Service Account | E-05, E-07 | ○ |
| C-13 | CheckID 4 は sysadmin 検出 | E-05 | ○ |
| C-14 | CheckID 5 は securityadmin 検出 | E-05 | ○ |
| C-15 | CheckID 6 は Jobs Owned By Users 検出 | E-05 | ○ |
| C-16 | CheckID 55 は Database Owner <> SA 検出 | E-05 | ○ |
| C-17 | CheckID 104 は CONTROL SERVER 権限検出 | E-05 | ○ |
| C-18 | CheckID 137 は TRUSTWORTHY 検出 | E-05 | ○ |
| C-19 | xp_cmdshell デフォルト値は 0 | E-06 | ○ |
| C-20 | clr enabled デフォルト値は 0 | E-06 | ○ |
| C-21 | clr strict security デフォルト値は 1 | E-06 | ○ |
| C-22 | cross db ownership chaining デフォルト値は 0 | E-06 | ○ |
| C-23 | sp_BlitzFirst は EXECUTE AS CALLER で定義 | E-08 | ○ |
| C-24 | Linked Server のセキュリティ警告を出力 | E-09 | ○ |
| C-25 | セッション管理は SQL Server 依存 | **根拠なし** | △ |
| C-26 | @OutputTableRetentionDays デフォルトは 7 日 | E-03 | ○ |
| C-27 | CheckID 2301 は Invalid Active Directory Accounts | E-05 | ○ |
| C-28 | 監査ログの具体的な保持期間ポリシー | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- **セッション管理の詳細仕様**
  - First Responder Kit はステートレスなストアドプロシージャのため、セッション管理は SQL Server 側の仕様に完全依存
  - 候補：SQL Server 公式ドキュメント / sys.dm_exec_sessions DMV

- **監査ログ保持期間の運用ポリシー**
  - コード上は @OutputTableRetentionDays パラメータで制御可能だが、組織の運用ポリシーとの整合性は要確認
  - 候補：組織のセキュリティポリシー文書 / 運用マニュアル

## 5) リスクフラグ（レビュー観点）
- **0 (低リスク)**: SQLインジェクション対策 - QUOTENAME と sp_executesql の使用が確認できる
- **0 (低リスク)**: 権限チェック機構 - 明確な実装が確認できる
- **1 (中リスク)**: xp_cmdshell 使用 - CheckID 260, 261 で使用するが、権限チェック後に実行
- **0 (低リスク)**: セキュリティ情報の出力制御 - MARKDOWN 出力時の除外が確認できる

## 6) レビュアーチェックリスト（最小）
- [ ] C-25（セッション管理）について、SQL Server の公式ドキュメントと照合
- [ ] C-28（監査ログ保持期間）について、組織のセキュリティポリシーとの整合性を確認
- [ ] xp_cmdshell を使用するチェック（CheckID 260, 261）の妥当性を確認
- [ ] QUOTENAME/sp_executesql の使用箇所が網羅的かコードレビュー
- [ ] Linked Server のセキュリティ警告メッセージの適切性を確認
