appscan_config Paramètres et modèle de fichier

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 défini 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 souhaitez que la cible de l'examen soit traitée comme un simple répertoire et que seuls les fichiers de sortie soient localisés, spécifiez outputs-only="true" dans l'élément Target.

Si vous indiquez <Target outputs-only="false" path="C:\Tomcat">, l'utilitaire de ligne de commande suppose que la cible est votre serveur d'applications 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 Spécifiez 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 du langage cible.

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

  • Include
    Spécifiez les modèles de fichiers (<string_pattern>) à inclure lors de l'examen. Le comportement Include dépend du type de cible, comme expliqué à la section Comportement d'inclusion et d'exclusion des cibles. Pour spécifier plusieurs modèles include, ajoutez chaque modèle dans sa propre balise <Include></Include>. Par exemple,
    <Include>string_pattern_1</Include>
    <Include>string_pattern_2</Include>
    Remarque : Si vous spécifiez des modèles include et exclude contradictoires, les modèles exclude ont la priorité.
  • Exclude

    Spécifiez les modèles de fichiers à exclure lors de l'examen. Le comportement Exclude dépend du type de cible, comme expliqué à la section Comportement d'inclusion et d'exclusion des cibles. Pour spécifier plusieurs modèles exclude, ajoutez chaque modèle dans sa propre balise <Exclude></Exclude>.

Tableau 1. Attributs <CustomBuildInfo>
Langage 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 Sur Windows, séparez les chemins d'accès à différentes classes par un point-virgule. Sur Linux, séparez les chemins d'accès à différentes classes par un deux-points.
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. 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. 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. 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 des sous-cibles WAR et JAR, il est supposé que ces sous-cibles WAR et JAR ont les mêmes valeurs que celles définies pour le fichier EAR qui utilise ces attributs.