Intégration d'Ostorlab avec GitLab
Dans ce guide, nous allons explorer comment intégrer facilement les tests de sécurité autonomes d'Ostorlab pour les applications mobiles Android et iOS à votre processus de build gitlab.
Générer une nouvelle clé API
La première étape consiste à générer une clé API. Pour ce faire, suivez simplement les étapes suivantes :
Allez sur report.ostorlab.co
Cliquez sur le bouton Menu

Cliquez sur Integrations/API pour développer

Cliquez sur API Keys

Cliquez sur New pour générer une nouvelle clé API

Copiez la clé API. Vous pouvez également ajouter un nom et une date d'expiration à votre clé.

N'oubliez pas de cliquer sur le bouton "enregistrer" pour sauvegarder votre clé.

Création d'un Pipeline Gitlab-CI :
Exemple à utiliser pour votre .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 d'environnement requises
OSTORLAB_API_KEY=API_KEY- Spécifie votre clé APIOSTORLAB_FILE_PATH=FILE_PATH- Spécifie le chemin vers l'apk Android ou l'ipa IOSOSTORLAB_PLATFORM=PLATFORM- Spécifie la plateforme android ou ios
Variables d'environnement optionnelles
Voici les paramètres optionnels qui peuvent être définis à partir de variables d'environnement :
OSTORLAB_PLAN=free or static_dynamic_backend- Spécifie votre plan d'analyse (free pour les analyses communautaires et static_dynamic_backend pour une analyse complète).OSTORLAB_TITLE=My Title- Spécifie le titre de l'analyse.OSTORLAB_WAIT_FOR_RESULTS=true- Définissez sur true si vous souhaitez attendre la fin de l'analyse et récupérer le résultat.OSTORLAB_WAIT_MINUTES=30- Spécifie le nombre de minutes à attendre PAR DÉFAUT=30min.OSTORLAB_BREAK_BUILD_ON_SCORE=true- Définissez sur true pour générer une exception si le niveau de risque de l'analyse (risk rating) est supérieur au seuil.OSTORLAB_RISK_THRESHOLD=medium- Spécifie votre seuil de niveau de risque (risk rating).OSTORLAB_UI_PROMPT_NAMES- Une liste de noms d'invites UI (UI prompt) séparés par des points-virgules. Par exemple :shop;profile;cart;settings. Chaque nom correspond par position à une action dansOSTORLAB_UI_PROMPT_ACTIONS.OSTORLAB_UI_PROMPT_ACTIONS- Une liste d'actions d'invites UI séparées par des points-virgules. Par exemple :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. Chaque action correspond par position à un nom dansOSTORLAB_UI_PROMPT_NAMES.OSTORLAB_UI_PROMPT_IDS- Une liste d'ID de flux d'invites UI séparés par des points-virgules pour réutiliser les flux d'invites existants. Par exemple :123e4567-e89b-12d3-a456-426614174000;abcdef12-3456-7890-abcd-ef1234567890. Vous pouvez utiliser ceci en plus ou à la place des variables de nom/action. Plusieurs ID peuvent être fournis. Remarque : Le nombre de noms et d'actions doit correspondre, et chaque paire nom/action est positionnelle. Vous pouvez utiliser ensemble les variables nom/action et ID.
Ajout de Variables d'environnement dans le Pipeline Gitlab
Pour ajouter des variables d'environnement dans votre Pipeline Gitlab, naviguez vers Paramètres (settings) puis CI/CD, et ensuite passez à la section Variables pour ajouter des variables d'environnement pour votre pipeline comme suit :

Après cela, vous pouvez voir que la variable est ajoutée à la liste des variables.

Une fois le job terminé, si vous choisissez d'attendre le résultat de l'analyse et d'interrompre si le niveau de risque est supérieur au seuil, alors le job pourrait échouer si son niveau de risque (risk rating) est égal ou supérieur au seuil. Sinon, le job réussira avec une ligne indiquant le niveau de risque de l'analyse.

Ce guide a couvert les étapes requises pour intégrer efficacement et facilement les tests de sécurité autonomes d'Ostorlab pour les applications mobiles Android et iOS à votre processus de build gitlab.