Guide d'intégration Harness
Intégrez facilement les scans de sécurité automatisés d'Ostorlab pour les applications mobiles Android dans votre pipeline CI Harness.
Générer une clé API Ostorlab
- Accédez au menu des clés API
- Cliquez sur le bouton New pour générer une nouvelle clé
- Copiez la clé API (Vous pouvez ajouter un nom et une date d'expiration à votre clé)
- Cliquez sur le bouton Save pour enregistrer votre clé

Ajouter la clé API comme Secret
- Accédez aux Projects settings
- Allez dans Secrets
- Ajoutez et enregistrez la clé API Ostorlab en tant que secret

Ajouter une étape d'exécution dans votre pipeline CI Harness
- Accédez à votre pipeline
- Ajoutez une étape build si vous n'en avez pas déjà une
- Ajoutez une nouvelle étape d'exécution et insérez le script dans la section de commande
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

Dans les Optional Configurations des paramètres de votre étape d'exécution, vous pouvez ajouter des variables d'environnement pour configurer le scan.

Ajouter l'étape en yaml
Au lieu d'ajouter manuellement l'étape dans l'interface utilisateur de Harness, vous pouvez également l'ajouter en yaml comme suit :
- 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
Options supplémentaires
Voici la liste complète des options pour la commande `ostorlab ci-scan run` :
ostorlab --api-key ci-scan run --option <asset-type> <target>
-
--api-key : Clé API générée par Ostorlab.
-
--title : Titre du scan.
-
--scan-profile : Type de scan. Les options possibles sont :
- `fast` : Exécute uniquement l'analyse statique ;
- `full` : Exécute les analyses statique, dynamique et backend.
-
Identifiants de test : Authentification automatique dans le scan complet d'analyse dynamique :
- --test-credentials-login : Nom d'utilisateur à utiliser dans les champs de connexion ;
- --test-credentials-password : Mot de passe à utiliser dans les champs de mot de passe ;
- --test-credentials-role : Champ de rôle optionnel ;
- Identifiants de test personnalisés/génériques :
- --test-credentials-name : Nom personnalisé du champ ;
- --test-credentials-value : Valeur personnalisée du champ.
-
Identifiants 2FA :
- SMS 2FA :
- --sms-2fa-sender : En savoir plus sur SMS 2FA
- Email 2FA :
- --email-2fa-sender-email-address, --email-2fa-email-address, --email-2fa-password : En savoir plus sur Email 2FA
- TOTP 2FA :
- --totp-2fa-seed : En savoir plus sur TOTP 2FA
- SMS 2FA :
-
--sbom : Chemin vers le fichier sbom. Le fichier sbom doit également être monté comme spécifié à l'étape 3.
-
--ui-prompt-name : Nom de l'invite UI à passer au CLI Ostorlab.
-
--ui-prompt-action : Action de l'invite UI à passer au CLI Ostorlab. Les invites UI sont une fonctionnalité puissante qui vous permet d'utiliser le langage naturel pour indiquer au scanner comment naviguer dans l'application. Vous pouvez ajouter plusieurs invites en ajoutant les arguments plusieurs fois, par exemple :
--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 : Liste des ID d'invite UI existants à passer au CLI Ostorlab. Cela vous permet de réutiliser des flux d'invites UI précédemment définis grâce à leurs ID. Vous pouvez ajouter plusieurs ID d'invite en ajoutant l'argument plusieurs fois, par exemple :
--ui-prompt-id 123 --ui-prompt-id 456 -
asset-type : Type de l'actif à scanner. Valeurs possibles :
- `android-aab` : Scanner un fichier de package Android `.AAB` ;
- `android-apk` : Scanner un fichier de package Android `.APK` ;
- `ios-ipa` : Scanner un fichier de package iOS `.IPA`.
-
target : Chemin vers l'application cible. L'application doit être montée comme spécifié à l'étape 3.