К списку
Мобильное тестированиеSeniorТехническое

Методы проверки конфликтов и перехвата deep link на Android

Краткий ответ

Проверяйте корректность verified links, анализируйте приоритеты intent filters и тестируйте поведение системы при наличии нескольких приложений, обрабатывающих одинаковые ссылки.

Развёрнуто

Краткий ответ

Для тестирования deep link и app link на Android важно удостовериться в правильной настройке verified links, понять приоритеты intent filters в системе и проверить, как устройство реагирует, если несколько приложений претендуют на обработку одной и той же ссылки.


Как это работает

Deep link — это механизм, позволяющий открывать определённые экраны внутри приложения через URL. В Android для обработки таких ссылок используются intent filters, которые регистрируются в манифесте приложения.

При нескольких приложениях с одинаковыми intent filters возникает риск коллизий — система не всегда однозначно выбирает нужное приложение. Если злоумышленник зарегистрирует фильтр на чужой домен, возможен hijacking — перехват ссылок и перенаправление пользователя в нежелательное приложение.

Чтобы предотвратить такие ситуации, Android ввёл verified links — проверку соответствия домена и приложения с помощью файла assetlinks.json на сервере. Это позволяет системе доверять ссылкам и минимизировать атаки.

Аспект Описание
Verified links Связывает домен с приложением через цифровую подпись
Intent filter Определяет, какие ссылки приложение может обрабатывать
Приоритет фильтров Система выбирает приложение с наивысшим приоритетом
Коллизии deep link Несколько приложений претендуют на один и тот же URL
Hijacking Перехват ссылок злоумышленником для подмены приложения

Пример

1. Приложение А и приложение Б оба регистрируют intent filter для ссылки https://example.com/open
2. На сервере https://example.com размещён файл assetlinks.json, связанный только с приложением А
3. При открытии ссылки Android проверяет verified links и отдаёт предпочтение приложению А
4. Если файл отсутствует или неверен, система предлагает пользователю выбрать приложение вручную

Что важно знать на собеседовании

  • Verified links обеспечивают безопасность и доверие к deep link
  • Intent filters могут конфликтовать, если настроены неправильно
  • Приоритет intent filters влияет на выбор приложения системой
  • Hijacking — серьёзная угроза безопасности мобильных приложений
  • Тестирование должно включать сценарии с несколькими приложениями и проверку поведения системы

Тема: Мобильное тестирование | Уровень: senior