Utilisation de la Utilitaire de ligne de commande Static Analyzer

L'Utilitaire de ligne de commande Static Analyzer (SAClientUtil) permet de générer un fichier IRX qui peut être examiné dans AppScan on Cloud ou dans AppScan 360°. La commande appscan prepare est prise en charge pour une utilisation avec Analyse statique AppScan 360°.

Qu'est-ce qu'un fichier IRX ?

IRX est une archive zip sécurisée et chiffrée qui contient les informations nécessaires à l'exécution d'une analyse statique complète de votre programme. Il est crypté au moment de sa création, ainsi que pendant son transport vers le Cloud (via SSL).

En interne, une archive IRX contient les fichiers et artefacts suivants :

  • Une représentation propriétaire et masquée de vos artefacts de programme déployables, conçue à partir de votre code source déployé (par exemple bytecode Java ou .Net MSIL). Pour savoir quels langages sont pris en charge pour les examens d'analyse statique, voir Configuration requise par le système pour l'analyse statique).
  • Tous les fichiers de script d'exécution déployés avec votre programme qui peuvent être analysés pour détecter des vulnérabilités de sécurité (par exemple des fichiers .js (Javascript) ou .rb (Ruby)).
  • Fichiers de configuration Static Analyzer qui décrivent la hiérarchie de l'application ou du projet et les relations ou dépendances de votre programme. Cela permet une analyse précise et complète de la sécurité à travers les limites du projet au sein de votre application.
  • Fichiers journaux Static Analyzer générés lors de la création de l'archive (pour les diagnostics et le support).

Génération de fichiers IRX

Utilisez appscan prepare ou appscan.sh prepare pour générer un fichier IRX.

Syntaxe :

appscan.sh prepare -c <configuration_file> -d <save_path> -jdk <jdk_path> -l <log_path> -n <file_name> -v, -X,--debug

Description :

Génère un fichier IRX.

Remarque : Lorsque vous examinez du code ou générez un fichier IRX, vous pouvez recevoir un message relatif à la mise à jour vers l'Utilitaire de ligne de commande Static Analyzer le plus récent. Le message fournit des conseils pour la mise à jour ou le refus de la mise à jour.

Indicateurs/paramètres en option :

  • -acceptssl : Permet d'accepter l'utilisation d'un certificat non approuvé.
    Remarque : Ce paramètre peut être utilisé avec toutes les commandes de SAClientUtil.
    Important : Nous recommandons vivement que le certificat installé pour la communication entre le client et AppScan 360° soit un certificat de confiance. Voir Mise en place de l'environnement AppScan 360° pour une installation distribuée.
  • -c : cette option sert à configurer un examen.

  • -d : Spécifiez -d <save_path>, où <save_path> correspond au répertoire dans lequel vous souhaitez enregistrer le fichier IRX.

  • -dr, --dryrun : Spécifiez -dr or --dryrun pour découvrir et valider les cibles de l'examen, mais pas pour générer un fichier .irx.

  • -jdk : Spécifiez -jdk <jdk_path> pour préciser le chemin d'accès à l'installation du JDK à utiliser à la place du JDK 11 par défaut. Si vous utilisez un fichier de configuration (-c <configuration_file>) et que l'attribut jdk_path est utilisé, la valeur spécifiée dans le fichier de configuration est prioritaire.

  • -l : Spécifiez -l <log_path>, où <log_path> correspond au répertoire dans lequel vous souhaitez enregistrer les fichiers journaux.

  • -n : Spécifiez -n <file_name>, où <file_name> correspond au nom du fichier IRX. Vous pouvez indiquer le nom du fichier avec ou sans l'extension de fichier .irx. Si vous le spécifiez sans l'extension, celle-ci est ajoutée automatiquement lorsque le fichier est généré.

  • -s : Spécifiez -s <value> pour indiquer la vitesse et la profondeur de l'examen, où <value> correspond à simple, balanced, deep ou thorough.
    • Un examen simple effectue une analyse superficielle de vos fichiers afin d'identifier les problèmes à corriger au plus vite. C'est celui qui prend le moins de temps à réaliser.
    • Un examen balanced propose un niveau de détail d'analyse et d'identification des problèmes de sécurité moyen et prend un peu plus de temps que l'examen « Simple ».

    • Un examen deep réalise une analyse plus complète de vos fichiers afin d'identifier des vulnérabilités. Il prend généralement plus de temps.

    • Un examen thorough effectue une analyse complète afin de dresser la liste des vulnérabilités la plus exhaustive possible. Il s'agit de l'examen qui prend le plus de temps.

      Remarque : La vitesse d'examen n'est pas nécessairement liée au nombre relatif de vulnérabilités détectées dans le code. Par exemple, une analyse thorough peut exclure les faux positifs qui pourraient être signalés lors d'un examen simple et, par conséquent, signaler moins de vulnérabilités.
      Remarque : Ce paramètre facultatif est sensible à la casse. Lorsqu'aucune vitesse d'examen n'est spécifiée, l'utilitaire client effectue un examen deep par défaut.
  • -sco, --sourceCodeOnly : Spécifiez -sco ou --sourceCodeOnly pour examiner uniquement les fichiers de code source. Ce paramètre désactive l'examen des autres types de fichiers pris en charge, tels que les fichiers .dll, .exe, .jar, .war, .sln et autres.

    Les examens portant uniquement sur le code source sont utiles lorsque vous n'avez accès qu'au code source, que vous souhaitez effectuer un examen plus rapide ou que vous privilégiez la rapidité au détriment de la profondeur de l'examen. Choisissez d'autres options d'examen si vous n'avez accès qu'aux sorties de génération ou si vous préférez la profondeur d'examen à la vitesse.

    Remarque : Pour obtenir la liste des types de fichiers de code source inclus, consultez Prise en charge des langages de l'analyse statique.
  • -t, --thirdParty : Par défaut, le code Java et .NET tiers n'est pas examiné lors de la génération de fichier IRX. Vous pouvez modifier les paramètres d'exclusion de code tiers en suivant les instructions de la section Gestion d'exclusions Java et .NET tierces. Pour inclure du code tiers, spécifiez l'option -t ou --thirdParty lorsque vous exécutez la commande prepare.

    Si vous êtes un développeur de code tiers qui serait normalement exclu dans un examen, vous pouvez utiliser le paramètre permettant d'inclure le code tiers.

  • -v,--verbose : Spécifiez -v ou --verbose pour afficher davantage de résultats informatifs lors de la génération de fichiers IRX.

  • -X,--debug : Spécifiez -X ou --debug pour exécuter la commande complète en mode de débogage. Lors d'une exécution en mode de débogage, davantage de fichiers journaux sont générés pour le dépannage.

Conseil : Pour toutes les commandes, les options peuvent être utilisées dans n'importe quel ordre.

Exemples :

Pour générer un fichier IRX qui utilise ce fichier de configuration, c:\my_config_files\my_config.xml et qui enregistre le fichier IRX sous c:\my_irx_files\my_scan.irx, exécutez la commande suivante :

appscan.sh prepare -c c:\my_config_files\my_config.xml -d c:\my_irx_files -n my_scan.irx