Saltar a contenido

TeamCity

Integre fácilmente el análisis de seguridad automatizado de Ostorlab para aplicaciones móviles Android e iOS en su proceso de compilación con TeamCity.

Uso:

Generar una clave API de Ostorlab

  1. Vaya al menú de API keys
  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 vencimiento a su clave)
  4. Haga clic en el botón de guardar para registrar su clave

Api key Step1

Agregar Ostorlab como un paso de línea de comandos (Command Line Step) en TeamCity

  1. Diríjase a la configuración de su proyecto de TeamCity y agregue un nuevo paso de compilación (build step).

    Add a new build step

  2. Elija el Runner Command Line. Command line step

  3. Complete la configuración del paso

    • Nombre del paso (Step name): Elija un nombre para distinguir el paso de compilación de otros pasos;
    • Elija Custom script como tipo de ejecución (Run type);
    • Agregue el siguiente comando como un Custom script;
      ostorlab --api-key=%env.OSTORLAB_API_KEY% ci-scan run --title=%Scan_Title% --scan-profile=%env.SCAN_PROFILE% android-apk /tmp/OstorlabInsecureApp.apk
      
      Consulte las Opciones adicionales a continuación para ver la lista completa de opciones.
    • El paso debe ejecutarse dentro del contenedor de ostorlab:
      • Agregue ostorlab/oxo:latest en el campo Run step within container;
      • Elija Linux como la plataforma de imagen (Image platform);
      • Haga clic en Edit arguments en el paso Additional run arguments;
      • Monte la aplicación en el contenedor de ostorlab, -v source_path:destination_path
        -v /opt/buildagent/work/OstorlabInsecureApp.apk:/tmp/OstorlabInsecureApp.apk
        
        Asegúrese de que el destination_path sea el mismo que el del comando ostorlab ci-scan run definido previamente.

    Step configuration

  4. Agregue los parámetros del paso: Por ejemplo: el comando anterior usa el parámetro: --title=%Scan_Title%, el cual puede definir mediante:

    • Hacer clic en Parameters;
    • Hacer clic en Add new parameter;
    • Completar el Name, el tipo (Kind) como Configuration parameter, el valor y su tipo;
    • Hacer clic en Save.

    Add parameters

  5. Agregue variables de entorno También puede agregar variables de entorno para que el comando ostorlab las utilice, siguiendo los mismos pasos del paso 4, pero seleccionando Environment variable (env.) como el Kind

    Add env variables

Todos los parámetros: All Parameters

Opciones adicionales

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

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

  • --title: Título del análisis

  • --scan-profile: Tipo del análisis. Las opciones posibles son:

    1. fast_scan: Solo ejecuta el análisis estático;
    2. full_scan: Ejecuta análisis estáticos, dinámicos y de backend.
  • Credenciales de prueba (Test credentials): Autenticación automática en el análisis dinámico completo:

    • --test-credentials-login: Nombre de usuario que se utilizará en los campos de inicio de sesión;
    • --test-credentials-password: Contraseña que se 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.

  • Indicaciones de interfaz de usuario (UI Prompts) (Opcional): Ostorlab admite indicaciones de UI para guiar al escáner a través de la interfaz de usuario de su aplicación. Puede usar:

    • --ui-prompt-name y --ui-prompt-action: Defina un paso de UI especificando el nombre y la acción. Puede agregar múltiples pares para una secuencia de pasos. Por ejemplo:
      --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: Haga referencia a flujos de indicaciones de UI existentes por sus IDs. Puede agregar varios IDs. Por ejemplo:
      --ui-prompt-id 123 --ui-prompt-id 456
      
  • asset-type: Tipo de activo a analizar. Valores posibles:

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