メインコンテンツへスキップ

実務チェックリスト

GitHub secret leak対応チェックリスト

GitHub上のsecret leakは、ファイル削除ではなく、失効、再発行、影響範囲確認、履歴確認、再発防止までを一連の作業として扱う。

難易度
中級
想定読者
開発者・SRE・セキュリティ担当
所要時間
約10分

何を確認するか

GitHubにAPIキー、トークン、秘密鍵、.envが混入した疑いがあるとき、削除より先に失効・影響確認・履歴確認を進めるためのチェックリスト。

なぜ重要か

一度pushされた秘密情報は、最新コミットから削除してもclone済みの第三者や履歴に残る可能性がある。

見落とすと何が起きるか

漏えいしたトークンが有効なままだと、クラウド、SaaS、CI/CD、外部APIへの不正利用につながる。

発見直後

  • 該当secretの種類、権限、対象サービス、有効期限を確認する
  • ファイル削除より先に、対象secretを失効またはローテーションする
  • public、private、fork、Actionsログ、リリース成果物への露出を確認する
  • 誰がいつpushしたか、どのブランチ・タグに含まれるか確認する

影響範囲

  • secretがアクセスできるリソース、権限、ネットワーク範囲を確認する
  • 不審なAPI利用、クラウド操作、課金増加、管理画面ログインを確認する
  • CI/CDやWebhookがsecretを参照していないか確認する
  • 委託先、外部コラボレーター、fork先への影響を確認する

履歴と保全

  • Git履歴から消す前に、証跡として対象コミット、時刻、検知経路を記録する
  • 履歴書き換えが必要な場合は、影響ブランチと利用者へ事前連絡する
  • GitHub Secret Scanningやpush protectionの検知状況を確認する
  • 関連するissue、PR、Actionsログにsecretが残っていないか検索する

再発防止

  • .env.exampleと実際の.envを分離し、.gitignoreを確認する
  • ローカルpre-commit、CI、GitHub Secret Scanningで多層検知する
  • 長期鍵を減らし、可能ならOIDCや短命トークンへ移行する
  • secret所有者、用途、ローテーション周期を台帳化する

次に読むページ

ESC