開発者セキュリティ
GitHub secret leak 初動判断
架空の通知とcommit diffから、秘密情報漏えい時に最初に行うべき判断を学ぶ演習です。
- 難易度
- 初級
- 所要時間
- 約10分
- カテゴリ
- 開発者セキュリティ
- 保存
- 未完了
学ぶこと
- secret leak検知後の初動順序を理解する
- revokeとrotateの違いを説明できる
- 影響範囲確認と監査ログ確認を初動に含める
前提知識
- GitHubの基本
- APIキーやトークンの役割
シナリオ
開発チームの学習用リポジトリで、Secret Scanningの通知が届きました。通知には架空トークンの検出が示されています。あなたは初動対応の優先順位を判断します。
与えられた素材
通知: Secret Scanning detected a token-like string
場所: docs/example-config.md
差分:
+ API_TOKEN=[REDACTED_FAKE_TOKEN_FOR_TRAINING]
+ ENDPOINT=https://api.training.invalid
メモ: 値は学習用に伏せられており、実在の認証情報ではありません。 実在サービスのトークンや形式に似せすぎないよう、値は伏せています。
フラグを入力する
最初に行うべき対応の組み合わせを示すフラグを入力してください。形式: CYBERLENS{...}
入力値は小文字化し、空白を除去してSHA-256で照合します。入力内容は保存されません。
Hints
段階ヒント
- Hint 1
漏えいした可能性がある値は、削除より先に無効化を考えます。
- Hint 2
履歴から消しても、すでに取得された可能性は消えません。
- Hint 3
失効、再発行、利用ログ確認をセットで考えます。
Solved
解説
正解は、該当トークンを失効し、必要な値をローテーションし、利用ログや影響範囲を確認する初動です。コミットから文字列を削除するだけでは、すでに取得された可能性や利用された痕跡を解消できません。実務では、権限範囲、最後の利用時刻、関連システム、CI/CD設定、監査ログを確認し、再発防止としてPush Protectionやレビュー手順を整えます。
防御・実務での確認ポイント
- 検知後は値を報告書に貼らず、識別子と影響範囲だけを記録する
- 削除より先に失効・ローテーションを行う
- 監査ログ、CI/CD実行履歴、関連APIの利用状況を確認する
- 再発防止としてSecret ScanningとPush Protectionを有効化する