Найдите API-ключи, которые ваш сайт раздаёт
Всё, что есть во фронтенде, скачивает каждый посетитель, — включая ключ, который вы вставили, чтобы заработала какая-то функция. Мы просматриваем страницу и скрипты, которые она загружает, на известные форматы секретных ключей и показываем, где они.
Бесплатно, без регистрации. Базовая проверка делает только те запросы, которые выполняет обычный браузер.
Какие ключи мы распознаём
- КритичноБесплатная проверка
Платёжные и облачные ключи
Секретные и ограниченные ключи Stripe, ключи доступа AWS, токены GitHub, приватные ключи.
- КритичноБесплатная проверка
Ключи ИИ-провайдеров
API- и admin-ключи OpenAI и Anthropic — те, что за пару часов превращаются в неожиданный счёт.
- КритичноБесплатная проверка
Ключи бэкенда и сервисов сообщений
Ключи 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_ fine-grained токен GitHub xoxb- токен бота Slack SG. SendGrid service_role Supabase (расшифруйте JWT) sb_secret_ секретный ключ Supabase -----BEGIN закрытый ключ
Проверьте, какие переменные открывает ваша сборка
Фреймворки намеренно кладут переменные с этими префиксами в бандл для браузера. Секрет под любым из них — публичный.
NEXT_PUBLIC_ Next.js VITE_ Vite, Lovable, Bolt REACT_APP_ Create React App PUBLIC_ Astro, SvelteKit EXPO_PUBLIC_ Expo
Нашли ключ? Сначала отзовите
Считайте, что его уже скопировали. Отзовите или перевыпустите ключ в панели провайдера, затем перенесите вызов в серверную функцию, задеплойте заново и поищите ещё раз.
Что делать с утёкшим ключом
Сначала отозвать, потом перенести вызов на сервер. Промпт из отчёта говорит вашему ИИ ровно это, файл за файлом.
Исправь эти проблемы на shop.example. 1. API-ключ Anthropic (sk-ant-…x7Q) лежит в assets/chat-91b.js. Отзови его в консоли Anthropic, перенеси вызов API в серверный эндпоинт и читай ключ там из переменной окружения. Когда закончишь, проверь заново: https://scanyoursite.app/ru?check=shop.example
Ключи возвращаются
Правка от ИИ может вставить ключ обратно. На Pro каждый новый деплой проверяется на ключи за несколько минут.
Посмотреть тарифыВопросы
Вы храните найденные ключи?
Нет. В отчётах ключи замаскированы: тип, несколько первых и последних символов и файл.
Достаточно удалить ключ из кода?
Нет. Раз он был публичным, считайте, что его скопировали: отзовите его у провайдера и создайте новый.
Вы сканируете мой репозиторий?
Нет — работающий сайт. Именно его видят атакующие.
Вставьте адрес. Список будет примерно через минуту.
К каждой находке — что она значит для вас и как её исправить. Или промпт, который применит ваш ИИ-инструмент для кода.
Бесплатно, без регистрации. Базовая проверка делает только те запросы, которые выполняет обычный браузер.