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
- Vaya al menú de API keys
- Haga clic en el botón "new" para generar una nueva clave
- Copie la clave API (Puede agregar un nombre y una fecha de vencimiento a su clave)
- Haga clic en el botón de guardar para registrar su clave

Agregar Ostorlab como un paso de línea de comandos (Command Line Step) en TeamCity
-
Diríjase a la configuración de su proyecto de
TeamCityy agregue un nuevo paso de compilación (build step).
-
Elija el Runner
Command Line.
-
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 scriptcomo tipo de ejecución (Runtype); - Agregue el siguiente comando como un
Custom script;Consulte lasostorlab --api-key=%env.OSTORLAB_API_KEY% ci-scan run --title=%Scan_Title% --scan-profile=%env.SCAN_PROFILE% android-apk /tmp/OstorlabInsecureApp.apkOpciones adicionalesa continuación para ver la lista completa de opciones. - El paso debe ejecutarse dentro del contenedor de ostorlab:
- Agregue
ostorlab/oxo:latesten el campoRun step within container; - Elija
Linuxcomo la plataforma de imagen (Image platform); - Haga clic en
Edit argumentsen el pasoAdditional run arguments; - Monte la aplicación en el contenedor de ostorlab,
-v source_path:destination_pathAsegúrese de que el-v /opt/buildagent/work/OstorlabInsecureApp.apk:/tmp/OstorlabInsecureApp.apkdestination_pathsea el mismo que el del comandoostorlab ci-scan rundefinido previamente.
- Agregue

-
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) comoConfiguration parameter, el valor y su tipo; - Hacer clic en
Save.

- Hacer clic en
-
Agregue variables de entorno También puede agregar variables de entorno para que el comando
ostorlablas utilice, siguiendo los mismos pasos del paso 4, pero seleccionandoEnvironment variable (env.)como elKind
Todos los parámetros:

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:
fast_scan: Solo ejecuta el análisis estático;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:
- 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.
-
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
- --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:
-
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.