Saltar a contenido

Guía de integración de Bitrise

Integre fácilmente el escaneo de seguridad automatizado de Ostorlab para aplicaciones móviles de Android en su pipeline de CI de Bitrise.


Generar una clave API de Ostorlab

  1. Vaya al menú de claves API
  2. Haga clic en el botón New para generar una nueva clave
  3. Copie la clave API (puede agregar un nombre y una fecha de caducidad a su clave)
  4. Haga clic en el botón Save para guardar su clave

Creación de clave API


Agregar la clave API como Secreto de Bitrise

  1. Abra su proyecto de Bitrise
  2. Vaya a Workflow Editor
  3. Vaya a Secrets
  4. Agregue un nuevo secreto:

  5. Guarde el secreto.

Agregar secreto de Bitrise


Agregar variables de entorno

Puede configurar parámetros adicionales para el escaneo.

Variables de entorno


Agregar una etapa de flujo de trabajo de Bitrise

  1. Vaya a Workflow Editor
  2. Seleccione el flujo de trabajo donde desea ejecutar el escaneo (por ejemplo, `primary`)
  3. Haga clic en Add Step
  4. Busque Script
  5. Seleccione el paso Script para agregarlo al flujo de trabajo

Agregar paso de script


Configurar el paso de Script

  1. En el paso Script, elija Custom Script
  2. Pegue el script de la siguiente sección en el campo Script content
  3. Guarde el flujo de trabajo

Configurar el paso de script


Agregar el script de Ostorlab

Agregue el siguiente script bash en el paso de Script:

#!/bin/bash
set -e

python3 -m pip install --upgrade pip
pip install ostorlab

ostorlab \
  --api-key="$API_KEY" \
  ci-scan run \
  --title="$Scan_Title" \
  --scan-profile="$SCAN_PROFILE" \
  android-apk "$BITRISE_APK_PATH"

Opciones adicionales

La siguiente es la lista completa de opciones para el comando `ostorlab ci-scan run`:

ostorlab --api-key <API_KEY> ci-scan run --option <asset-type> <target>
  • --api-key: Clave API generada por Ostorlab.

  • --title: Título del escaneo

  • --scan-profile: Tipo de escaneo. Las opciones posibles son:

    1. `fast`: Ejecuta solo el análisis estático;
    2. `full`: Ejecuta el análisis estático, dinámico y de backend.
  • Credenciales de prueba: Autenticación automática en el escaneo completo de análisis dinámico:

    • --test-credentials-login: Nombre de usuario para utilizar en los campos de inicio de sesión;
    • --test-credentials-password: Contraseña para utilizar en los campos de contraseña;
    • --test-credentials-role: Campo de rol opcional;
    • Credenciales de prueba personalizadas/genéricas:
      • --test-credentials-name: Nombre personalizado del campo;
      • --test-credentials-value: Valor personalizado del campo
  • Credenciales 2FA:

  • --sbom: Ruta al archivo sbom. El archivo sbom también debe montarse como se especifica en el paso 3.

  • --ui-prompt-name: Nombre del indicador de IU que se pasará a la CLI de Ostorlab.

  • --ui-prompt-action: Acción del indicador de IU que se pasará a la CLI de Ostorlab. Los indicadores de IU son una función potente que le permite usar lenguaje natural para indicarle al escáner cómo navegar por la aplicación. Puede agregar varios indicadores agregando los argumentos varias veces, por ejemplo: ```shell --ui-prompt-name accept-terms --ui-prompt-action "Scroll down and tap the 'Accept Terms' checkbox." --ui-prompt-name submit --ui-prompt-action "Tap the 'Submit' button to complete the login process." ```

  • --ui-prompt-id: Lista de ID de indicadores de IU existentes que se pasarán a la CLI de Ostorlab. Esto le permite reutilizar flujos de indicadores de IU definidos previamente mediante sus ID. Puede agregar varios ID de indicadores agregando el argumento varias veces, por ejemplo: ```shell --ui-prompt-id 123 --ui-prompt-id 456 ```

  • asset-type: Tipo de activo a escanear. Valores posibles:

    • `android-aab`: Escanear un archivo de paquete `.AAB` de Android;
    • `android-apk`: Escanear un archivo de paquete `.APK` de Android;
    • `ios-ipa`: Escanear un archivo de paquete `.IPA` de iOS;
  • target: Ruta a la aplicación objetivo. La aplicación debe montarse como se especifica en el paso 3.