サイトが配ってしまっている API キーを見つける
フロントエンドにあるものは、すべての訪問者がダウンロードします。機能を動かすために貼り付けたキーも含めて。ページと、そこで読み込まれるスクリプトから既知の秘密キー形式を探し、どこにあるかをお見せします。
無料・登録不要。基本診断は、通常のブラウザと同じリクエストしか送りません。
検出できるキー
- 重大無料診断
決済・クラウドのキー
Stripe のシークレットキーと制限付きキー、AWS アクセスキー、GitHub トークン、秘密鍵。
- 重大無料診断
AI プロバイダーのキー
OpenAI と Anthropic の API キーと管理者キー。数時間で思わぬ請求に変わるキーです。
- 重大無料診断
バックエンド・メッセージングのキー
Supabase の service_role キーと secret キー、Clerk のシークレットキー、SendGrid・Mailgun・Twilio・Slack のトークン。
- 参考無料診断
公開される前提のキー
Supabase の anon キーと publishable キー、Google のブラウザ用キー。参考として報告するので、検出されたことと、問題ない理由が分かります。
自分で確認する
見知らぬ人が手に入れるファイルは、すべてあなたのブラウザにもう届いています。手作業で検索する方法を紹介します。
ページが読み込んだものをすべて開く
公開中のサイトを開き、DevTools → Sources(Chrome、Edge)または Debugger(Firefox)を開きます。再読み込みして、すべてのスクリプトを一覧に表示させます。
すべてのファイルでキーのプレフィックスを検索する
Cmd/Ctrl + Option/Alt + F で、読み込まれたすべてのファイルを一度に検索できます。以下を一つずつ試してください。一致したら、詳しく確認する価値があります。
sk_live_ Stripe シークレットキー rk_live_ Stripe 制限付きキー sk-proj- OpenAI sk-ant- Anthropic AKIA AWS アクセスキー ghp_ GitHub トークン github_pat_ GitHub fine-grained トークン xoxb- Slack ボットトークン SG. SendGrid service_role Supabase(JWT をデコード) sb_secret_ Supabase secret キー -----BEGIN 秘密鍵
ビルドがどの変数を公開しているか確認する
フレームワークは、これらのプレフィックスが付いた変数を意図的にブラウザ向けのバンドルに入れます。どのプレフィックスの下に置いた秘密情報も公開されます。
NEXT_PUBLIC_ Next.js VITE_ Vite, Lovable, Bolt REACT_APP_ Create React App PUBLIC_ Astro, SvelteKit EXPO_PUBLIC_ Expo
見つかったら?まず無効化を
すでにコピーされたものと考えてください。プロバイダーのダッシュボードでキーを無効化またはローテーションし、呼び出しをサーバー関数に移して、再デプロイしてからもう一度検索します。
漏れたキーへの対処
まず無効化し、次に呼び出しをサーバーへ移す。レポートのプロンプトは、まさにそれをファイルごとに AI に伝えます。
shop.example の次の問題を修正してください。 1. assets/chat-91b.js に Anthropic の API キー(sk-ant-…x7Q)が含まれています。 Anthropic コンソールで無効化し、API 呼び出しをサーバーのエンドポイントに移して、キーはそこで環境変数から読み込んでください。 完了したら再診断:https://scanyoursite.app/ja?check=shop.example
キーは戻ってくる
AI の編集でキーが貼り戻されることがあります。Pro なら新しいデプロイのたびに、数分以内にキーの有無を確認します。
プランを見るよくある質問
見つけたキーは保存されますか?
いいえ。レポートではキーを伏せ字で表示します:種類、先頭と末尾の数文字、そしてファイルだけです。
コードからキーを消せば十分ですか?
いいえ。一度公開されたら、コピーされたと考えてください。プロバイダー側で無効化し、新しいキーを作成してください。
リポジトリもスキャンしますか?
いいえ。公開中のサイトです。攻撃者が見るのはそちらです。
URL を貼るだけ。1分ほどで一覧が届きます。
どの指摘にも、あなたにとっての影響と直し方が付いています。AI コーディングツールにそのまま適用させるプロンプトとしても受け取れます。
無料・登録不要。基本診断は、通常のブラウザと同じリクエストしか送りません。