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.
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 deSAClientUtil
.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'attributjdk_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
outhorough
.- 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 analysethorough
peut exclure les faux positifs qui pourraient être signalés lors d'un examensimple
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 examendeep
par défaut.
- Un examen
-
-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 commandeprepare
.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.
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