チェックリスト集
Phase 4 横断レビュー
- OWASP / NIST / 個人情報保護委員会 / MITRE などの時点依存参照は、確認日と版を PR body または Issue に記録した
- OAuth / OIDC / JWT / Cookie / CSRF / CORS の実装判断は、基礎説明にとどめ、必要に応じて 実践 認証認可システム設計 のレビューゲートへ接続した
SameSite=Noneを使う場合は、クロスサイト利用が必要な理由とSecureの併用を確認した- ペネトレーションテストや脆弱性検証に関する記述は、明示許可、スコープ、停止条件、証跡保管、防御・教育目的の範囲を確認した
GitHub Copilot reviewの本文、inline comment、suggestionを全件確認し、未解決review thread0 件を確認した
秘密情報チェック
- リポジトリに鍵 / トークンが含まれていない
- Issue / PR / ログ出力に秘密情報を貼っていない
- CI 出力に秘密情報が出ない
- リーク時の失効 / ローテーション手順がある
秘密情報が漏れた疑い(最小初動)
- 失効 / ローテーション(漏れた可能性のある鍵 / トークンを失効し、再発行する)
- 隔離(公開停止 / 権限剥奪 / アクセスキー無効化など、影響拡大を止める)
- 証跡保全(ログ / 設定 / アクセス履歴を保全し、改変を避ける)
- 報告 / エスカレーション(所定の窓口 / 関係者へ連絡し、判断を集約する)
関連: インシデント対応 基礎
ログ出力(禁止例 / マスキング例)
HTTPヘッダ(Authorization / Cookie)
禁止例(そのまま出さない)
Authorization: Bearer <token>
Cookie: session=<session_id>
password=plain-text
email=user@example.com
推奨例(マスキング / 匿名化)
Authorization: [REDACTED]
Cookie: [REDACTED]
password=[REDACTED]
email=[REDACTED]
- 調査に必要な識別子(例:
request-id)は残し、秘密情報 / 個人情報は必ず伏字にする
Query string(URLパラメータ)
禁止例(そのまま出さない)
GET /reset-password?token=<token>&email=user@example.com
推奨例(マスキング / 匿名化)
GET /reset-password?token=[REDACTED]&email=[REDACTED] # request-id=<uuid>
JSON payload
禁止例(そのまま出さない)
{"email":"user@example.com","password":"plain-text","refresh_token":"<token>"}
推奨例(マスキング / 匿名化)
{"email":"[REDACTED]","password":"[REDACTED]","refresh_token":"[REDACTED]","request_id":"<uuid>"}
- 秘密情報 / 個人情報がログに出ないことをテスト / レビューで確認した
権限チェック
- 最小権限(必要最小限のロール)
- 定期棚卸し(退職 / 異動を含む)
- 監査ログが取得できる
- 管理者権限、Breakglass、期限付き権限は承認者、期限、証跡を残している
認証・セッションチェック
- 管理者権限、外部公開サービス、個人情報を扱うシステムで MFA を必須化している
- フィッシング耐性の高い MFA / passkey の採用可否を確認した
- MFA リセット、端末紛失、アカウント復旧の本人確認と承認経路を決めている
- Cookie / セッション設定で
Secure、HttpOnly、SameSiteを確認した - 退職、異動、漏えい疑い、端末紛失時のセッション / トークン失効手順がある
データ分類チェック
- データ分類が定義されている
- 秘密情報・個人情報・要配慮個人情報等の機微度の高い情報が区別されている
- 保存場所とアクセス制御が一致している
- 保持期間と削除手順がある
- バックアップ / エクスポート先と削除手順がある
- AI / 外部サービス投入可否が分類ごとに決まっている
- 生成AI、翻訳、ログ解析、チケット管理、スクリーンショット共有を外部共有として扱っている
- 保存期間、学習利用、削除方法、委託 / 越境移転、利用目的を確認している
AI / 外部サービス投入前チェック
- 投入する情報の分類(公開 / 社外秘 / 秘密情報 / 個人情報 / 要配慮個人情報等の機微度の高い情報)を確認した
- 秘密情報、個人情報、本番ログをそのまま投入しない
- 必要な場合はマスキング、匿名化、要約、サンプル化を行った
- 利用規約、保存期間、学習利用有無、削除方法を確認した
- 組織の承認または契約上の根拠を確認した
- 出力に秘密情報・個人情報が含まれないことを確認した
リリース前チェック
- 公開設定(バケット / リポジトリ / 共有設定)を確認
- アクセス制御(IAM / ACL)を確認
- ログ / 監査ログが有効
外部共有前チェック(メール / チャット / チケット / 共有リンク)
- 宛先(To / CC / BCC)を確認した
- 添付ファイルに秘密情報 / 個人情報が含まれない
- 共有リンクの権限(公開 / 社内限定 / 特定ユーザー)を確認した
- 共有期間 / 有効期限を設定した(必要に応じて)
- データ分類に応じてマスキング / 匿名化した
インシデント初動チェック
- 証跡保全(ログ / 設定)
- 報告(関係者 / 窓口)
- 隔離(公開停止 / 権限剥奪)
- 情報分類(秘密情報 / 個人情報 / 要配慮個人情報等の機微度の高い情報など)を記録した
- 影響範囲(対象者、期間、公開範囲、二次被害)を記録した
- 報告 / 通知判断の担当(法務 / プライバシー / セキュリティ窓口など)を決めた
- 再発防止を Issue / PR / Runbook / チェックリスト更新に接続した
- 個人情報保護委員会、契約、社内規程の最新情報で速報・確報・本人通知の要否と期限を確認した
注: 被害拡大が継続している場合は、最小操作で隔離を先行しつつ証跡保全を並行する。