Skip to content

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

actions/ql/lib/codeql/actions/security/ArgumentInjectionQuery.qll

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
private import actions
22
private import codeql.actions.TaintTracking
33
private import codeql.actions.dataflow.ExternalFlow
4+
private import codeql.actions.security.ControlChecks
45
import codeql.actions.dataflow.FlowSources
56
import codeql.actions.DataFlow
67

@@ -88,6 +89,19 @@ private module ArgumentInjectionConfig implements DataFlow::ConfigSig {
8889
run.getScript().getAnEnvReachingArgumentInjectionSink(var, _, _)
8990
)
9091
}
92+
93+
predicate observeDiffInformedIncrementalMode() { any() }
94+
95+
Location getASelectedSourceLocation(DataFlow::Node source) { none() }
96+
97+
Location getASelectedSinkLocation(DataFlow::Node sink) {
98+
result = sink.getLocation()
99+
or
100+
exists(Event event | result = event.getLocation() |
101+
inPrivilegedContext(sink.asExpr(), event) and
102+
not exists(ControlCheck check | check.protects(sink.asExpr(), event, "argument-injection"))
103+
)
104+
}
91105
}
92106

93107
/** Tracks flow of unsafe user input that is used to construct and evaluate a code script. */

0 commit comments

Comments
 (0)