@@ -12,26 +12,24 @@ import semmle.python.dataflow.new.DataFlow
12
12
import semmle.python.dataflow.new.TaintTracking
13
13
import experimental.meta.InlineTaintTest:: Conf
14
14
15
- module Conf implements DataFlow:: ConfigSig {
15
+ module Config implements DataFlow:: ConfigSig {
16
16
predicate isSource ( DataFlow:: Node source ) {
17
- any ( TestTaintTrackingConfiguration c ) .isSource ( source )
17
+ any ( TestTaintTrackingConfiguration c ) .isSource ( source )
18
18
}
19
- predicate isSink ( DataFlow:: Node source ) {
20
- any ( TestTaintTrackingConfiguration c ) .isSink ( source )
21
- }
22
- }
23
- int explorationLimit ( ) { result = 5 }
24
19
25
- module Flows = TaintTracking:: Global< Conf > ;
20
+ predicate isSink ( DataFlow:: Node source ) { any ( TestTaintTrackingConfiguration c ) .isSink ( source ) }
21
+ }
26
22
27
- module FlowsPartial = Flows :: FlowExploration < explorationLimit / 0 > ;
23
+ module Flows = TaintTracking :: Global < Config > ;
28
24
29
- // import FlowsPartial::PartialPathGraph
30
25
import Flows:: PathGraph
31
26
32
- // from FlowsPartial::PartialPathNode source, FlowsPartial::PartialPathNode sink
33
- // where FlowsPartial::partialFlow(source, sink, _)
27
+ // int explorationLimit() { result = 5 }
28
+ // module FlowsPartial = Flows::FlowExploration<explorationLimit/0>;
29
+ // import FlowsPartial::PartialPathGraph
34
30
from Flows:: PathNode source , Flows:: PathNode sink
35
31
where Flows:: flowPath ( source , sink )
32
+ // from FlowsPartial::PartialPathNode source, FlowsPartial::PartialPathNode sink
33
+ // where FlowsPartial::partialFlow(source, sink, _)
36
34
select sink .getNode ( ) , source , sink , "This node receives taint from $@." , source .getNode ( ) ,
37
35
"this source"
0 commit comments