Annotations du code source Java prises en charge
Lors de l'utilisation de l'analyse statique pour examiner Java™, les annotations au niveau de la méthode @ValidatorMethod, @CallbackMethod et @SuppressSecurityTrace sont prises en charge.
Utilisation des annotations
Il est possible d'utiliser les annotations comme suit :
- Les annotations sont prises en charge par défaut. Le fichier d'annotation .jar est situé dans le répertoire \annotation du fichier
SAClientUtil_<version>_<os>.zipextrait. - Si vous examinez des classes précompilées, ou des fichiers .war ou .jar, ajoutez
\annotation\com.static.analyzer.annotation.jarau projet Java qui contient les sources annotées et générez à nouveau le projet. - Si vous effectuez des examens dans un environnement de développement intégré (IDE) dans lequel le plug-in d'analyse statique est installé, ajoutez
\annotation\com.static.analyzer.annotation.jarau chemin d'accès aux classes Java. - Si vous utilisez l'interface de ligne de commande de l'analyse statique, créez un fichier de configuration et, dans celui-ci, définissez
CustomBuildInfo additional_classpath="dependency_path"de manière à ce quedependency_pathcomprenne l'emplacement du fichier\annotation\com.static.analyzer.annotation.jar.
Les annotations peuvent être ajoutées au code source avant l'examen, ou après l'examen et pendant le triage pour identifier et éliminer les faux positifs. Si vous effectuez des examens dans un environnement de développement intégré où le plug-in d'analyse statique est installé, un bouton M'aider à résoudre ce problème est disponible dans le rapport d'examen. Lorsque vous sélectionnez ce bouton, des points où des annotations peuvent être ajoutées vous sont présentés.
Les annotations permettent d'insérer directement des connaissances dans le code source sous la forme d'annotations de sécurité. Les annotations pouvant être utilisées pour déclarer fiables des portions de code, elles doivent être utilisées avec beaucoup de précautions. Elles ne doivent pas être utilisées pour du code dans lequel des vulnérabilités de sécurité doivent être recherchées. Si vous utilisez des annotations, un analyste de sécurité peut choisir de les ignorer en désactivant la fonctionnalité dans le fichier irgen-engine.apsettings situé dans le répertoire \config du fichier SAClientUtil_<version>_<os>.zip extrait. Dans ce fichier, repérez le paramètre suivant :
<Setting
name="process_security_annotations"
value="true"
default_value="true"
description="When turned on, method annotations will be processed - used by DotNet and Java LSPs"
display_name="Process Security Annotations"
type="bool"
/>
Pour désactiver la fonctionnalité, remplacez value="true" par value="false".
value="false", définissez-le sur value="true" si vous souhaitez utiliser des annotations.@ValidatorMethod
Les valideurs sont des méthodes qui vérifient les données en entrée et renvoient généralement une valeur booléenne qui indique si l'entrée est valide. Plutôt que d'accepter ou de rejeter les entrées utilisateur à l'aide de valideurs, vous pouvez les modifier pour leur donner un format acceptable. Ces méthodes sont appelées étapes de nettoyage.
L'annotation @ValidatorMethod permet d'identifier toutes les méthodes de validation et de nettoyage dans le code source de l'application. Au cours des examens d'analyse statique, ces informations sont utilisées pour supprimer les flux de données qui transitent par ces méthodes, puisque ces données sont alors considérées comme fiables.
@SuppressSecurityTrace
Toutes les traces qui passent par une méthode marquée avec cette annotation sont supprimées. Cette annotation est utile lorsqu'un groupe de traces est identifié comme des faux positifs, ou est moins important ou intéressant que d'autres. Vous pouvez l'utiliser pour éliminer ces traces, ou pour les masquer afin de réduire l'encombrement.
@CallbackMethod
Cette annotation est utilisée pour identifier des rappels ou les points d'entrée d'une application. Tous les arguments sont considérés comme tachés.