Modèle de fichier appscan_config et paramètres

Lorsque vous préparez le fichier de configuration, utilisez le modèle suivant :

<Configuration attributes="true/false">
    <Targets>
        <Target outputs-only="true/false" path="scan_target_path">
            <CustomBuildInfo build_info="info"/>
            <Include>string_pattern</Include>
            <Exclude>string_pattern</Exclude>
        </Target>
    </Targets>
</Configuration>
Dans le modèle, vous pouvez personnaliser davantage l'examen à gérer :
  • attributs de configuration
  • cibles d'examen
  • informations sur la génération personnalisée
  • inclure et exclure des chaînes

Attributs de configuration du fichier appscan_config

Utilisez les attributs de configuration facultatifs pour indiquer un examen tiers et/ou Open Source :
Attribut Description Par défaut
thirdParty="<true or false>" Active l'examen des artefacts tiers. false
openSourceOnly="<true or false>" Désactive l'examen de sécurité et n'exécute qu'une analyse Open Source. false
staticAnalysisOnly="<true or false>" Désactive l'examen Open Source et n'exécute qu'une analyse statique. false
sourceCodeOnly="<true or false>" N'examine que les fichiers source et ignore les autres types de fichiers pris en charge : .NET (.dll, .exe,.sln), C (.sln). false

attributs d'élément <Target> du fichier appscan_config

Utilisez l'élément Targets pour indiquer les cibles à examiner lors d'un examen avec l'interface de ligne de commande.

Attribut Description Notes Exemple
outputs-only Uniquement utilisé lorsque vous souhaitez examiner un répertoire et forcer l'utilitaire de ligne de commande à rechercher uniquement les fichiers de sortie de génération (tels que les fichiers .jar, .war et .class). Par défaut, cet attribut est réglé sur false. Autrement dit, l'utilitaire de ligne de commande recherche le répertoire afin de déterminer s'il s'agit d'une cible (comme un serveur d'application ou un espace de travail Eclipse) ou si le répertoire contient des éléments tels que des scripts de génération, des fichiers Maven .pom et des fichiers make.

Si vous voulez que la cible de l'examen soit traitée comme un simple répertoire, et si vous n'avez localisé que les fichiers de sortie, spécifiez outputs-only="true" dans l'élément Target.

Par exemple, si vous indiquez <Target outputs-only="false" path="C:\Tomcat">, l'utilitaire de ligne de commande suppose que la cible est votre serveur d'application Tomcat et recherche alors ses fichiers déployés .war.

En revanche, si vous indiquez <Target outputs-only="true" path="C:\Tomcat">, l'utilitaire de ligne de commande considère cet emplacement comme un répertoire et localise tous les fichiers de sortie de génération qu'il contient.

path Indiquez le chemin d'accès à une cible d'examen ou un répertoire de cibles d'examen (<scan_target_path>). Lorsqu'un répertoire est indiqué, tous ses sous-répertoires sont inclus dans l'examen.

Si vous indiquez <Target outputs-only="false" path="C:\WebSphere\AppServer85\profiles\AppSrv01">, l'utilitaire de ligne de commande localise tous les fichiers .ear déployés dans le AppSrv01profil.

Si vous indiquez <Target outputs-only="false" path="C:\WebSphere\AppServer85">, l'utilitaire de ligne de commande localise tous les fichiers .ear déployés dans tous les profils.

sous-éléments <Target> du fichier appscan_config

Il existe trois sous-éléments <Target> facultatifs :
  • CustomBuildInfo

    Indiquez les informations de génération en fonction du langage cible. Pour certains langages, il est possible de définir plusieurs attributs. Par exemple, vous pouvez définir <CustomBuildInfo build_info_1="info_1" build_info_2="info_2" build_info_3="info_3"/>, en fonction de la langue cible.

    Pour plus d'informations sur l'utilisation de CustomBuildInfo, consultez le tableau ci-dessous.

  • Include
    Indiquer des modèles de fichier (<string_pattern>) à inclure lorsque vous effectuez un examen. Le comportement Include dépend du type de cible, tel qu'expliqué dans la section Comportement d'inclusion et d'exclusion des cibles. Pour indiquer plusieurs schémas include, ajoutez chaque schéma dans sa propre balise <Include></Include>. Par exemple,
    <Include>string_pattern_1</Include>
    <Include>string_pattern_2</Include>
    Remarque : Si vous spécifiez des masques include et exclude qui entrent en conflit, les masques exclude ont la priorité.
  • Exclude

    Indiquer des modèles de fichier à exclure lorsque vous effectuez un examen. Le comportement Exclude dépend du type de cible, tel qu'expliqué dans la section Comportement d'inclusion et d'exclusion des cibles. Pour indiquer plusieurs schémas exclude, ajoutez chaque schéma dans sa propre balise <Exclude></Exclude>.

Tableau 1. Attributs <CustomBuildInfo>
Langue Syntaxe Attribut Description Remarques/exemples
Java <CustomBuildInfo additional_classpath="dependency_path" jdk_path="JDK_path" jsp_compiler="JSP_compiler_path" package_includes="namespaces" package_excludes="namespaces"/> additional_classpath Spécifier d'autres chemins d'accès aux classes Sous Windows, séparez plusieurs chemins d'accès aux classes par un point-virgule. Sous Linux, séparez plusieurs chemins d'accès aux classes par une virgule.
jdk_path Le chemin d'accès à votre installation JDK
jdk_compiler Le chemin d'accès à votre compilateur JSP
jsp_compiler="C:\Tomcat"
jsp_compiler="C:\Program Files (x86)\IBM\WebSphere\AppServer"
jsp_compiler="C:\Oracle"
package_includes Remplacez les exclusions tierces existantes et n'examiner que les classes appartenant à ou aux espaces de noms donnés. Utilisez des points-virgules pour délimiter la liste des espaces de noms. Par exemple :
package_includes="com.hcl.example;com.hcl.sample"
package_excludes Ajoutez les espaces de noms spécifiés à la liste existante des exclusions de tiers. Utilisez des points-virgules pour délimiter la liste des espaces de noms.
irx_minor_cache_home Définissez l'emplacement du cache de traitement parallèle Java. La valeur doit pointer vers l'emplacement utilisé pour le cache. Par exemple :
<CustomBuildInfo irx_minor_cache_home="X:/mycache"/>
JSP (sous Tomcat fourni) <CustomBuildInfo jsp_compiler_args="-ARGUMENTS"/> jsp_compiler_args Spécifiez des arguments de ligne de commande du compilateur JSP afin de définir ou de supprimer le compilateur JSP.
.NET (Windows uniquement) <CustomBuildInfo references="assembly_references" configuration="build_configuration"/> references Ajouter des références d'assemblage Séparez les différentes références à l'aide d'un point-virgule.
configuration Incluez une configuration de génération pour la détection de la solution Visual Studio.
package_includes Remplacez les exclusions tierces existantes et n'examiner que les classes appartenant à ou aux espaces de noms donnés. Utilisez des points-virgules pour délimiter la liste des espaces de noms. Par exemple :
package_includes="com.hcl.example;com.hcl.sample"
package_excludes Ajoutez les espaces de noms spécifiés à la liste existante des exclusions de tiers. Utilisez des points-virgules pour délimiter la liste des espaces de noms.
C/C++ (Windows uniquement) <CustomBuildInfo configuration="build_configuration" include_paths="include_directories" macros="macros" compiler_opts=/> configuration Inclure une configuration de génération
include_paths Spécifier des chemins d'inclusion Séparez les différents chemins d'inclusion à l'aide d'un point-virgule.
macros Inclure des macros Séparez les différentes macros à l'aide d'un point-virgule.
compiler_ops Spécifier des options de compilation Séparez les différentes options à l'aide d'un point-virgule.
Remarque : les valeurs définies par ces attributs sont reportées sur des sous-cibles. Par exemple, si votre cible est un fichier EAR qui comprend les sous-cibles WAR et JAR, il est supposé que WAR et JAR ont les mêmes valeurs que celles définies pour le fichier EAR qui utilise ces attributs.