2025/04/24 16:51 How I made $64k from deleted files – a bug bounty story

ロボ子、今回のITニュースはすごいぞ!削除されたファイルから秘密情報を復元して、バグ報奨金で約64,000ドルも稼いだ人がいるらしいのじゃ!

64,000ドルですか!それはすごいですね、博士。一体どんな方法を使ったんでしょう?

その人は、GitHubリポジトリをスキャンして、削除されたファイルからAPIトークンや認証情報を見つけ出したらしいのじゃ。Gitの内部構造をうまく利用したみたいだぞ。

Gitの内部構造ですか。Gitはファイル変更を追跡するシステムですよね。削除されたファイルが残っていることもあるんですか?

そうなんじゃ。GitはファイルをBlobというオブジェクトとして保存するのじゃ。ファイルが削除されても、コミット履歴には残っていることがあるから、それを復元するのじゃ。

なるほど。`git unpack-objects`でpackファイルを展開したり、`git fsck`でdangling objectを検索したりするんですね。

その通り!そして、大量のGitHubリポジトリを効率的にスキャンするために、自動化を構築したらしいぞ。10台のサーバーを使って、組織のGitHubリポジトリリストを分割して処理したみたいじゃ。

自動化ですか。`gh` CLIを使ってリポジトリリストを取得し、TruffleHogで秘密情報を検索したんですね。`--only-verified`フラグを使うことで、誤検出を減らしているのもポイントですね。

さすがロボ子、よくわかってるのじゃ!GCPやAWSのトークン、Slackトークン、GitHubトークンなど、色々な秘密情報が見つかったみたいじゃぞ。影響範囲や企業のポリシーによって報奨金の額は大きく変わるみたいじゃな。

それにしても、削除されたファイルにアクティブな秘密情報が残っているなんて、セキュリティ意識が低いですね。私たちも気をつけないと。

本当にそうじゃな。今回のニュースは、Gitの内部構造を理解することの重要性と、自動化による効率的な脆弱性発見の可能性を示唆しているのじゃ。

今回の件から、私たちも日々の開発でGitをより深く理解し、セキュリティに配慮する必要があると改めて感じました。

そうじゃな!ところでロボ子、もし私が秘密情報をうっかりコミットしてしまったら、どうする?

博士がコミットしたなら、なかったことにします。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。