Vue Sources et collecteurs

Cette vue permet de visualiser des constatations en fonction d'une trace des entrées et des sorties.

Cette vue est divisée en trois sections :

  • Sources et collecteurs : Le panneau de gauche comporte trois nœuds de premier niveau :
    • Source : Une source est une entrée du programme, telle qu'un fichier, une requête de servlet, une saisie depuis la console ou un socket. Dans le cas de la plupart des sources d'entrées, les données renvoyées ne sont pas limitées en termes de contenu et de longueur. Lorsqu'une entrée n'est pas vérifiée, elle est considérée comme entachée. Les sources sont répertoriées dans les tables de constatations sous la colonne Source.
    • Collecteur : un collecteur peut être un format externe quelconque dans lequel des données peuvent être consignées. Comme exemples de collecteurs, on peut citer des bases de données, des fichiers, des sorties console et des sockets. La consignation de données dans un collecteur sans leur vérification peut donner lieu à une vulnérabilité sérieuse de la sécurité.
    • Collecteur indéterminé : un collecteur indéterminé est une méthode API qui ne peut plus faire l'objet d'une trace.

    Chaque nœud peut être développé pour afficher les packages affectés. Ceux-ci peuvent eux-mêmes être développés pour afficher les classes affectées, puis les méthodes. Ces méthodes peuvent à leur tour être développées afin d'afficher le package, la classe et la méthode à l'extrémité opposée de la trace. Par exemple, si vous êtes préoccupé par un collecteur spécifique, vous pouvez descendre jusqu'à la méthode sous la racine Collecteurs. A partir de là, l'arborescence sous la méthode afficherait les chemins remontant à toutes les sources ayant conduit à ce collecteur :

    - Sources
    	- packageA
    		- classA
    			- methodA
    				- packageB
    					- classB
    						- methodB (at opposite end of trace)
    - Sinks
    	- packageB
    		- classB
    			- methodB
    				- packageA
    					- classA
    						- methodA
    - Lost Sinks
    

    La sélection opérée dans cette vue de l'arborescence détermine ce qui sera affiché dans les deux autres sections de la vue.

  • Nœuds intermédiaires : Cette section de la vue affiche l'agrégation de tous les nœuds intermédiaires des traces qui s'appliquent à la sélection dans la section Sources et collecteurs. Elle vous permet d'affiner l'affichage du tableau des constatations.

    Cette section est masquée par défaut. Vous pouvez l'afficher (ou la masquer à nouveau) en cliquant sur Afficher/Masquer la table des appels intermédiaires.

    Pour afficher uniquement les constatations concernant un package, une classe ou une méthode, cochez la case dans sa colonne Requis. Pour expurger les constatations concernant un package, une classe ou une méthode, cochez la case dans sa colonne Supprimer. Les paramètres de filtrage de cette section peuvent être utilisés pour créer un nouveau filtre.

    Exemple d'utilisation : Supposons le nœud d'arborescence suivant dans la section Sources et collecteurs :

    - Sources
    	- java.util
    		- Properties
    			- getProperty

    Lorsque getProperty est sélectionnée, le tableau des constatations affiche uniquement celles contenant des traces avec pour source getProperty. A ce point, la section des nœuds intermédiaires les affiche tous (tous les nœuds dans la trace autres que la source et le collecteur) pour toutes les traces avec pour source getProperty. Cependant, le fait que la trace transite par une API spécifique peut vous être indifférent. Vous pouvez, par exemple, disposer d'une routine de validation qui garantit que les données provenant de getProperty sont valides et ne désirez donc pas voir affichées les traces empruntant cette routine de validation. La section des nœuds intermédiaires inclura cette routine de validation puisqu'il s'agit d'un nœud intermédiaire dans la trace. Vous pouvez accédez à cette routine de validation dans la section des noeuds intermédiaires et cocher sa case Supprimer. Ceci éliminera du tableau des constatations toutes celles dont la trace transite par ce nœud intermédiaire.

  • Constatations : cette section contient la même Tableau Constatations (et les actions associées) que celle de la Vue Constatations et des autres vues contenant des constatations. Elle affiche les constatations concernant les sources, collecteurs et nœuds intermédiaires que vous avez choisi d'afficher dans les deux autres sections de la vue.