Как я отдал Google Dorking на откуп нейросетевым агентам

16 авг 2026
324
52
4
1 месяц

Каждый, кто хоть раз участвовал в bug bounty или проводил аудит безопасности собственных веб-сервисов, знает эту рутину. Сидишь в браузере, методично подставляешь в поиск операторы вроде site:example.com ext:env или filetype:log, ловишь бесконечные капчи от Google, копируешь урлы и руками перебираешь сотни страниц поисковой выдачи в поисках забытых конфигов.

Работа полезная, но чудовищно занудная. В процессе 95% времени уходит на отсеивание информационного шума вроде старых PDF-инструкций, где просто встретилось слово «password». На днях наткнулся на компактный репозиторий DorkAgent, автор которого попытался автоматизировать весь этот пайплайн с помощью связки поискового API и языковых моделей.

banner

Что под капотом

Проект написан на Python и решает две конкретные боли: капчи поисковиков и ручной анализ результатов выдачи.

Вместо прямого парсинга HTML, который Google банит через три запроса, DorkAgent ходит в выдачу через Serper API. Это сервис, отдающий чистый JSON со страницами поиска. А вот полученную пачку ссылок и сниппетов уже анализирует LLM-агент. Причем агент не просто ищет совпадение по тексту, а оценивает контекст: есть ли в найденном файле признаки реальной утечки ключей доступа, забытые панели администратора или параметры для инъекций.

Архитектура опирается на библиотеку CrewAI. Задачи и роли агентов разбиты по модулям, а структурированные данные на выходе валидируются через схемы Pydantic.

Реклама

С какими моделями работает

В ранних версиях скрипт был жестко завязан на одну модель, но к версии 1.4 проект переписали. Теперь поддерживается выбор провайдера:

  • OpenAI (модели семейства GPT-4)
  • Anthropic Claude
  • Google Gemini (включая Gemini Flash 2.0, у которого есть бесплатный тир с щедрыми лимитами)

Автор добавил возможность гибридной связки, когда поисковые задачи и финальный синтез отчета можно распределять между разными сетками. Если не хочется тратить баланс на платных API, связка Serper + Gemini Flash обходится буквально в копейки на первых порах.

Как запустить

Входной порог утилиты сведен к минимуму. При первом запуске скрипт сам проверяет окружение и подтягивает недостающие пакеты, после чего в интерактивном режиме спрашивает ключи и сохраняет их в локальный .env.

Клонируем репозиторий и запускаем основной скрипт:

git clone https://github.com/yee-yore/DorkAgent.git
cd DorkAgent
python dorkagent.py

Для работы обязательно понадобится токен от serper.dev и хотя бы один ключ LLM (например, GEMINI_API_KEY или OPENAI_API_KEY).

Что умеет на практике

После старта агент запускает набор типовых дорков по целевому домену. В чейнджлоге видно, как автор оттачивал промпты и список запросов: убрал мусорные дорки на поиск документов со словом «Confidential», добавил шаблоны для поиска панелей IIS Windows Server и конфигов.

В процессе выполнения агент формирует структурированный отчет:

  • Классифицирует найденные утечки по уровню риска.
  • Выделяет уязвимые параметры и потенциальные пейлоады в URL.
  • Сохраняет результат в отдельный файл с таймстемпом вида YYMMDD_HHMMSS.

Настройки поиска можно крутить под себя. Например, в serper_dev_tool.py регулируется глубина выборки и временной диапазон индексации:

# Поиск за последний месяц (qdr:m) или неделю (qdr:w)
payload = json.dumps({
    "q": search_query, 
    "num": self.n_results, 
    "tbs": "qdr:m"
})

Это удобно, если вы мониторите появление новых поддоменов или свежих утечек у конкретной компании за последние пару недель.

Ложка дегтя

Репозиторий пока небольшой, у него всего около трехсот звезд. Документация в README скромная, часть нюансов приходится смотреть прямо в исходниках tasks.py и agents.py.

Если вы захотите добавить свои специфические дорки, готового конфиг-файла в yaml или json нет. Придется лезть в код функции task() и прописывать шаблоны запросов вручную. Также нужно помнить про лимиты Serper: бесплатного пула запросов хватит на тесты, но для глубокого сканирования широкого скоупа придется пополнять счет.

Стоит ли пробовать

DorkAgent пригодится в двух случаях. Во-первых, если вы занимаетесь OSINT или пентестом и устали вручную прокликивать поисковую выдачу. Во-вторых, если вы хотите посмотреть на живой пример того, как CrewAI применяется для прикладных задач безопасности, а не для абстрактного написания статей или пересказа текстов.

Код чистый, разбит на понятные модули config.py, agents.py, tasks.py и utils.py, так что его легко форкнуть и адаптировать под свои пайплайны разведки.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.