Анализатор шаблонов OSINT
Инструмент для автоматизации OSINT-расследований по множеству векторов идентификации (номера телефонов, имена пользователей и в будущем поддержка email), предназначенный для извлечения структурированных данных и обеспечения обнаружения шаблонов и корреляционного анализа.
Возможности
Телефонный OSINT
- Поиск номеров телефонов на множестве платформ
- Поддержка нескольких форматов номеров (+34, 0034, варианты с пробелами)
- Пользовательские поисковые запросы (связанные с эскортом, доменно-специфичные)
- Определение типа объявления:
- Проверка наличия номера телефона (
phone_match)
- Система классификации уверенности:
high → подтвержденное совпадение с сильными сигналами
medium → частичное совпадение или контекстная релевантность
low → вероятный шум или общие объявления
Имя пользователя OSINT
- Поиск имен пользователей на множестве платформ:
- социальные сети
- мессенджеры
- платформы эскорта
- форумы
- платформы для взрослых контента
- Классификация платформ:
telegram
social
dating
sugar
adult_creator
escort_sites
forums
- Снижение шума (фильтрация общих страниц)
- Обнаружение ссылок, похожих на профили
- Сводка присутствия на платформах (✔ / ✘)
Общее
- Использует
ddgs для более надежных результатов поиска
- Экспорт результатов в JSON
- Дедупликация результатов
- Генерация множественных запросов для более широкого охвата
- Система оценки для приоритизации релевантных результатов
- Разработан для рабочих процессов корреляции и обнаружения шаблонов
Использование
Поиск по номеру телефона
python search_phone.py --phone 660XXXXXXX
Поиск по имени пользователя
python search_username.py --username exampleuser
Пример вывода (телефон)
[
{
"query": "\"660XXXXXX\"",
"title": "Example listing",
"link": "https://example.com/ad.html",
"domain": "example.com",
"type": "individual",
"score": 4,
"phone_match": true,
"confidence": "high"
}
]
Пример вывода (имя пользователя)
{
"username": "exampleuser",
"platforms_detected": {
"telegram": false,
"social": true,
"dating": false,
"sugar": false,
"adult_creator": true,
"escort_sites": true,
"forums": true
},
"results": [
{
"title": "Example profile",
"link": "https://example.com/profile",
"categories": ["social"],
"score": 3
}
]
}
Как это работает
1. Генерирует несколько вариантов входных данных
-
Телефон:
- Простой номер
- Формат +34
- Формат 0034
- Формат с пробелами
-
Имя пользователя:
- Прямые запросы
- Запросы для конкретных платформ
2. Формирует поисковые запросы:
- Общие запросы
- Запросы с ключевыми словами (escort, contactos, masajes…)
- Доменно-специфичные запросы
3. Получает результаты с помощью DuckDuckGo (ddgs)
4. Применяет фильтрацию:
- Удаляет общие/категорийные страницы
- Оставляет релевантные домены и ссылки, похожие на профили
- Снижает SEO-шум
5. Обрабатывает каждый результат:
- Модуль телефона:
- Определяет тип объявления (individual / group / duo)
- Проверяет наличие номера в заголовке/ссылке
- Модуль имени пользователя:
- Определяет категорию платформы
- Назначает оценку на основе сигналов релевантности
6. Классифицирует результаты:
- High → сильное совпадение + хорошая структура
- Medium → частичная релевантность
- Low → слабый или зашумленный результат
7. Выводит структурированный JSON, готовый к анализу
Текущие ограничения
- Результаты зависят от поведения поисковой системы
- Некоторые платформы вносят значительный SEO-шум
- Обнаружение основано только на заголовке/ссылке (без полного парсинга страницы)
- Обнаружение имени пользователя косвенное (без проверки через API)
- Пока нет автоматической корреляции или кластеризации
План развития
- Модуль OSINT для email
- Механизм корреляции (кросс-телефон / имя пользователя / email)
- Обнаружение повторно используемых идентификаторов в профилях
- Обнаружение шаблонов (агентства / многопрофильное поведение)
- Экспорт в CSV / Excel
- Опциональный полный сбор страниц для более глубокой проверки
- Интерфейс командной строки (использование в стиле инструмента)
Примечания
Этот проект является частью более широкого OSINT-процесса, ориентированного на корреляцию данных, а не на простой сбор данных.
Цель — преобразовать сырые результаты поиска в структурированные и применимые на практике разведывательные данные, позволяющие обнаруживать шаблоны на нескольких платформах.