- Регистрация
- 5 Апр 2025
- Сообщения
- 99
- Реакции
- 2
- Баллы
- 8
Как найти открытые API токены в JavaScript-файлах: пошаговое руководство и автоматизация поиска
В современных реалиях безопасности утечка API токена — это один из самых опасных, но при этом часто недооцениваемых векторов атак. API токены, случайно оставленные в открытом виде в JavaScript-файлах, становятся прямым приглашением для злоумышленников, позволяя им получить неавторизованный доступ к конфиденциальным данным, облачным сервисам, внутренним системам или платным API.
Что такое открытый API токен и чем он опасен?
API токен — это уникальный ключ, который используется для аутентификации в API. Он может предоставлять доступ к таким ресурсам, как AWS, Google Cloud, GitHub, платежные шлюзы, внутренние CRM-системы и другим важным сервисам. Если токен опубликован случайно в JavaScript-файле на фронтенде или в общедоступном репозитории, его может найти любой человек — или бот — и использовать для проведения атак.
Последствия могут быть разрушительными:
Прямые финансовые убытки;
Утечка конфиденциальной информации;
Потеря доверия клиентов и деловой репутации;
Возможность полного контроля над частью инфраструктуры компании.
В этой статье рассмотрим, как можно обнаруживать такие токены вручную и автоматически, с помощью набора утилит.
---
Метод 1: Поиск с помощью Google Dork'ов
Поисковые операторы Google позволяют находить открытые .js-файлы, содержащие потенциально чувствительные данные. Один из простых dork-запросов может выглядеть так:
site:example.com filetype:js apiKey
Вы можете изменять ключевые слова в зависимости от вашей цели:
Authorization
Bearer
access_token
client_secret
private_key
Фантазия и знание структуры API — ваши главные союзники при составлении запросов.
---
Метод 2: Поиск по публичным репозиториям GitHub
GitHub — кладезь случайно опубликованных токенов и секретов. Поиск можно осуществлять с использованием ключевых слов, например:
"apiKey"
"Authorization"
"Bearer"
"secret"
"token"
Также GitHub позволяет использовать продвинутые фильтры по типу файлов, организациям, языкам программирования и даже времени публикации. Это расширяет возможности целенаправленного поиска.
---
Метод 3: Ручное изучение JavaScript-файлов
При тестировании веб-приложений вручную рекомендуется обращать внимание на все .js-файлы, загружаемые на странице. Они могут содержать:
Жестко заданные API ключи;
Адреса endpoint'ов с параметрами авторизации;
Вызовы сторонних сервисов.
Этот способ трудоемкий, но зачастую именно ручной анализ позволяет обнаружить специфические ошибки, которые автоматизация может упустить. Тем не менее, существует способ упростить этот процесс.
---
Метод 4: Автоматизация поиска с помощью утилит (Subfinder, Katana, httpx, Mantra)
Для автоматического обнаружения JavaScript-файлов и анализа их содержимого на наличие токенов можно использовать следующую связку инструментов:
Что понадобится:
1. Subfinder — для поиска поддоменов;
2. httpx — для проверки, какие поддомены активны;
3. Katana — для сканирования сайтов и поиска .js-файлов;
4. Mantra — для анализа JavaScript и извлечения потенциальных ключей.
---
Пошаговая инструкция:
Шаг 1: Сбор поддоменов целевого домена
subfinder -d redacted.com -o redact.txt
Шаг 2: Фильтрация активных поддоменов
httpx -dL redact.txt -o livered.txt
Шаг 3: Поиск JavaScript-файлов на активных доменах
katana -u livered.txt | grep ".js$" | tee redactjs
Шаг 4: Анализ JS-файлов с помощью Mantra
cat redactjs | mantra
Результат: Вы получите список файлов и строк, в которых могут содержаться API ключи или иная чувствительная информация. Даже если токенов не будет найдено, вполне возможно обнаружение других утечек — от логов до URL'ов внутренних API.
---
Итоги и рекомендации
Открытые API токены — это реальная угроза безопасности веб-приложений. Причины их появления — недостаточный контроль, ошибки в CI/CD, отсутствие проверки кода перед деплоем. Регулярный аудит JavaScript-файлов и использование описанных методов помогут существенно сократить поверхность атаки.
Что следует предпринять разработчикам и DevSecOps-инженерам:
Всегда проверяйте, не публикуются ли токены на фронтенде;
Используйте автоматические средства поиска и анализа (например, GitHub Secret Scanning, TruffleHog);
Настройте мониторинг и алерты на случай утечки;
При возможности реализуйте ротацию токенов и минимизируйте их права.
---
Внедрив данный подход в свою практику, вы сможете повысить уровень защищенности приложений и свести к минимуму риски, связанные с несанкционированным доступом.
В современных реалиях безопасности утечка API токена — это один из самых опасных, но при этом часто недооцениваемых векторов атак. API токены, случайно оставленные в открытом виде в JavaScript-файлах, становятся прямым приглашением для злоумышленников, позволяя им получить неавторизованный доступ к конфиденциальным данным, облачным сервисам, внутренним системам или платным API.
Что такое открытый API токен и чем он опасен?
API токен — это уникальный ключ, который используется для аутентификации в API. Он может предоставлять доступ к таким ресурсам, как AWS, Google Cloud, GitHub, платежные шлюзы, внутренние CRM-системы и другим важным сервисам. Если токен опубликован случайно в JavaScript-файле на фронтенде или в общедоступном репозитории, его может найти любой человек — или бот — и использовать для проведения атак.
Последствия могут быть разрушительными:
Прямые финансовые убытки;
Утечка конфиденциальной информации;
Потеря доверия клиентов и деловой репутации;
Возможность полного контроля над частью инфраструктуры компании.
В этой статье рассмотрим, как можно обнаруживать такие токены вручную и автоматически, с помощью набора утилит.
---
Метод 1: Поиск с помощью Google Dork'ов
Поисковые операторы Google позволяют находить открытые .js-файлы, содержащие потенциально чувствительные данные. Один из простых dork-запросов может выглядеть так:
site:example.com filetype:js apiKey
Вы можете изменять ключевые слова в зависимости от вашей цели:
Authorization
Bearer
access_token
client_secret
private_key
Фантазия и знание структуры API — ваши главные союзники при составлении запросов.
---
Метод 2: Поиск по публичным репозиториям GitHub
GitHub — кладезь случайно опубликованных токенов и секретов. Поиск можно осуществлять с использованием ключевых слов, например:
"apiKey"
"Authorization"
"Bearer"
"secret"
"token"
Также GitHub позволяет использовать продвинутые фильтры по типу файлов, организациям, языкам программирования и даже времени публикации. Это расширяет возможности целенаправленного поиска.
---
Метод 3: Ручное изучение JavaScript-файлов
При тестировании веб-приложений вручную рекомендуется обращать внимание на все .js-файлы, загружаемые на странице. Они могут содержать:
Жестко заданные API ключи;
Адреса endpoint'ов с параметрами авторизации;
Вызовы сторонних сервисов.
Этот способ трудоемкий, но зачастую именно ручной анализ позволяет обнаружить специфические ошибки, которые автоматизация может упустить. Тем не менее, существует способ упростить этот процесс.
---
Метод 4: Автоматизация поиска с помощью утилит (Subfinder, Katana, httpx, Mantra)
Для автоматического обнаружения JavaScript-файлов и анализа их содержимого на наличие токенов можно использовать следующую связку инструментов:
Что понадобится:
1. Subfinder — для поиска поддоменов;
2. httpx — для проверки, какие поддомены активны;
3. Katana — для сканирования сайтов и поиска .js-файлов;
4. Mantra — для анализа JavaScript и извлечения потенциальных ключей.
---
Пошаговая инструкция:
Шаг 1: Сбор поддоменов целевого домена
subfinder -d redacted.com -o redact.txt
Шаг 2: Фильтрация активных поддоменов
httpx -dL redact.txt -o livered.txt
Шаг 3: Поиск JavaScript-файлов на активных доменах
katana -u livered.txt | grep ".js$" | tee redactjs
Шаг 4: Анализ JS-файлов с помощью Mantra
cat redactjs | mantra
Результат: Вы получите список файлов и строк, в которых могут содержаться API ключи или иная чувствительная информация. Даже если токенов не будет найдено, вполне возможно обнаружение других утечек — от логов до URL'ов внутренних API.
---
Итоги и рекомендации
Открытые API токены — это реальная угроза безопасности веб-приложений. Причины их появления — недостаточный контроль, ошибки в CI/CD, отсутствие проверки кода перед деплоем. Регулярный аудит JavaScript-файлов и использование описанных методов помогут существенно сократить поверхность атаки.
Что следует предпринять разработчикам и DevSecOps-инженерам:
Всегда проверяйте, не публикуются ли токены на фронтенде;
Используйте автоматические средства поиска и анализа (например, GitHub Secret Scanning, TruffleHog);
Настройте мониторинг и алерты на случай утечки;
При возможности реализуйте ротацию токенов и минимизируйте их права.
---
Внедрив данный подход в свою практику, вы сможете повысить уровень защищенности приложений и свести к минимуму риски, связанные с несанкционированным доступом.

