Saltar a contenido

Integración de Ostorlab con GitLab

En esta guía, exploraremos cómo integrar fácilmente las pruebas de seguridad autónomas de Ostorlab para aplicaciones móviles Android e iOS en su proceso de compilación de gitlab.

Generar una nueva clave API

El primer paso es generar una clave API. Para hacerlo, simplemente siga los siguientes pasos:

Vaya a report.ostorlab.co

Haga clic en el botón Menú

Botón de Menú

Haga clic en Integrations/API para expandir

Expandir Integrations/API

Haga clic en API Keys

Claves API

Haga clic en New para generar una nueva clave API

Nueva Clave API

Copie la clave API. También puede agregar un nombre y una fecha de caducidad a su clave.

Copiar Clave API

No olvide hacer clic en el botón guardar para guardar su clave.

Guardar Clave API

Creación de un Pipeline Gitlab-CI:

Ejemplo para usar en su .gitlab-ci.yml

stages:
  - build
  - test

build:
  stage: build
  script:
      - Pre steps to build
      - ./gradlew assembleDebug
  artifacts:
    paths:
    - app/build/outputs/

runScanOstorlab:
  stage: test
  image: ostorlab/gitlab-ci
  variables:
    OSTORLAB_FILE_PATH: app/build/outputs/apk/debug/app-debug.apk
    OSTORLAB_PLATFORM: android
    OSTORLAB_UI_PROMPT_NAMES: "shop;profile;cart;settings"
    OSTORLAB_UI_PROMPT_ACTIONS: "search for a product named 'laptop' and add it to cart;open the profile tab and update email;review cart and proceed to checkout;open settings and enable notifications"
    OSTORLAB_UI_PROMPT_IDS: "123;456"
  script:
    - run_ostorlab.sh

Variables de entorno requeridas

  • OSTORLAB_API_KEY=API_KEY - Especifica su clave API
  • OSTORLAB_FILE_PATH=FILE_PATH - Especifica la ruta al apk de Android o ipa de IOS
  • OSTORLAB_PLATFORM=PLATFORM - Especifica la plataforma android o ios

Variables de entorno opcionales

Los siguientes son parámetros opcionales que se pueden configurar a partir de variables de entorno:

  • OSTORLAB_PLAN=free or static_dynamic_backend - Especifica su plan de escaneo (free para escaneos de la comunidad y static_dynamic_backend para análisis completo).
  • OSTORLAB_TITLE=My Title - Especifica el título del escaneo.
  • OSTORLAB_WAIT_FOR_RESULTS=true - Establézcalo en true si desea esperar a que finalice el escaneo y recuperar el resultado.
  • OSTORLAB_WAIT_MINUTES=30 - Especifica el número de minutos a esperar DEFAULT=30min.
  • OSTORLAB_BREAK_BUILD_ON_SCORE=true - Establézcalo en true para generar una excepción si la calificación de riesgo (risk rating) del escaneo es superior al umbral.
  • OSTORLAB_RISK_THRESHOLD=medium - Especifica su umbral de calificación de riesgo (risk rating).
  • OSTORLAB_UI_PROMPT_NAMES - Una lista de nombres de avisos de interfaz de usuario (UI prompt) separados por punto y coma. Por ejemplo: shop;profile;cart;settings. Cada nombre corresponde por posición a una acción en OSTORLAB_UI_PROMPT_ACTIONS.
  • OSTORLAB_UI_PROMPT_ACTIONS - Una lista de acciones de avisos de interfaz de usuario separadas por punto y coma. Por ejemplo: search for a product named "laptop" and add it to cart;open the profile tab and update email;review cart and proceed to checkout;open settings and enable notifications. Cada acción corresponde por posición a un nombre en OSTORLAB_UI_PROMPT_NAMES.
  • OSTORLAB_UI_PROMPT_IDS - Una lista de IDs de flujo de avisos de interfaz de usuario separados por punto y coma para reutilizar flujos de avisos existentes. Por ejemplo: 123e4567-e89b-12d3-a456-426614174000;abcdef12-3456-7890-abcd-ef1234567890. Puede utilizar esto además de o en lugar de las variables nombre/acción. Se pueden proporcionar varios IDs. Nota: El número de nombres y acciones debe coincidir, y cada par nombre/acción es posicional. Puede utilizar variables de nombre/acción y de ID juntas.

Agregar variables de entorno en el Pipeline de Gitlab

Para agregar variables de entorno en su Pipeline de Gitlab, navegue a Configuración (settings) luego a CI/CD, y luego salte a la sección Variables para agregar variables de entorno para su pipeline de la siguiente manera:

Agregar Variables de Entorno

Después de eso, puede ver que la variable se agrega a la lista de variables.

Lista de Variables

Una vez que el job finaliza, si elige esperar el resultado del escaneo y detenerse si la calificación de riesgo es superior al umbral, entonces el job podría fallar si su calificación de riesgo es igual o superior al umbral. De lo contrario, el job tendrá éxito con una línea que indica la calificación de riesgo del escaneo.

Resultado del Escaneo

Esta guía cubrió los pasos necesarios para integrar de manera efectiva y fácil las pruebas de seguridad autónomas de Ostorlab para aplicaciones móviles Android e iOS en su proceso de compilación de gitlab.