Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7db1dab

Browse files
committed
Make TaintedPath use new API
1 parent 6c91f77 commit 7db1dab

2 files changed

Lines changed: 17 additions & 5 deletions

File tree

go/ql/lib/semmle/go/security/TaintedPath.qll

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ module TaintedPath {
1212
import TaintedPathCustomizations::TaintedPath
1313

1414
/**
15+
* DEPRECATED: Use `Flow` instead.
16+
*
1517
* A taint-tracking configuration for reasoning about path-traversal vulnerabilities.
1618
*/
17-
class Configuration extends TaintTracking::Configuration {
19+
deprecated class Configuration extends TaintTracking::Configuration {
1820
Configuration() { this = "TaintedPath" }
1921

2022
override predicate isSource(DataFlow::Node source) { source instanceof Source }
@@ -26,4 +28,14 @@ module TaintedPath {
2628
node instanceof Sanitizer
2729
}
2830
}
31+
32+
private module Config implements DataFlow::ConfigSig {
33+
predicate isSource(DataFlow::Node source) { source instanceof Source }
34+
35+
predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
36+
37+
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
38+
}
39+
40+
module Flow = TaintTracking::Global<Config>;
2941
}

go/ql/src/Security/CWE-022/TaintedPath.ql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
*/
1717

1818
import go
19-
import semmle.go.security.TaintedPath::TaintedPath
20-
import DataFlow::PathGraph
19+
import semmle.go.security.TaintedPath
20+
import TaintedPath::Flow::PathGraph
2121

22-
from Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink
23-
where cfg.hasFlowPath(source, sink)
22+
from TaintedPath::Flow::PathNode source, TaintedPath::Flow::PathNode sink
23+
where TaintedPath::Flow::flowPath(source, sink)
2424
select sink.getNode(), source, sink, "This path depends on a $@.", source.getNode(),
2525
"user-provided value"

0 commit comments

Comments
 (0)