Files
codeql/java/ql/test/library-tests/frameworks/guice/flow.ql
2024-09-12 10:16:55 +02:00

22 lines
606 B
Plaintext

import java
import semmle.code.java.dataflow.FlowSources
import semmle.code.java.dataflow.TaintTracking
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node src) { src instanceof ActiveThreatModelSource }
predicate isSink(DataFlow::Node sink) {
exists(MethodCall ma |
sink.asExpr() = ma.getAnArgument() and
ma.getMethod().hasName("sink")
) and
sink.asExpr().getFile().getStem() = "GuiceRequestParameters"
}
}
module Flow = TaintTracking::Global<Config>;
from DataFlow::Node src, DataFlow::Node sink
where Flow::flow(src, sink)
select src, sink