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

Интеграция с Firebase

Сбор необходимых параметров

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

Интеграция с Firebase производится через mdast_cli. Для запуска скрипта в режиме интеграции с Firebase необходимо указать параметр --distribution_system firebase.

Чтобы скачать приложение с Firebase и просканировать его, необходимо собрать информацию о значениях cookies для Google SSO аутентификации, а также о значениях параметров проекта в Firebase.

Примечание

Не используйте личные учетные записи, так как параметры, используемые в процессе аутентификации в Firebase, привязаны к вашему аккаунту. Мы рекомендуем создать специальную техническую учетную запись для интеграции.

В браузере авторизуйтесь в Firebase с использованием Google SSO и соберите информацию о неоходимых cookies. Например, при использовании браузера Google Chrome или Microsoft Edge откройте DevTools, нажав F12 или использовав специальную комбинацию клавиш, которая применяется для этого в вашем браузере, перейдите на вкладку Application, а затем, выбрав в меню слева пункт Cookies, скопируйте значения следующих cookies: SID, SSID, APISID, SAPISID и HSID. Данная информация впоследствии будет использоваться в качестве параметров запуска скрипта mdast_scan.py.

Далее необходимо получить следующие параметры проекта: project_id, app_id, app_code и api_key. Для этого перейдите на страницу проекта, адрес которой имеет следующий вид:

https://console.firebase.google.com/u/0/project/{project_id}/overview

Слева в меню в разделе Release & Monitor выберите пункт App Distribution. Предварительно открыв DevTools (F12), выберите необходимый релиз из списка и нажмите на кнопку Download.

В окне DevTools на вкладке Network отследите запрос, содержащий URL следующего вида:

https://firebaseappdistribution-pa.clients6.google.com/v1/projects/{project_id}/apps/{app_id}/releases/{app_code}:getLatestBinary?alt=json&key={api_key}

Из данного URL получаем остальные необходимые параметры.

В результате все необходимые параметры собраны. В зависимости от того, какое приложение скачивается, необходимо с помощью параметра firebase_app_extension указать расширение файла: для Android приложения — apk , а для iOS — ipa.

Приведем полный список собранных параметров:

  • firebase_SID_cookie — SID;
  • firebase_HSID_cookie — HSID;
  • firebase_SSID_cookie — SSID;
  • firebase_APISID_cookie — APISID;
  • firebase_SAPISID_cookie — SAPISID;
  • firebase_project_id — {project id};
  • firebase_app_id — {application id};
  • firebase_app_code — {application code};
  • firebase_api_key — {api key}.
  • firebase_app_extension — расширение файла: apk для Android или ipa для iOS.

Также возможно задать название скачиваемого файла, для этого надо задать опциональный параметр firebase_file_name.

Пример запуска скрипта

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

python mdast_cli/mdast_scan.py \
  --profile_id 468 \
  --architecture_id 2 \
  --distribution_system firebase \
  --firebase_project_id 2834204**** \
  --firebase_app_id 1:283***3642:android:8b0a0***56ac40c1a43 \
  --firebase_app_code 2b***sltr0 \
  --firebase_api_key AIzaSyDov*****qKdbj-geRWyzMTrg \
  --firebase_SID_cookie FgiA*****ZiQakQ-_C-5ZaEHvbDMFGkrgriAByQ9P9fv7LfRrYJ5suXgrCwIQBoOjA.  \
  --firebase_HSID_cookie AsiL****OjPI \
  --firebase_SSID_cookie A****dwcZk1Z-1pE \
  --firebase_APISID_cookie Z-FmS1aPB****djK/AjmG0h2Hc-GG9g2Ac \
  --firebase_SAPISID_cookie XYR2tnf****0zOt/AEvVZ8JVEuCnE6pxm \
  --url "https://saas.mobile.appsec.world" \
  --company_id 1 \ 
  --token 2fac9652a2fbe4****9f44af59c3381772f \
  --firebase_file_name your_app_file_name  \
  --firebase_file_extension apk

.

К началу