Поиск секретов в тексте
Сканер секретов в коде, .env или .npmrc: ключи AWS, GitHub, GitLab, Slack, NPM, Stripe, SendGrid, Mailgun, Azure, OpenAI и строки подключения.
Найдено: 0
Вставьте текст — поиск секретов пойдёт по мере ввода.
Пока текст не вставлен, сканер ничего не ищет.
Совпадений не найдено — но это не подтверждение, что секретов нет.
Проверка покрывает 19 типов: AWS Access Key ID, AWS Secret Access Key, GitHub token, GitLab token, Google API key, Slack token, Slack webhook URL, Stripe key, SendGrid API key, Mailgun API key, Azure Storage key, Azure SAS signature, NPM token, NPM-токен (.npmrc), OpenAI/Anthropic API key, JWT, Приватный ключ (PEM), Строка подключения, Секрет в .env.
Не ищет сканер:
- Twilio Account SID (AC…) и API-key SID (SK…) — публичные идентификаторы, а не пароль
- Stripe pk_ — публикуемый ключ, его утечка безопасна
- значения без опознаваемого префикса, в том числе зашифрованные блобы и секрет, разбитый переносом строки
Что ищется и как показывается находка
Что ищется. 19 типов: AWS Access Key ID, AWS Secret Access Key, GitHub token, GitLab token, Google API key, Slack token, Slack webhook URL, Stripe key, SendGrid API key, Mailgun API key, Azure Storage key, Azure SAS signature, NPM token, NPM-токен (.npmrc), OpenAI/Anthropic API key, JWT, Приватный ключ (PEM), Строка подключения, Секрет в .env. Значение показывается замаскированным: у токенов длиннее 16 символов видны первые и последние четыре, у коротких — только точки. Строка без совпадений не означает, что секретов нет: не ищутся публичные идентификаторы вроде Twilio Account SID, значения без префикса и секреты, разбитые переносом строки.
Готовые примеры
- Проверить .env на секретыПример .env с фейковыми значениями: сканер находит пароль базы, ключ OpenAI, токен GitHub и JWT-секрет по номерам строк.
- Найти AWS-ключи в конфигеПрофиль aws-cli с фейковыми Access Key ID (AKIA...) и Secret Access Key из 40 символов: обе строки подсвечиваются с позициями.
- Проверить строки подключенияpostgres://, redis:// и mongodb+srv:// с логином и паролем в userinfo — типичные утечки из конфигов и логов приложений.
- Найти приватный ключ и JWTPEM-блок OPENSSH PRIVATE KEY и токен JWT (eyJ...) в куске дампа: сканер показывает тип, строку и замаскированное значение.
Что это и как пользоваться
Сканер ищет в тексте 19 типов секретов по характерным префиксам и форматам: ключи AWS (AKIA…), токены GitHub и GitLab, Google API, Slack и его вебхуки, Stripe, SendGrid, Mailgun, Azure вместе с SAS-подписью, NPM и .npmrc, OpenAI и Anthropic, JWT, PEM-ключи, строки подключения и присваивания в .env.
Порядок проверок задан по приоритету: специфичные токены идут первыми, общие присваивания из .env — последними, а совпадение, накрывающее уже найденный фрагмент, отбрасывается. Так один и тот же ключ не попадает в отчёт дважды.
Поиск идёт по мере ввода, поэтому вставлять файл целиком не обязательно: достаточно фрагмента, в котором подозреваете утечку.
Найденное значение маскируется: в отчёте видно тип, место и часть строки, но не весь секрет целиком — скриншот результата не выдаёт ключ.
Отдельным списком перечислено, что сканер не ищет: Twilio SID, публичные pk_-ключи Stripe и значения без опознаваемого префикса. Пустой результат сформулирован как «совпадений не найдено», а не «секретов нет».
Когда пригодится
- Проверить .env и конфиги перед коммитом, чтобы не опубликовать живой ключ.
- Прогнать фрагмент лога или дампа, который собираетесь передать коллеге.
- Понять, как выглядит токен конкретного сервиса, чтобы узнавать его в ревью.
- Найти место утечки в большом файле: отчёт указывает позицию, а не только факт.
- Проверить вывод конфигурации перед публикацией в тикете: там часто остаются токены из окружения.
- Проверить README и примеры конфигов: в них часто оставляют «примерные» ключи, неотличимые от настоящих.
Чего инструмент не делает
- Поиск шаблонный: нестандартный секрет без префикса пройдёт мимо, а похожая на токен строка даст ложное срабатывание.
- Найденный ключ не проверяется на действительность: запросов к провайдеру страница не делает.
- Ключи не отзываются и не меняются: обнаружив утечку, секрет нужно перевыпустить у провайдера вручную.
- Репозиторий целиком не сканируется: проверяется только вставленный текст, до 200 000 знаков.
- Совпадений за раз не больше 500: в очень «грязном» файле отчёт обрывается, и остаток придётся проверять частями.
Примеры
- Вход
текст с ключом AKIA…- Выход
найдено: AWS Access Key ID — строка и позиция, значение замаскировано- Вход
файл .env с DB_PASSWORD=…- Выход
найдено: секрет в .env — имя переменной видно, значение скрыто