Merge pull request #8401 from jketema/taint-flow

Extend taint tracking interface with flow states
This commit is contained in:
Jeroen Ketema
2022-03-14 12:06:10 +01:00
committed by GitHub
28 changed files with 825 additions and 25 deletions

View File

@@ -19,13 +19,13 @@ module NoSqlInjection {
state instanceof ConvertedToDict
}
override predicate isBarrier(DataFlow::Node node, DataFlow::FlowState state) {
override predicate isSanitizer(DataFlow::Node node, DataFlow::FlowState state) {
// Block `RemoteInput` paths here, since they change state to `ConvertedToDict`
exists(Decoding decoding | decoding.getFormat() = "JSON" and node = decoding.getOutput()) and
state instanceof RemoteInput
}
override predicate isAdditionalFlowStep(
override predicate isAdditionalTaintStep(
DataFlow::Node nodeFrom, DataFlow::FlowState stateFrom, DataFlow::Node nodeTo,
DataFlow::FlowState stateTo
) {