
keyFinder v2.2.1
ChromeおよびFirefox向けのパッシブなAPIキーとシークレット発見ブラウザ拡張機能。80以上の検出パターン、設定不要。
KeyFinder
Chrome と Firefox 向けの受動的 API キー・シークレット発見ツール
KeyFinder は Chrome と Firefox 向けのブラウザ拡張機能で、アクセスしたすべてのページで漏洩した API キー、トークン、シークレット、認証情報を受動的にスキャンします。設定不要でバックグラウンドで静かに動作します。
検出対象
KeyFinder には 80 以上の検出パターン が組み込まれており、以下のカテゴリのシークレットをカバーしています:
| カテゴリ | プロバイダ |
|---|---|
| クラウド | AWS (アクセスキー、シークレットキー、セッショントークン、Cognito)、Google Cloud (API キー、OAuth、サービスアカウント)、Azure (ストレージキー、SAS トークン、接続文字列) |
| ソース管理 | GitHub (PAT、OAuth、Fine-grained トークン)、GitLab (PAT、パイプライン、ランナートークン)、Bitbucket |
| 決済 | Stripe (シークレット、公開可能、制限付き、Webhook)、PayPal Braintree、Square |
| コミュニケーション | Slack (ボット、ユーザー、アプリアクセストークン、Webhook)、Discord (ボットトークン、Webhook)、Telegram、Twilio、SendGrid |
| AI / ML | OpenAI、Anthropic、HuggingFace、Replicate |
| データベース | MongoDB、PostgreSQL、MySQL、Redis の接続文字列 |
| SaaS | Shopify、Sentry、New Relic、PlanetScale、Linear、Notion、Datadog、Algolia、Mapbox |
| インフラ | HashiCorp Vault、Terraform、Docker Hub、NPM、Cloudflare、DigitalOcean、Doppler、Pulumi、Grafana |
| 暗号 | RSA、EC、OpenSSH、PGP、DSA 秘密鍵 |
| 汎用 | JWT、Bearer トークン、Basic 認証、API キーの代入、資格情報を含む URL、高エントロピー文字列 |
動作の仕組み
KeyFinder は各ページで 10 の異なる攻撃面 をスキャンします:
- スクリプト
srcURL - すべてのスクリプトのソース URL を、クエリパラメータ内のキーワードやトークンについてチェック - インラインスクリプト -
<script>タグの内容をシークレットパターンでスキャン - 外部スクリプト - 同一オリジンの JavaScript ファイルを取得してスキャン
- メタタグ -
<meta>タグ内の漏洩 API キーやトークンをチェック - 隠しフォームフィールド -
<input type="hidden">の値を検査 - データ属性 -
data-*属性を機密値についてスキャン - HTML コメント - 誤ってコミットされたシークレットをコメントノードから解析
- URL パラメータ - リンクや href のクエリ文字列内のトークンを分析
- Web ストレージ - localStorage と sessionStorage をスキャン
- ネットワーク応答 - XHR と Fetch の応答を傍受して漏洩したシークレットを検出
さらに、シャノンエントロピー分析 が適用され、文書化されていないシークレット形式である可能性のあるランダムな高エントロピー文字列を検出します。
機能
- 依存関係ゼロ - バニラ JavaScript のみ、jQuery や外部ライブラリは不要
- Manifest V3 - Service Worker アーキテクチャを採用した最新の Chrome および Firefox 向け設計
- 受動的スキャン - すべてのページ読み込み時に自動的に実行
- SPA 対応 - MutationObserver により動的に挿入された DOM も再スキャン
- タブごとのアラートバッジ - 発見があるタブに赤いドットのアイコン表示
- カスタムキーワード - 独自の検索語句を追加してスキャン(最大 50 個、検証済み)
- 運用コンソールダッシュボード - フラットなターミナル UI : 重要度順に並べ替えられた発見、クリックでフィルタリング可能な重要度タイル、最新発見のティッカー、ライブ検索(
/でフォーカス、Escでクリア) - ワンクリックトリアージ - 一致したチップをクリックしてシークレットをコピー、相対タイムスタンプ(ホバーで絶対時刻表示)、発見ごとの削除
- エクスポート - フィルタリングした発見を JSON または CSV でダウンロード(数式インジェクション対策付き)
- 強化されたブリッジ - MAIN <-> ISOLATED 間の CustomEvent チャネルにページごとのノンスを使用
- 保存容量制限 - 最大 5000 件、FIFO 方式で追い出し、タブ間でシリアル化された書き込み
- 低フットプリント - CPU およびメモリ使用量を最小限に抑える
- 全フレーム - iframe や埋め込みコンテンツもスキャン
インストール
Chrome
Firefox
ソースからビルド
git clone https://github.com/momenbasel/keyFinder.git
Chrome:
chrome://extensionsにアクセス- デベロッパーモード を有効化
- パッケージ化されていない拡張機能を読み込む をクリックし、
keyFinderフォルダを選択
Firefox:
about:debugging> "この Firefox" にアクセス- 一時的なアドオンを読み込む をクリック
keyFinderフォルダ内のmanifest.firefox.jsonを選択
使い方
- 拡張機能をインストール
- 通常通りブラウジング - KeyFinder がバックグラウンドですべてのページをスキャン
- 拡張機能のアイコンをクリック して統計情報やキーワード管理を行う
- View Findings をクリックして結果のダッシュボードを開く
- 重要度、プロバイダ、タイプでフィルタリング - 重要度タイルをクリックして即座にフィルタ、
/キーで検索 - 発見を JSON または CSV でエクスポート してレポート作成
カスタムキーワードの追加
拡張機能のアイコンをクリックし、入力フィールドにキーワードを入力して Add をクリックします。このキーワードは、アクセスしたすべてのページのスクリプト URL、インラインコード、キーと値の代入のスキャンに使用されます。
デフォルトのキーワード: key, api_key, apikey, api-key, secret, token, access_token, auth, credential, password, client_id, client_secret
アーキテクチャ
keyFinder/
manifest.json # Chrome MV3 マニフェスト
manifest.firefox.json # Firefox MV3 マニフェスト
popup.html # 拡張機能ポップアップ UI
results.html # 発見ダッシュボード
js/
background.js # Service Worker - ストレージとメッセージ処理
patterns.js # 80 以上のシークレット検出正規表現パターン
content.js # ISOLATED ワールドのページスキャナー - DOM、スクリプト、ネットワーク
interceptor-loader.js # ISOLATED ローダー - ノンス設定、MAIN ワールドのインターセプター注入
interceptor.js # MAIN ワールドの XHR/Fetch フック + window グローバルスキャン
popup.js # ポップアップロジック
results.js # フィルタリングとエクスポートを含むダッシュボードロジック
css/
popup.css # ポップアップスタイル
results.css # ダッシュボードスタイル
icons/
icon16.png
icon48.png
icon128.png
scripts/
build.sh # Chrome および Firefox の zip パッケージをビルド
セキュリティ
脅威モデル、開示ポリシー、既知の制限については SECURITY.md を参照してください。リリースノートは CHANGELOG.md にあります。
免責事項
このツールはセキュリティ研究および許可されたテストのみを目的としています。自身のアプリケーションや許可されたペネトレーションテスト中に漏洩したシークレットを特定するために使用してください。すべての行動に対する責任は利用者にあります。
プロフェッショナルサービス
KeyFinder は、米国法人のオフェンシブセキュリティ企業 GreyCore Labs によって構築・メンテナンスされています。あなたの製品にも同じ注目を向けてみませんか?
- ペネトレーションテスト - Web、API、モバイル、クラウド対応。24 時間以内に固定見積もり、サンプルレポート(編集済み)をリクエストに応じて提供。
- 無料の外部攻撃面スキャン - 48 時間で 1 ページのレポート、無条件。
ライセンス
MIT