Files
codeql/csharp/ql/test/library-tests/csharp7/GlobalTaintTracking.ql
2023-04-12 11:15:14 +02:00

21 lines
526 B
Plaintext

/**
* @kind path-problem
*/
import csharp
import Taint::PathGraph
module TaintConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { source.asExpr().(Expr).getValue() = "tainted" }
predicate isSink(DataFlow::Node sink) {
exists(LocalVariable v | sink.asExpr() = v.getInitializer())
}
}
module Taint = TaintTracking::Global<TaintConfig>;
from Taint::PathNode source, Taint::PathNode sink
where Taint::flowPath(source, sink)
select source, source, sink, "$@", sink, sink.toString()