GitHubは
インスタグラムだ
あなたは、クレジットカードの裏表を撮影して、
Instagramに投稿しますか?
「APIキーをコミットする」とは、まさにそういうことです。
- コードの中に `AWS_ACCESS_KEY` を直接書いている
- 「Privateリポジトリだから安全だ」と思っている
- APIキーを含んだコミットを、後から `git rm` で消したつもりになっている
- 環境変数(.env)を管理するのが面倒だと感じている
世界中のボットが、あなたの公開したキーを見つけ出し、仮想通貨マイニングを始めます。
01. 3分後の不正利用
AWSのアクセスキーを含んだコードをGitHubにプッシュしてしまったとします。
攻撃者がそれを見つけるまで、何日かかると思いますか?
答えは「数秒〜数分」です。
世界中を巡回するボット網がキーを検知し、自動的に地球の裏側で100台の最高級サーバーを起動させます。
あなたがミスに気づいてキーを無効化する頃には、既に数百万円の請求が確定しています。
たとえ非公開設定であっても。
02. 履歴からは消せない
「間違えてアップしちゃった! 消して再コミットすればいいや」
これは最悪の間違いです。
Gitは「履歴」を管理するツールです。最新のファイルから消しても、過去のコミット履歴にはキーが永遠に残ります。
一度でもGitに乗せてしまった情報は、すべて「漏洩した」とみなして、キー自体を再発行(ローテーション)する以外に助かる道はありません。
03. 環境変数を徹底する
機密情報はコードから分離し、「環境変数(.env)」や「AWS Secrets Manager」で管理するのが鉄則です。
そして、人間の注意力をアテにせず、`git-secrets` などのツールで「コミット時に自動チェック」する仕組みを入れること。
「うっかり」が「破産」に直結する時代。システムで自分を守りましょう。