サイトが配ってしまっている API キーを見つける

フロントエンドにあるものは、すべての訪問者がダウンロードします。機能を動かすために貼り付けたキーも含めて。ページと、そこで読み込まれるスクリプトから既知の秘密キー形式を探し、どこにあるかをお見せします。

無料・登録不要。基本診断は、通常のブラウザと同じリクエストしか送りません。

完全なレポート例を見る

検出できるキー

自分で確認する

見知らぬ人が手に入れるファイルは、すべてあなたのブラウザにもう届いています。手作業で検索する方法を紹介します。

  1. ページが読み込んだものをすべて開く

    公開中のサイトを開き、DevTools → Sources(Chrome、Edge)または Debugger(Firefox)を開きます。再読み込みして、すべてのスクリプトを一覧に表示させます。

  2. すべてのファイルでキーのプレフィックスを検索する

    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    秘密鍵
  3. ビルドがどの変数を公開しているか確認する

    フレームワークは、これらのプレフィックスが付いた変数を意図的にブラウザ向けのバンドルに入れます。どのプレフィックスの下に置いた秘密情報も公開されます。

    NEXT_PUBLIC_   Next.js
    VITE_          Vite, Lovable, Bolt
    REACT_APP_     Create React App
    PUBLIC_        Astro, SvelteKit
    EXPO_PUBLIC_   Expo
  4. 見つかったら?まず無効化を

    すでにコピーされたものと考えてください。プロバイダーのダッシュボードでキーを無効化またはローテーションし、呼び出しをサーバー関数に移して、再デプロイしてからもう一度検索します。

漏れたキーへの対処

まず無効化し、次に呼び出しをサーバーへ移す。レポートのプロンプトは、まさにそれをファイルごとに 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 コーディングツールにそのまま適用させるプロンプトとしても受け取れます。

無料・登録不要。基本診断は、通常のブラウザと同じリクエストしか送りません。