Force Push Scannerは、GitHubの強制プッシュイベント後に削除されたコミットにうっかり残されたシークレットを特定する攻撃的セキュリティツールです。Truffle Securityによって開発され、GitHub Archiveのログを活用して、開発者のワークフロー内で一時的に露出した情報を明らかにします。

概要
GitHubの強制プッシュは、ユーザーがブランチの履歴を上書きできる機能で、APIキーや認証情報、トークンなどの機密情報を削除するためによく使われます。しかし、意図的にデータを消去しても、アーティファクトは宙ぶらりんコミットとして一時的にGitHubのインフラ上に残り、アクセス可能なままです。Force Push Scannerはこれらのイベントをリアルタイムで監視し、Gitコミットの差分を抽出してシークレットをスキャンし、完全に削除される前に漏洩を報告します。
このツールは、すべての公開GitHubイベントをアーカイブするプロジェクト「GitHub Archive」と連携しています。プッシュイベントを解析し、特にforce
タイプのプッシュをスキャン、その後コミット内容を取得して正規表現やエントロピーに基づくシークレット検出を行います。
特徴
- GitHubの強制プッシュイベントをリアルタイムで監視
- 認証情報を見つけるための正規表現パターンとエントロピーヒューリスティック
- 簡単にデプロイできるDockerコンテナ、または直接Pythonで実行可能
- Slackやメールによるアラート通知の設定が可能
- さらなる監査やレッドチーム報告のためのログイベント記録
ユースケース
レッドチームは、ペネトレーションテストやレッドチーム演習中にターゲットリポジトリを密かに監視するためにForce Push Scannerを展開できます。これにより、防御側が気付く前に漏洩した認証情報を特定できます。セキュリティチームも、監視をシミュレートして開発者の運用ミスを検出することで、開発者の衛生状態をテストできます。
すべての公開強制プッシュを追跡するため、このツールはオープンソースインテリジェンス(OSINT)にも利用でき、シークレットを漏洩する著名なターゲットを特定するのに役立ちます。これはOSINTや脅威リサーチャーに有用です。
レッドチームでの有用性
Force Push Scannerは、公開された廃棄履歴から認証情報を収集することで、ポストエクスプロイトのワークフローを強化します。これらのシークレットはクラウドアクセスやトークン再利用、横移動の経路につながる可能性があります。既存の偵察フレームワーク(例:Caracal)による隠密な永続化や、Force Push Scannerによる認証情報収集と組み合わせることで、レッドチーム・ブルーチーム双方の可視性を拡大します。
他ツールとの比較
GitLeaksやTruffleHogのようなツールが現行リポジトリをスキャンするのに対し、Force Push Scannerは防御側がほとんど監視しない一時的な履歴をターゲットとします。その履歴には、直前にコミットされて後から削除されたばかりのシークレットが含まれている可能性があります。このリアルタイムのスカベンジングは、従来のシークレットスキャンワークフローの隙間を埋めます。
検知・回避・緩和策
- 履歴の書き換えによるシークレット漏洩を防ぐため、保護されたブランチでの強制プッシュを無効化する
- Gitフックによるプッシュ前のシークレットスキャンを実装する
- 強制プッシュの監査ログを保持し、ピアレビューを徹底する
- 専用のシークレット管理ソリューションを利用し、誤ってコミットされるリスクを低減する
デプロイ方法
Dockerでデプロイする場合は、以下を使用します:
docker pull trufflesecurity/force–push–scanner docker run –e GITHUB_TOKEN=your–token trufflesecurity/force–push–scanner |
またはPythonでインストールする場合:
pip install force–push–scanner force–push–scanner —token your–token —slack–webhook <URL> |
最終分析
Force Push Scannerは、一般的な開発者の習慣を偵察の機会に変える、特化型の攻撃的ツールです。一時的なコミット履歴がレッドチームにとって高価値なインテリジェンスを含むことを強調しています。リアルタイムのシークレット発見をワークフローに統合することで、チームは攻撃者の活動をシミュレートしつつ、開発パイプラインの強化も図れます。
さらに詳しく知りたい方やForce Push Scannerのダウンロードはこちら:https://github.com/trufflesecurity/force-push-scanner
読者とのやりとり