Aller au contenu

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

Bouton Menu

Cliquez sur Integrations/API pour développer

Développer Integrations/API

Cliquez sur API Keys

Clés API

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

Nouvelle clé API

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

Copier la clé API

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

Enregistrer la clé API

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é API
  • OSTORLAB_FILE_PATH=FILE_PATH - Spécifie le chemin vers l'apk Android ou l'ipa IOS
  • OSTORLAB_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 dans OSTORLAB_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 dans OSTORLAB_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 :

Ajouter des Variables d'Environnement

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

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.

Résultat 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.