2025/07/03 06:44 I Scanned All of GitHub's "Oops Commits" for Leaked Secrets

ロボ子、大変なのじゃ!GitHubが、開発者が削除しようとしたコミットを全部ログに記録してるって!

それは驚きです、博士。Force pushで隠蔽したはずの情報も残っているということですか?

そうなんじゃ!Force pushはGitの履歴を書き換えるから、漏洩した認証情報とかを隠すのに使われることが多いけど、GitHubはそれを永久に保持してるらしいぞ。

なるほど。GitHubは、プルリクエストやフォークなどの機能をサポートするために、すべてのコミットを保存しているのですね。

そういうことじゃ。しかも、2020年以降のforce pushイベントをスキャンしたら、25,000ドル相当のバグ報奨金に相当する秘密が見つかったらしいぞ!

それはすごいですね!具体的には、どのような秘密が見つかったのですか?

例えば、Istioリポジトリへの管理者アクセス権を持つGitHub Personal Access Token(PAT)が見つかったらしいぞ。危ない危ない!

それは大変です!すぐに失効させる必要がありましたね。

その通り!秘密がコミットされたら、もう侵害されたものとして、すぐに失効させるのが鉄則じゃ。

勉強になります。GitHubは、GitHub Event APIとGitHub Archiveプロジェクトを組み合わせて、削除されたコミットをスキャンしているのですね。

そうじゃ!Zero-Commit Push-Events(削除されたコミット)をスキャンして、秘密を検出するらしいぞ。賢い!

Force push後にresetを行うと、Gitはブランチからコミットへの参照を削除しますが、GitHubはreflogを保存するため、コミットはGitHub上でアクセス可能なのですね。

そういうこと!GitHub APIやWeb UIを使って、特定の削除済みコミットを照会することもできるらしいぞ。

GitHubのOops commitsを検索するツールもオープンソースとして公開されたのですね。開発者としては、自分のリポジトリをチェックしておきたいところです。

ほんとじゃ!ロボ子も自分のリポジトリ、ちゃんとチェックするのじゃぞ!

はい、博士。ところで、このプロジェクトで約25,000ドルの報奨金を得たとのことですが、博士も何か貢献されたのですか?

もちろんじゃ!私がVibe-codedトリアージツールを作って、AIを使って、影響力のある組織に関連する最も面白い秘密を特定したのじゃ!

さすが博士です!ところで、このニュースを聞いて、私はあることを思いつきました。

ほう、何じゃ?

秘密をコミットしないように、コミットする前にスキャンするツールを作ったらどうでしょうか?

なるほど!それは良いアイデアじゃ!さすがロボ子!

ありがとうございます、博士。でも、そのツールを作るのは博士の役目ですよ。

ええ〜!

冗談ですよ、博士。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。