GitHub private repositoryに機密情報を保存して大丈夫?Secrets・APIキー・個人情報の注意点

結論から言うと、private repositoryでも機密情報をコードに直接入れるのは避けます。Privateは公開範囲を絞る仕組みですが、collaborator、Actions、Apps、ログ、AI作業、履歴から情報が見える可能性は残ります。

最初に押さえる結論

Privateは公開範囲を絞る設定であり、機密情報の保管場所そのものではありません。誰が見えるか、どの連携が読むか、差分やログに何が出るかを分けて確認します。

入れない方がよい情報

  • APIキー、access token、password、秘密鍵、.env、顧客情報、個人情報、社内資料は本文やコードに直接置かない方が安全です。
  • 実際の値をIssue、PR説明、Actions log、作業レポート、スクリーンショットに載せないようにします。
  • 一度commitした値は履歴に残る可能性があるため、削除だけで終わらせず、停止や再発行も検討します。

GitHub Secretsとコード直書きの違い

  • GitHub SecretsはActionsなどで使う値をコード本文から分けて扱うための仕組みです。
  • ただし、workflow内で明示的に使えば読み出されるため、使うjob、environment、organization設定を確認します。
  • Secretsを使っていても、ログ出力やecho、デバッグ表示で値が漏れないようにします。

gitignoreで防ぐこと

  • .env、ローカル設定、生成物、秘密鍵ファイルなどは.gitignoreで追跡対象から外します。
  • すでに追跡済みのファイルは、gitignoreに書くだけでは履歴から消えません。
  • CodexやCopilotなどAI作業に渡す時も、対象ファイルと除外ファイルを明確にします。

漏れた可能性がある時の初動

  • 値を無効化または再発行します。
  • 影響範囲を確認し、Actions log、PR diff、公開URL、外部連携を見ます。
  • 履歴の扱いは慎重に判断し、必要なら管理者やセキュリティ担当に相談します。

関連ページ

確認した公式情報