Aller au contenu

TeamCity

Intégrez facilement l'analyse de sécurité automatisée d'Ostorlab pour les applications mobiles Android et iOS dans votre processus de build avec TeamCity.

Utilisation :

Générer une clé API Ostorlab

  1. Accédez au menu API keys
  2. Cliquez sur le bouton "new" pour générer une nouvelle clé
  3. Copiez la clé API (Vous pouvez ajouter un nom et une date d'expiration à votre clé)
  4. Cliquez sur le bouton de sauvegarde pour enregistrer votre clé

Api key Step1

Ajouter Ostorlab comme étape de ligne de commande (Command Line Step) sur TeamCity

  1. Rendez-vous dans les paramètres de votre projet TeamCity et ajoutez une nouvelle étape de build (build step).

    Add a new build step

  2. Choisissez le Runner Command Line. Command line step

  3. Remplissez la configuration de l'étape

    • Nom de l'étape (Step name) : Choisissez un nom pour distinguer l'étape de build des autres étapes ;
    • Choisissez Custom script comme type d'exécution (Run type) ;
    • Ajoutez la commande suivante en tant que Custom script ;
      ostorlab --api-key=%env.OSTORLAB_API_KEY% ci-scan run --title=%Scan_Title% --scan-profile=%env.SCAN_PROFILE% android-apk /tmp/OstorlabInsecureApp.apk
      
      Consultez Options supplémentaires ci-dessous pour la liste complète des options.
    • L'étape doit s'exécuter à l'intérieur du conteneur ostorlab :
      • Ajoutez ostorlab/oxo:latest dans le champ Run step within container ;
      • Choisissez Linux comme plateforme d'image (Image platform) ;
      • Cliquez sur Edit arguments dans l'étape Additional run arguments ;
      • Montez l'application dans le conteneur ostorlab, -v source_path:destination_path
        -v /opt/buildagent/work/OstorlabInsecureApp.apk:/tmp/OstorlabInsecureApp.apk
        
        Assurez-vous que destination_path est identique à celui défini précédemment dans la commande ostorlab ci-scan run.

    Step configuration

  4. Ajoutez les paramètres de l'étape : Par exemple : la commande précédente utilise le paramètre : --title=%Scan_Title%, que vous pouvez définir en :

    • Cliquant sur Parameters ;
    • Cliquant sur Add new parameter ;
    • Remplissant le Name, le Kind (en tant que Configuration parameter), la valeur et son type ;
    • Cliquant sur Save.

    Add parameters

  5. Ajoutez des variables d'environnement Vous pouvez également ajouter des variables d'environnement à utiliser par la commande ostorlab, en suivant la même procédure qu'à l'étape 4, mais en choisissant Environment variable (env.) pour le Kind.

    Add env variables

Tous les paramètres : All Parameters

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 de l'analyse

  • --scan-profile : Type de l'analyse. Les options possibles sont :

    1. fast_scan : Exécute uniquement l'analyse statique ;
    2. full_scan : Exécute les analyses statiques, dynamiques et backend.
  • Identifiants de test (Test credentials) : Authentification automatique lors de l'analyse dynamique complète :

    • --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 :

  • --sbom : Chemin d'accès au fichier sbom. Le fichier sbom doit également être monté comme spécifié à l'étape 3.

  • Invites d'interface utilisateur (UI Prompts) (Optionnel) : Ostorlab prend en charge les invites d'interface utilisateur pour guider le scanner à travers l'interface utilisateur de votre application. Vous pouvez utiliser :

    • --ui-prompt-name et --ui-prompt-action : Définissez une étape d'interface utilisateur en spécifiant le nom et l'action. Vous pouvez ajouter plusieurs paires pour une séquence d'étapes. 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 : Référencez des flux d'invites d'interface utilisateur existants par leur ID. Vous pouvez ajouter plusieurs ID. Par exemple :
      --ui-prompt-id 123 --ui-prompt-id 456
      
  • asset-type : Type d'actif à analyser. Valeurs possibles :

    • android-aab : Analyser un fichier de package Android .AAB ;
    • android-apk : Analyser un fichier de package Android .APK ;
    • ios-ipa : Analyser un fichier de package iOS .IPA ;
  • target : Chemin vers l'application cible. L'application doit être montée comme spécifié à l'étape 3.