using System.Collections.Generic; namespace Model.Rules { /// /// Model.Rules TaintPropagationRules class. /// /// Contains all the information gained from the .json config file for /// solving the taint variable propagation problems. Each taint variable /// propagation problem will be solved with the consideration of these /// rules, therefore by changing these rules it is possible to manipulate /// with the final result and adjust it according to our needs. /// /// public class TaintPropagationRules { /// /// Maximal level of recursion in method-body blocks during /// interprocedural analysis. If the Scope is not interprocedural, then /// the Level will not be taken into consideration during analysis. /// /// integer - max level of recursion during interp. analysis. /// public int Level { get; set; } /// /// Gets or sets the source areas used to label the results for easier /// orientation in results. /// /// The list of source areas. public List SourceAreas { get; set; } /// /// Gets or sets the list of sink methods. Sink methods are methods /// which are considered as potentialy vulnerable if at least one /// unchecked user-provided argument is passed to them. For example /// methods which communicate with a database. /// /// The list of sink methods. public List SinkMethods { get; set; } /// /// Gets or sets the list of cleaning methods. Cleaning methods are /// methods which are considered as safe under any circumstances, and at /// any time, any argument can be passed to them without the need to /// track the argument. It is immediately considered as cleaned and /// tracking the argument may be considered as finished. /// /// The list of cleaning methods. public List CleaningMethods { get; set; } } }