SearchPhone собирает цифровой след по номеру телефона через открытые API

16 авг 2026
1,975
266
14
1 месяц

Недавно наткнулся на утилиту SearchPhone от исследователя Виктора Банкаяна (Victor Bancayan). Инструмент автоматизирует рутинный сбор открытых данных (OSINT) по телефонным номерам. Обычно для нормальной проверки приходится открывать пять вкладок в браузере, запускать поиск по доркам в Google, проверять утекшие базы и смотреть привязки в коде на GitHub. Здесь всю эту рутину запаковали в один Python-скрипт с параллельным опросом сервисов.

SearchPhone Demo

Что умеет утилита

Скрипт принимает номер телефона в международном формате и запускает асинхронные запросы к нескольким внешним источникам. На выходе формируется консольный отчет и файл с результатами.

Вот основные источники и функции, задействованные в проверке:

  • Валидация и парсинг формата через библиотеку phonenumbers с определением страны и таймзоны
  • Поиск упоминаний в поисковой выдаче Google через SerpAPI и прямые запросы к DuckDuckGo
  • Проверка публичных репозиториев GitHub на случай, если номер забыли в конфигах или коммитах
  • Поиск постов и комментариев на Reddit
  • Определение сотового оператора и геолокации через Numverify API
  • Проверка компрометации в логах стилеров через бесплатный API Hudson Rock Cavalier

Особенно интересен последний пункт. Интеграция с базой Hudson Rock помогает сразу увидеть, фигурировал ли номер телефона на зараженных инфостилерами машинах. При этом для Hudson Rock даже не требуется API-ключ.

Реклама

SearchPhone Update

Настройка и запуск

Для работы понадобится Python 3.8 или новее. Скрипт использует несколько внешних сервисов, поэтому перед запуском нужно получить бесплатные токены.

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

git clone https://github.com/HackUnderway/SearchPhone.git
cd SearchPhone
pip install -r requirements.txt

Дальше создаем конфигурационный файл из шаблона:

cp example.env .env

В .env нужно прописать свои ключи:

NUMVERIFY_KEY=ваш_ключ_numverify SERPAPI_KEY=ваш_ключ_serpapi GITHUB_TOKEN=ваш_персональный_токен_github

У бесплатных тарифов есть лимиты, но для периодических проверок их хватает:

  • Numverify дает 100 запросов в месяц.
  • SerpAPI выделяет 250 поисковых запросов в месяц.
  • GitHub Personal Access Token дает лимит до 5000 запросов в час.
  • Hudson Rock работает без ключей и ограничений по подписке.

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

python3 search_phone.py

Программа выполнит поиск параллельно, выведет цветной лог в терминал и сохранит результаты в формате JSON и PDF.

Где это пригодится на практике

Инструмент создавался под задачи практической безопасности и расследований. В повседневной работе он закрывает сразу несколько сценариев.

Во-первых, это аудит собственных контактов или контактов сотрудников компании. Полезно вовремя обнаружить, что чей-то корпоративный или личный номер утек в публичный коммит на GitHub или засветился в логах вредоносного софта.

Во-вторых, утилита ускоряет первичный сбор данных при реагировании на инциденты и расследовании фишинговых атак, когда в распоряжении аналитика есть только входящий номер.

В-третьих, проект можно разобрать на части как пример работы с asyncio и асинхронными HTTP-клиентами для одновременного опроса разнородных API.

Итоги

SearchPhone не делает ничего сверхъестественного, чего нельзя было бы сделать руками в браузере. Но он берет на себя рутину: форматирует вывод, собирает данные за секунды и аккуратно складывает отчеты в PDF и JSON.

Если вам периодически приходится проверять номера в рамках OSINT или проверки безопасности, скрипт сбережет пару десятков минут в день. Забрать проект можно из репозитория HackUnderway/SearchPhone.

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