Guía de integración de Harness
Integre fácilmente el escaneo de seguridad automatizado de Ostorlab para aplicaciones móviles de Android en su pipeline de CI de Harness.
Generar una clave API de Ostorlab
- Vaya al menú de claves API
- Haga clic en el botón New para generar una nueva clave
- Copie la clave API (puede agregar un nombre y una fecha de caducidad a su clave)
- Haga clic en el botón Save para guardar su clave

Agregar la clave API como Secreto
- Vaya a Projects settings
- Vaya a Secrets
- Agregue y guarde la clave API de Ostorlab como un secreto

Agregar un paso de ejecución en su pipeline de CI de Harness
- Vaya a su pipeline
- Agregue una etapa de build si aún no tiene una
- Agregue un nuevo paso de ejecución e inserte el script en la sección de comandos
python3 -m venv $HARNESS_WORKSPACE/venv
$HARNESS_WORKSPACE/venv/bin/pip install ostorlab
$HARNESS_WORKSPACE/venv/bin/ostorlab \
--api-key=<+secrets.getValue("OSTORLAB_API_KEY")> \
ci-scan run \
--title="SCAN_TITLE" \
--scan-profile="$SCAN_PROFILE" \
android-apk $HARNESS_WORKSPACE/$APP_PATH

En Optional Configurations dentro de la configuración de su paso de ejecución, puede agregar variables de entorno para configurar el escaneo.

Agregar el paso en yaml
En lugar de agregar el paso manualmente en la interfaz de usuario de Harness, también puede agregarlo en yaml de la siguiente manera:
- step:
type: Run
name: ostorlab scan
identifier: Run_1
spec:
shell: Bash
command: |-
python3 -m venv $HARNESS_WORKSPACE/venv
$HARNESS_WORKSPACE/venv/bin/pip install ostorlab
$HARNESS_WORKSPACE/venv/bin/ostorlab \
--api-key=<+secrets.getValue("OSTORLAB_API_KEY")> \
ci-scan run \
--title="$SCAN_TITLE" \
--scan-profile="$SCAN_PROFILE" \
android-apk $HARNESS_WORKSPACE/$APP_PATH
envVariables:
SCAN_TITLE: from harness ci
SCAN_PROFILE: fast_scan
APP_PATH: app.apk
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 escaneo.
-
--scan-profile: Tipo de escaneo. Las opciones posibles son:
- `fast`: Ejecuta solo el análisis estático;
- `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:
- SMS 2FA:
- --sms-2fa-sender: Obtenga más información sobre SMS 2FA
- Email 2FA:
- --email-2fa-sender-email-address, --email-2fa-email-address, --email-2fa-password: Obtenga más información sobre Email 2FA
- TOTP 2FA:
- --totp-2fa-seed: Obtenga más información sobre TOTP 2FA
- SMS 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:
--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:
--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.