Перейти к содержанию

Запуск сканирования

О сканированиях в Стингрей рассказывает эксперт команды разработки Никита Пинаев.

Смотреть видео

Запуск сканирования может быть произведен в ручном или в автоматическом режиме. Для запуска сканирования выберите пункт основного меню Сканы и нажмите на кнопку Добавить скан в правом верхнем углу.

Выберите или перетащите на появившуюся страницу Добавить скан apk-, aab-, apks-, ipa- или zip-файл, содержащий split apk сканируемого приложения, или загрузите пакет из магазина приложений/системы дистрибуции/платформы разработки, указав его имя и/или другие необходимые параметры в соответствующих полях, а затем нажмите на кнопку Продолжить.

Примечание

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

После выбора файла на странице Добавить скан будут представлены необходимые для запуска анализа приложения поля:

  • Информация о файле тестируемого приложения: имя пакета, название/код версии, Target SDK, Min SDK, имя/размер/хеш файла и тип архитектуры.
  • Проект — проект, в рамках которого будет проводиться сканирование. Если приложение сканируется в системе впервые, в этом поле по умолчанию предлагается опция Создать проект автоматически. Таким образом, можно предварительно не создавать для запуска сканирования проект и профиль, а использовать данную опцию. В этом случае будут автоматически созданы проект и профиль с именем сканируемого пакета, указанном в поле Имя пакета.

    Примечание

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

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

    Примечание

    Для выбора доступны либо проекты с незаполненным при создании полем Имя пакета (см. раздел «Проекты»), либо те, для которых в данном поле указан пакет, выбранный в предыдущем шаге. Если приложение сканируется в системе впервые, в этом поле по умолчанию предлагается опция Создать проект автоматически.

  • Профиль — профиль, в рамках которого будет проводиться сканирование. Если приложение сканируется в системе впервые, в этом поле по умолчанию предлагается опция Создать профиль автоматически. Данная опция в поле Профиль работает аналогично приведенному выше ее описанию для поля Проект.

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

  • Режим — ручное или автоматическое (Stingray / Appium) сканирование.

  • Тест-кейс — эта опция появляется в случае выбора опции Авто (Движок Stingray) и позволяет выбрать воспроизводимый тест-кейс.

    Примечание

    Отображаются только тест-кейсы выбранного проекта.

  • Архитектура — архитектура устройства, на котором будет запущено приложение.

    Примечание

    При отсутствии доступных для выполнения сканирования агентов в поле Архитектура отображается сообщение Нет доступных устройств для данной архитектуры.

  • Выбор опции Проверить на уязвимости в используемых библиотеках позволяет параллельно со сканированием выбранного приложения запустить проверку SBOM-файла. Нажмите на кнопку Выберите файл и укажите для проверки SBOM-файл в формате JSON. Результаты проверки SBOM-файла будут доступны вместе с результатами сканирования приложения после завершения сканирования.

  • Если выбрана опция Включить защиту от автоочистки, данное сканирование не будет удаляться при автоочистке, а рядом с его идентификатором появится соответствующая иконка, см. раздел «Автоочистка».

Автоматическое сканирование

Для запуска сканирования в автоматическом режиме необходимо:

  • Выбрать и загрузить файл мобильного приложения с расширением *.apk, *.aab, *.apks, *.ipa или *.zip, содержащий split apk, для которого будет проводиться сканирование.

    Примечание

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

  • Выбрать проект из выпадающего списка существующих в системе проектов.

    Примечание

    Для выбора доступны либо проекты с незаполненным при создании полем Имя пакета (см. раздел «Проекты»), либо те, для которых в данном поле указан пакет, выбранный в предыдущем шаге. Если приложение сканируется в системе впервые, в этом поле по умолчанию предлагается опция Создать проект автоматически.

  • Выбрать профиль сканирования из выпадающего списка.

  • Выбрать архитектуру, на которой будет проводиться сканирование. Отметим, что в данном поле будет доступна для выбора только та архитектура, на которой был записан тест-кейс и которая активна в системе.
  • В поле Режим выбрать Авто (Движок Stingray) сканирование из выпадающего списка.
  • Во вновь появившемся внизу поле выбрать имя уже существующего в системе тест-кейса для запуска сканирования в автоматическом режиме.
  • Выбор опции Проверить на уязвимости в используемых библиотеках позволяет параллельно со сканированием выбранного приложения запустить проверку SBOM-файла. Нажмите на кнопку Выберите файл и укажите для проверки SBOM-файл в формате JSON. Результаты проверки SBOM-файла будут доступны вместе с результатами сканирования приложения после завершения сканирования.

    Примечание

    Если выбрана опция Включить защиту от автоочистки, данное сканирование не будет удаляться при автоочистке, а рядом с его идентификатором появится соответствующая иконка, см. раздел «Автоочистка».

По нажатию кнопки Запустить происходит запуск сканирования и переход на страницу Сканирование. Будет отображена страница с экраном устройства без возможности взаимодействия с ним. Передача изображения с экрана устройства необходима для анализа работы тест-кейса. В ходе сканирования на экране устройства отображаются следующие статусы:

  • Устройство подготавливается — выполняется подготовка устройства к сканированию.
  • Запуск приложения — выполняется запуск приложения.

Во время проведения автоматического сканирования также идет запись видео, которое при завершении доступно на вкладке Запись сканирования на странице с детальными результатами сканирования для данного теста.

При нажатии на кнопку будет осуществлен переход к странице со списком всех сканирований. При переходе на страницу Сканы можно увидеть новую строку, отображающую текущий результат автоматического сканирования. При нажатии на ID тест-кейса, когда соответствующее сканирование имеет состояние Создан, Запускается или Запущен, происходит возврат на страницу с экраном устройства. После завершения сканирования приложения его состояние примет значение Анализ на время обработки полученных результатов. Затем состояние сканирования поменяется на Успешно или Неуспешно в зависимости от результата. Если нажать на ID тест-кейса, когда сканирование имеет состояние Анализ, Успешно или Неуспешно, произойдет переход на страницу с детальными результатами сканирования, см. раздел «Результаты сканирований».

Примечание

Если в профиле сканирования выбраны только модули, использование которых не требует запуска приложения, после начала сканирования приложение не будет запущено, а сразу начнется этап анализа. Подробнее о свойствах и настройках модулей см. раздел «Профили».

Автоматическое сканирование с использованием Appium

  • Выберите пункт меню Сканы.
  • Нажмите на кнопку +Добавить скан.
  • Загрузите файл тестируемого приложения, перетащив его в область загрузки. Также можно нажать на область загрузки, что приведет к открытию стандартного диалогового окна браузера. Кроме этого, если настроена соответствующая интеграция (см. раздел «Интеграции»), можно загрузить файл тестируемого приложения непосредственно из следующих магазинов приложений: RuStore и Google Play.
  • После загрузки приложения выберите проект, профиль и архитектуру в соответствующих полях.
  • Выберите режим сканирования Авто (Движок Appium) и, нажав на кнопку Choose file, выберите файл Appium-скрипта.
  • Выбор опции Проверить на уязвимости в используемых библиотеках позволяет параллельно со сканированием выбранного приложения запустить проверку SBOM-файла. Нажмите на кнопку Выберите файл и укажите для проверки SBOM-файл в формате JSON. Результаты проверки SBOM-файла будут доступны вместе с результатами сканирования приложения после завершения сканирования.

    Примечание

    Если выбрана опция Включить защиту от автоочистки, данное сканирование не будет удаляться при автоочистке, а рядом с его идентификатором появится соответствующая иконка, см. раздел «Автоочистка».

    Примечание

    В настоящий момент поддерживается тестирование только Android-приложений.

    Примечание

    В рамках текущей реализации для используемых Appium-скриптов существует ряд ограничений:

    • язык тестового сценария — только Python;
    • воспроизводятся только скрипты, сгенерированные рекордером утилиты Appium Inspector — любые отклонения приведут к возникновению ошибки;
    • используются только функции, доступные для генерации скрипта через Appium Inspector;
    • импорт и вызов функций Python, не относящихся к Appium и работе с приложением, не выполняются.

    Дополнительная информация об Appium-скриптах приведена в Приложении 4.

  • Нажмите на кнопку Запустить, чтобы начать автоматическое тестирование с использованием загруженного скрипта.

Ручное сканирование

  • Выберите пункт меню Сканы.
  • Нажмите на кнопку +Добавить скан.
  • Выберите или перетащите на появившуюся страницу Добавить скан apk-, aab-, apks-, ipa- или zip-файл, содержащий split apk сканируемого приложения, или загрузите пакет из магазина приложений/системы дистрибуции/платформы разработки, указав его имя и/или другие необходимые параметры в соответствующих полях, а затем нажмите на кнопку Продолжить. При загрузке файла система определит его архитектуру и отфильтрует все возможные подходящие значения в полях на появившейся странице.

    Примечание

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

  • Выберите проект из выпадающего списка существующих в системе проектов.

    Примечание

    Для выбора доступны либо проекты с незаполненным при создании полем Имя пакета (см. раздел «Проекты»), либо те, для которых в данном поле указан пакет, выбранный в предыдущем шаге. Если приложение сканируется в системе впервые, в этом поле по умолчанию предлагается опция Создать проект автоматически.

  • Выберите профиль сканирования из выпадающего списка.

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

    Примечание

    Если выбрана опция Включить защиту от автоочистки, данное сканирование не будет удаляться при автоочистке, а рядом с его идентификатором появится соответствующая иконка, см. раздел «Автоочистка».

По нажатию кнопки Запустить происходит запуск сканирования и переход на страницу Сканирование. Будет отображена страница с экраном устройства и с запущенным приложением. Ручное сканирование выглядит, как обычная работа пользователя с приложением. Все действия пользователя записываются в виде последовательности шагов тест-кейса.

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

Следует отметить, что для обработки только что полученных результатов ручного сканирования требуется некоторое время, поэтому для детального просмотра и анализа результатов необходимо дождаться окончания их обработки. Статус сканирования в столбце Состояние может принимать одно из следующих значений:

  • Создан — сканирование создано и помещено в очередь сканирования.
  • Запускается — сканирование уже в обработке и перед запуском проходит необходимая техническая предварительная работа (установка приложения, его запуск и т. д.).
  • Запущен — происходит процесс сканирования и взаимодействие с приложением, в зависимости от типа сканирования, вручную или через тест-кейсы.
  • Анализ — взаимодействие с приложением закончено, идет процесс анализа собранных данных.
  • Неуспешно — сканирование завершилось с ошибкой.
  • Успешно — сканирование завершено успешно.
  • Повторный анализ — был запущен и еще не завершился повторный анализ результатов сканирования.
  • Ожидание повторного анализа — система получила запрос на повторный анализ результатов сканирования, но сам анализ еще не был запущен.
  • Отменен — сканирование отменено с использованием расположенного справа раскрывающегося меню.

Запуск сканирования из командной строки

Сканирование приложения можно запустить не только из пользовательского интерфейса системы, но также из командной строки. Процесс формирования командной строки и запуска сканирования подробно описан в разделе «Интеграции».

Запуск сканирования из систем сборки

Для запуска сканирования приложений из систем сборки созданы средства инструментальной поддержки, позволяющие значительно упростить этот процесс. Запуск сканирования из систем сборки подробно описан в разделе «Интеграции».

К началу