チェックリスト集

秘密情報チェック

  • リポジトリに鍵/トークンが含まれていない
  • 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>"}
  • 秘密情報/個人情報がログに出ないことをテスト/レビューで確認した

権限チェック

  • 最小権限(必要最小限のロール)
  • 定期棚卸し(退職/異動を含む)
  • 監査ログが取得できる

データ分類チェック

  • データ分類(公開/社外秘/個人情報)が定義されている
  • 保存場所とアクセス制御が一致している
  • 保持期間と削除手順がある

リリース前チェック

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

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

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

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

  • 証跡保全(ログ/設定)
  • 報告(関係者/窓口)
  • 隔離(公開停止/権限剥奪)

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