SpamMagnit — активатор спам-звонков как индикатор утечки номера
Android-приложение, которое иллюстрирует проблему передачи номера телефона через AdTech-интеграции мобильных операторов. Проект показывает, как без звонка, формы и прямого согласия номер может попадать в рекламные системы — и как это можно использовать для тестирования спам-защиты.
О проекте
Мобильный оператор в момент выхода в интернет через LTE передаёт ваш публичный IP-адрес. Сайт (или установленный на нём скрипт аналитики) отправляет этот IP в AdTech-платформу, имеющую договор с оператором. Платформа запрашивает у оператора номер телефона, соответствующий IP, — и получает ответ. Без звонка. Без формы. Без прямого согласия.
Проблема
Утечка номера через AdTech-интеграции операторов нарушает законодательство о персональных данных.
Иллюстрация
Приложение не выявляет конкретные механизмы утечки, а активирует их простым перебором доменов.
Результат
Активация спам-звонков до ~300 в первые сутки с постепенным снижением активности.
Применение
Тестирование спам-защиты, сбор номеров спам-центров, формирование жалоб в компетентные органы.
Как это работает
Три этапа: сбор доменов, очистка, посещение.
Сбор доменов
Для каждого из 33 IP-адресов запрашиваются связанные домены с разных хостингов.
Сортировка и фильтрация
Приведение к нижнему регистру, удаление дубликатов, отбрасывание IP, фильтр по российским зонам, группировка по apex.
Посещение домена
Около 100k доменов: сначала HTTPS, при неудаче — HTTP. Успех — любой HTTP-код и несколько прочитанных байт (до 16 КБ).
Возможности
Асинхронная архитектура, кэш, foreground service и адаптивная фильтрация.
Приватность
Приложение создано для исследования проблемы утечки данных — и само по себе не создаёт новую. Ниже — что именно не делает SpamMagnit.
🛡 Приложение не собирает и не отправляет никакую информацию о пользователе
SpamMagnit — локальный инструмент. Всё, что он делает, происходит на вашем устройстве: он перебирает домены и проверяет их доступность. Никакие ваши данные при этом никуда не уходят.
✔ Нет сбора персональных данных
- Не собирает ваше имя, номер телефона, e-mail, IMEI, IMSI, MSISDN, MAC-адрес, геолокацию, список контактов, SMS, журнал звонков, установленные приложения, фото, файлы и т. п.
- Не отправляет никакую статистику, аналитику, телеметрию, crash-репорты или «обезличенные» данные на серверы автора или третьих лиц.
- Не использует сторонние SDK для аналитики, рекламы, трекинга или атрибуции (Google Analytics, Firebase, Facebook SDK, Adjust, AppsFlyer и подобные отсутствуют).
- Не требует регистрации, аккаунта, входа по номеру телефона или e-mail.
- Не запрашивает разрешения на доступ к контактам, SMS, журналу звонков, геолокации, камере, микрофону или хранилищу.
- Не передаёт ваш IP-адрес, идентификаторы устройства или какие-либо метаданные на серверы проекта.
Что приложение действительно делает: устанавливает сетевые соединения с публичными доменами (HTTPS/HTTP) для проверки их доступности — это и есть суть исследовательского сценария. Список доменов и результаты проверок остаются на устройстве и не покидают его.
Исходный код полностью открыт (лицензия GPL-3.0) — вы можете убедиться в отсутствии сбора данных самостоятельно: github.com/d010b/SpamMagnit.
Требования и установка
Приложение работает на Android 7.0+ (целевая — Android 14).
Установка
1. Скачайте последний APK из раздела Releases
2. Разрешите установку из неизвестных источников
3. Установите APK
4. Выдайте разрешения: Интернет, уведомления, фоновый сервис
Поддержите проект
Поставьте звезду на GitHub, сообщите об issue или предложите улучшение — это помогает проекту развиваться.