チェックリスト集

Phase 4 横断レビュー

  • OWASP / NIST / 個人情報保護委員会 / MITRE などの時点依存参照は、確認日と版を PR body または Issue に記録した
  • OAuth / OIDC / JWT / Cookie / CSRF / CORS の実装判断は、基礎説明にとどめ、必要に応じて 実践 認証認可システム設計 のレビューゲートへ接続した
  • SameSite=None を使う場合は、クロスサイト利用が必要な理由と Secure の併用を確認した
  • ペネトレーションテストや脆弱性検証に関する記述は、明示許可、スコープ、停止条件、証跡保管、防御・教育目的の範囲を確認した
  • GitHub Copilot review の本文、inline commentsuggestion を全件確認し、未解決 review thread 0 件を確認した

秘密情報チェック

  • リポジトリに鍵 / トークンが含まれていない
  • Issue / PR / ログ出力に秘密情報を貼っていない
  • CI 出力に秘密情報が出ない
  • リーク時の失効 / ローテーション手順がある

秘密情報が漏れた疑い(最小初動)

  • 失効 / ローテーション(漏れた可能性のある鍵 / トークンを失効し、再発行する)
  • 隔離(公開停止 / 権限剥奪 / アクセスキー無効化など、影響拡大を止める)
  • 証跡保全(ログ / 設定 / アクセス履歴を保全し、改変を避ける)
  • 報告 / エスカレーション(所定の窓口 / 関係者へ連絡し、判断を集約する)

関連: インシデント対応 基礎

ログ出力(禁止例 / マスキング例)

禁止例(そのまま出さない)

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 / セッション設定で SecureHttpOnlySameSite を確認した
  • 退職、異動、漏えい疑い、端末紛失時のセッション / トークン失効手順がある

データ分類チェック

  • データ分類が定義されている
  • 秘密情報・個人情報・要配慮個人情報等の機微度の高い情報が区別されている
  • 保存場所とアクセス制御が一致している
  • 保持期間と削除手順がある
  • バックアップ / エクスポート先と削除手順がある
  • AI / 外部サービス投入可否が分類ごとに決まっている
  • 生成AI、翻訳、ログ解析、チケット管理、スクリーンショット共有を外部共有として扱っている
  • 保存期間、学習利用、削除方法、委託 / 越境移転、利用目的を確認している

AI / 外部サービス投入前チェック

  • 投入する情報の分類(公開 / 社外秘 / 秘密情報 / 個人情報 / 要配慮個人情報等の機微度の高い情報)を確認した
  • 秘密情報、個人情報、本番ログをそのまま投入しない
  • 必要な場合はマスキング、匿名化、要約、サンプル化を行った
  • 利用規約、保存期間、学習利用有無、削除方法を確認した
  • 組織の承認または契約上の根拠を確認した
  • 出力に秘密情報・個人情報が含まれないことを確認した

リリース前チェック

  • 公開設定(バケット / リポジトリ / 共有設定)を確認
  • アクセス制御(IAM / ACL)を確認
  • ログ / 監査ログが有効

外部共有前チェック(メール / チャット / チケット / 共有リンク)

  • 宛先(To / CC / BCC)を確認した
  • 添付ファイルに秘密情報 / 個人情報が含まれない
  • 共有リンクの権限(公開 / 社内限定 / 特定ユーザー)を確認した
  • 共有期間 / 有効期限を設定した(必要に応じて)
  • データ分類に応じてマスキング / 匿名化した

インシデント初動チェック

  • 証跡保全(ログ / 設定)
  • 報告(関係者 / 窓口)
  • 隔離(公開停止 / 権限剥奪)
  • 情報分類(秘密情報 / 個人情報 / 要配慮個人情報等の機微度の高い情報など)を記録した
  • 影響範囲(対象者、期間、公開範囲、二次被害)を記録した
  • 報告 / 通知判断の担当(法務 / プライバシー / セキュリティ窓口など)を決めた
  • 再発防止を Issue / PR / Runbook / チェックリスト更新に接続した
  • 個人情報保護委員会、契約、社内規程の最新情報で速報・確報・本人通知の要否と期限を確認した

注: 被害拡大が継続している場合は、最小操作で隔離を先行しつつ証跡保全を並行する。