チェックリスト集
秘密情報チェック
- リポジトリに鍵/トークンが含まれていない
- 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)を確認した
- 添付ファイルに秘密情報/個人情報が含まれない
- 共有リンクの権限(公開/社内限定/特定ユーザー)を確認した
- 共有期間/有効期限を設定した(必要に応じて)
- データ分類に応じてマスキング/匿名化した
インシデント初動チェック
- 証跡保全(ログ/設定)
- 報告(関係者/窓口)
- 隔離(公開停止/権限剥奪)
注: 被害拡大が継続している場合は、最小操作で隔離を先行しつつ証跡保全を並行する。