Найдите 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_   fine-grained токен GitHub
    xoxb-         токен бота Slack
    SG.           SendGrid
    service_role  Supabase (расшифруйте JWT)
    sb_secret_    секретный ключ Supabase
    -----BEGIN    закрытый ключ
  3. Проверьте, какие переменные открывает ваша сборка

    Фреймворки намеренно кладут переменные с этими префиксами в бандл для браузера. Секрет под любым из них — публичный.

    NEXT_PUBLIC_   Next.js
    VITE_          Vite, Lovable, Bolt
    REACT_APP_     Create React App
    PUBLIC_        Astro, SvelteKit
    EXPO_PUBLIC_   Expo
  4. Нашли ключ? Сначала отзовите

    Считайте, что его уже скопировали. Отзовите или перевыпустите ключ в панели провайдера, затем перенесите вызов в серверную функцию, задеплойте заново и поищите ещё раз.

Что делать с утёкшим ключом

Сначала отозвать, потом перенести вызов на сервер. Промпт из отчёта говорит вашему ИИ ровно это, файл за файлом.

Исправь эти проблемы на shop.example.

1. API-ключ Anthropic (sk-ant-…x7Q) лежит в assets/chat-91b.js.
   Отзови его в консоли Anthropic, перенеси вызов API в серверный эндпоинт и читай ключ там из переменной окружения.

Когда закончишь, проверь заново: https://scanyoursite.app/ru?check=shop.example

Ключи возвращаются

Правка от ИИ может вставить ключ обратно. На Pro каждый новый деплой проверяется на ключи за несколько минут.

Посмотреть тарифы

Вопросы

Вы храните найденные ключи?

Нет. В отчётах ключи замаскированы: тип, несколько первых и последних символов и файл.

Достаточно удалить ключ из кода?

Нет. Раз он был публичным, считайте, что его скопировали: отзовите его у провайдера и создайте новый.

Вы сканируете мой репозиторий?

Нет — работающий сайт. Именно его видят атакующие.

Для вайбкодеров

Вставьте адрес. Список будет примерно через минуту.

К каждой находке — что она значит для вас и как её исправить. Или промпт, который применит ваш ИИ-инструмент для кода.

Бесплатно, без регистрации. Базовая проверка делает только те запросы, которые выполняет обычный браузер.