Исследователи изучили популярный датасет Common Crawl, который используют для обучения больших языковых моделей, и нашли в нём около 12 тыс. рабочих API-ключей и учётных данных. Чаще всего встречаются ключи API Mailchimp.

Данные из набора Common Crawl используют многие крупные IT-компании, например, DeepSeek. Сам датасет включает в себя снапшоты веб-сайтов. Исследователи изначально подозревали, что в таких данных может находиться чувствительная информация, но надеялись на внимательность разработчиков датасета.
Авторы исследования получили набор Common Crawl за декабрь 2024 года, включающий в себя 400 ТБ данных с 2,67 млрд веб-сайтов. Всё это отсканировали с помощью TruffleHog. В датасете нашлось почти 12 тыс. рабочих API-ключей, а всего они встречались на 2,76 млн веб-страниц. Также исследователи отмечают высокий коэффициент дублирования чувствительных данных: 63% API-ключей повторялись на нескольких страницах. Например, один из ключей WalkScore API встречается более 57 тыс. раз на 1,8 тыс. поддоменов.
Как проходило исследование
Датасет Common Crawl состоит из 90 тыс. файлов в формате WARC (Web ARCHive). Для того чтобы их просканировать, исследователи развернули 20 серверов с 16 CPU и 32 ГБ ОЗУ каждый. Обработка данных состояла из следующих шагов:
загрузка файла WARC (примерно 4 ГБ);
распаковка данных и разделение с помощью
awk
по заголовкам записей WARC;запуск TruffleHog на извлечённых данных:
trufflehog filesystem --only-verified --json --no-update
.сохранение результатов в базу.

При этом исследователи отмечают, что TruffleHog автоматически проверяет валидность API-ключа. Поэтому в базе данных оказались только рабочие ключи.

Советы для разработчиков
Авторы исследования рекомендуют внимательно следить за API-ключами в коде проектов. Чувствительные данные не должны храниться напрямую в коде. Пользователям Copilot и Cursor рекомендуют добавить следующую инструкцию для нейроагента:
You are a security engineer with 30+ years of secure coding experience.
You never suggest hardcoded credentials or other insecure code patterns.
При этом исследователи соглашаются, что это очень давняя проблема, с которой довольно сложно бороться. Несмотря на требования безопасности, разработчики всё равно хардкодят чувствительные данные в исходный код проектов.