
keyFinder v2.2.1
Пассивное расширение браузера для обнаружения API-ключей и секретов для Chrome и Firefox. Более 80 шаблонов обнаружения, нулевая конфигурация.
KeyFinder
Пассивное обнаружение API-ключей и секретов для Chrome и Firefox
KeyFinder — это расширение для браузера Chrome и Firefox, которое пассивно сканирует каждую посещаемую вами страницу на предмет утечек API-ключей, токенов, секретов и учетных данных. Оно работает незаметно в фоновом режиме, не требуя никакой настройки.
Что он обнаруживает
KeyFinder поставляется с 80+ шаблонами обнаружения, охватывающими секреты из:
| Категория | Провайдеры |
|---|---|
| Облачные | AWS (ключи доступа, секретные ключи, сессионные токены, Cognito), Google Cloud (API-ключи, OAuth, сервисные аккаунты), Azure (ключи хранилища, SAS-токены, строки подключения) |
| Системы контроля версий | GitHub (PAT, OAuth, детализированные токены), GitLab (PAT, токены пайплайнов и раннеров), Bitbucket |
| Платежи | Stripe (секретные, публикуемые, ограниченные, вебхуки), PayPal Braintree, Square |
| Коммуникации | Slack (боты, пользовательские, приложения, вебхуки), Discord (боты, вебхуки), 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 Auth, присвоения API-ключей, URL с учетными данными, строки с высокой энтропией |
Как это работает
KeyFinder сканирует 10 различных поверхностей атаки на каждой странице:
- URL-адреса скриптов
src— проверяет все URL-адреса скриптов на наличие ключевых слов и токенов в параметрах запроса - Встраиваемые скрипты — сканирует содержимое тегов
<script>на наличие секретных шаблонов - Внешние скрипты — загружает и сканирует JavaScript-файлы из того же источника
- Мета-теги — проверяет теги
<meta>на предмет утечек API-ключей и токенов - Скрытые поля форм — просматривает значения
<input type="hidden"> - Атрибуты данных — сканирует атрибуты
data-*на наличие чувствительных значений - HTML-комментарии — анализирует узлы комментариев на предмет случайно зафиксированных секретов
- Параметры URL — анализирует ссылки и hrefs на наличие токенов в строках запроса
- Веб-хранилища — сканирует localStorage и sessionStorage
- Сетевые ответы — перехватывает ответы XHR и Fetch на предмет утечек
Кроме того, применяется анализ энтропии Шеннона для обнаружения случайных строк с высокой энтропией, которые могут быть undocumented форматами секретов.
Возможности
- Нулевые зависимости — чистый vanilla JavaScript, без jQuery, без внешних библиотек
- Manifest V3 — создано для современных Chrome и Firefox с архитектурой Service Worker
- Пассивное сканирование — работает автоматически при каждой загрузке страницы
- Адаптация к SPA — MutationObserver повторно сканирует динамически внедренный DOM
- Значок оповещения на вкладке — красная точка поверх значка, если на вкладке есть результаты
- Пользовательские ключевые слова — добавьте свои поисковые запросы для сканирования (валидированные, макс. 50)
- Панель управления в стиле ops-консоли — плоский терминальный интерфейс: результаты, отсортированные по серьезности, кликабельные плитки фильтрации по серьезности, тикер последних результатов и живой поиск (
/— фокус,Esc— очистить) - Быстрая обработка в один клик — нажмите на любую чип-карту совпадения, чтобы скопировать секрет, относительные метки времени с абсолютными при наведении, удаление отдельных результатов
- Экспорт — загрузка отфильтрованных результатов в JSON или CSV (с защитой от внедрения формул)
- Защищенный мост — уникальный nonce на странице для канала CustomEvent MAIN <-> ISOLATED
- Ограниченное хранилище — лимит 5000 результатов с удалением по FIFO; сериализованные записи между вкладками
- Низкое потребление ресурсов — минимальная загрузка CPU и памяти
- Все фреймы — сканирует iframe и встроенный контент
Установка
Chrome
Firefox
Из исходного кода
git clone https://github.com/momenbasel/keyFinder.git
Chrome:
- Перейдите на
chrome://extensions - Включите Режим разработчика
- Нажмите Загрузить распакованное расширение и выберите папку
keyFinder
Firefox:
- Перейдите на
about:debugging> "Этот Firefox" - Нажмите Загрузить временное дополнение
- Выберите
manifest.firefox.jsonиз папкиkeyFinder
Использование
- Установите расширение
- Серфите в интернете как обычно — KeyFinder сканирует каждую страницу в фоновом режиме
- Нажмите на значок расширения, чтобы просмотреть статистику и управлять ключевыми словами
- Нажмите Просмотреть результаты, чтобы открыть полную панель результатов
- Фильтруйте по серьезности, провайдеру или типу — или кликните по плитке серьезности для мгновенной фильтрации; нажмите
/для поиска - Экспортируйте результаты в JSON или CSV для отчетности
Добавление пользовательских ключевых слов
Нажмите на значок расширения, введите ключевое слово в поле ввода и нажмите Добавить. Ключевое слово будет использоваться для сканирования URL-адресов скриптов, встроенного кода и присвоений ключ-значение на каждой посещаемой странице.
Ключевые слова по умолчанию: key, api_key, apikey, api-key, secret, token, access_token, auth, credential, password, client_id, client_secret
Архитектура
keyFinder/
manifest.json # Chrome MV3 manifest
manifest.firefox.json # Firefox MV3 manifest
popup.html # Интерфейс всплывающего окна расширения
results.html # Панель результатов
js/
background.js # Service Worker — обработка хранилища и сообщений
patterns.js # 80+ шаблонов регулярных выражений для обнаружения секретов
content.js # Сканер страниц в ISOLATED-мире — DOM, скрипты, сеть
interceptor-loader.js # Загрузчик в ISOLATED-мире — задает nonce, внедряет перехватчик в MAIN-мир
interceptor.js # Хуки XHR/Fetch в MAIN-мире + сканирование глобальной области window
popup.js # Логика всплывающего окна
results.js # Логика панели результатов с фильтрацией и экспортом
css/
popup.css # Стили всплывающего окна
results.css # Стили панели результатов
icons/
icon16.png
icon48.png
icon128.png
scripts/
build.sh # Сборка zip-пакетов для Chrome и Firefox
Безопасность
См. SECURITY.md для модели угроз, политики раскрытия информации и известных ограничений. Примечания к релизам находятся в CHANGELOG.md.
Отказ от ответственности
Этот инструмент предназначен только для исследовательских целей в области безопасности и авторизованного тестирования. Используйте его для выявления утечек секретов в ваших собственных приложениях или во время авторизованных пентестов. Вы несете ответственность за свои действия.
Профессиональные услуги
keyFinder создан и поддерживается GreyCore Labs, зарегистрированной в США компанией в области наступательной безопасности. Хотите, чтобы тот же взгляд был обращен на ваш собственный продукт?
- Пентестинг — веб, API, мобильные, облачные. Фиксированная цена в течение 24 часов, отредактированный образец отчета по запросу.
- Бесплатное сканирование внешней поверхности атаки — одностраничный отчет за 48 часов, без обязательств.
Лицензия
MIT