Skip to content

Commit 1cd8af5

Browse files
authored
Merge pull request #17190 from github/cklin/diff-informed-java-queries
Java: add support for alert location restrictions
2 parents e7bc71f + 75ec8ce commit 1cd8af5

File tree

70 files changed

+299
-23
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+299
-23
lines changed

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl1.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate observeDiffInformedIncrementalMode() { none() }
286288
}
287289

288290
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/security/AndroidIntentRedirectionQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ module IntentRedirectionConfig implements DataFlow::ConfigSig {
1818
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
1919
any(IntentRedirectionAdditionalTaintStep c).step(node1, node2)
2020
}
21+
22+
predicate observeDiffInformedIncrementalMode() { any() }
2123
}
2224

2325
/** Tracks the flow of tainted Intents being used to start Android components. */

java/ql/lib/semmle/code/java/security/ExternallyControlledFormatStringQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ module ExternallyControlledFormatStringConfig implements DataFlow::ConfigSig {
2323
predicate isBarrier(DataFlow::Node node) {
2424
node.getType() instanceof NumericType or node.getType() instanceof BooleanType
2525
}
26+
27+
predicate observeDiffInformedIncrementalMode() { any() }
2628
}
2729

2830
/**

java/ql/lib/semmle/code/java/security/FragmentInjectionQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ module FragmentInjectionTaintConfig implements DataFlow::ConfigSig {
1717
predicate isAdditionalFlowStep(DataFlow::Node n1, DataFlow::Node n2) {
1818
any(FragmentInjectionAdditionalTaintStep c).step(n1, n2)
1919
}
20+
21+
predicate observeDiffInformedIncrementalMode() { any() }
2022
}
2123

2224
/**

java/ql/lib/semmle/code/java/security/GroovyInjectionQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ module GroovyInjectionConfig implements DataFlow::ConfigSig {
1717
predicate isAdditionalFlowStep(DataFlow::Node fromNode, DataFlow::Node toNode) {
1818
any(GroovyInjectionAdditionalTaintStep c).step(fromNode, toNode)
1919
}
20+
21+
predicate observeDiffInformedIncrementalMode() { any() }
2022
}
2123

2224
/**

java/ql/lib/semmle/code/java/security/ImplicitPendingIntentsQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ module ImplicitPendingIntentStartConfig implements DataFlow::StateConfigSig {
4848
node.getType().(Array).getElementType() instanceof TypeIntent and
4949
c instanceof DataFlow::ArrayContent
5050
}
51+
52+
predicate observeDiffInformedIncrementalMode() { any() }
5153
}
5254

5355
module ImplicitPendingIntentStartFlow =

java/ql/lib/semmle/code/java/security/InsecureBeanValidationQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ module BeanValidationConfig implements DataFlow::ConfigSig {
4949
predicate isSource(DataFlow::Node source) { source instanceof ThreatModelFlowSource }
5050

5151
predicate isSink(DataFlow::Node sink) { sink instanceof BeanValidationSink }
52+
53+
predicate observeDiffInformedIncrementalMode() { any() }
5254
}
5355

5456
/** Tracks flow from user input to the argument of a method that builds constraint error messages. */

java/ql/lib/semmle/code/java/security/InsecureLdapAuthQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ module InsecureLdapUrlConfig implements DataFlow::ConfigSig {
2222
succ.asExpr() = ma.getQualifier()
2323
)
2424
}
25+
26+
predicate observeDiffInformedIncrementalMode() { any() }
2527
}
2628

2729
module InsecureLdapUrlFlow = TaintTracking::Global<InsecureLdapUrlConfig>;

java/ql/lib/semmle/code/java/security/InsecureRandomnessQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@ module InsecureRandomnessConfig implements DataFlow::ConfigSig {
9696
n2.asExpr() = c
9797
)
9898
}
99+
100+
predicate observeDiffInformedIncrementalMode() { any() }
99101
}
100102

101103
/**

java/ql/lib/semmle/code/java/security/InsufficientKeySizeQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ module KeySizeConfig implements DataFlow::StateConfigSig {
1616
predicate isSink(DataFlow::Node sink, KeySizeState state) {
1717
sink.(InsufficientKeySizeSink).hasState(state)
1818
}
19+
20+
predicate observeDiffInformedIncrementalMode() { any() }
1921
}
2022

2123
/** Tracks key sizes used in cryptographic algorithms. */

java/ql/lib/semmle/code/java/security/IntentUriPermissionManipulationQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ module IntentUriPermissionManipulationConfig implements DataFlow::ConfigSig {
2323
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
2424
any(IntentUriPermissionManipulationAdditionalTaintStep c).step(node1, node2)
2525
}
26+
27+
predicate observeDiffInformedIncrementalMode() { any() }
2628
}
2729

2830
/**

java/ql/lib/semmle/code/java/security/JexlInjectionQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ module JexlInjectionConfig implements DataFlow::ConfigSig {
5151
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
5252
any(JexlInjectionAdditionalTaintStep c).step(node1, node2)
5353
}
54+
55+
predicate observeDiffInformedIncrementalMode() { any() }
5456
}
5557

5658
/**

java/ql/lib/semmle/code/java/security/JndiInjectionQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ module JndiInjectionFlowConfig implements DataFlow::ConfigSig {
2323
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
2424
any(JndiInjectionAdditionalTaintStep c).step(node1, node2)
2525
}
26+
27+
predicate observeDiffInformedIncrementalMode() { any() }
2628
}
2729

2830
/** Tracks flow of unvalidated user input that is used in JNDI lookup */

java/ql/lib/semmle/code/java/security/LdapInjectionQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ module LdapInjectionFlowConfig implements DataFlow::ConfigSig {
1717
predicate isAdditionalFlowStep(DataFlow::Node pred, DataFlow::Node succ) {
1818
any(LdapInjectionAdditionalTaintStep a).step(pred, succ)
1919
}
20+
21+
predicate observeDiffInformedIncrementalMode() { any() }
2022
}
2123

2224
/** Tracks flow from remote sources to LDAP injection vulnerabilities. */

java/ql/lib/semmle/code/java/security/MissingJWTSignatureCheckQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ module MissingJwtSignatureCheckConfig implements DataFlow::ConfigSig {
1616
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
1717
any(JwtParserWithInsecureParseAdditionalFlowStep c).step(node1, node2)
1818
}
19+
20+
predicate observeDiffInformedIncrementalMode() { any() }
1921
}
2022

2123
module MissingJwtSignatureCheckFlow = DataFlow::Global<MissingJwtSignatureCheckConfig>;

java/ql/lib/semmle/code/java/security/MvelInjectionQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ module MvelInjectionFlowConfig implements DataFlow::ConfigSig {
1919
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
2020
any(MvelInjectionAdditionalTaintStep c).step(node1, node2)
2121
}
22+
23+
predicate observeDiffInformedIncrementalMode() { any() }
2224
}
2325

2426
/** Tracks flow of unsafe user input that is used to construct and evaluate a MVEL expression. */

java/ql/lib/semmle/code/java/security/NumericCastTaintedQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ module NumericCastFlowConfig implements DataFlow::ConfigSig {
102102
}
103103

104104
predicate isBarrierIn(DataFlow::Node node) { isSource(node) }
105+
106+
predicate observeDiffInformedIncrementalMode() { any() }
105107
}
106108

107109
/**

java/ql/lib/semmle/code/java/security/OgnlInjectionQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ module OgnlInjectionFlowConfig implements DataFlow::ConfigSig {
1818
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
1919
any(OgnlInjectionAdditionalTaintStep c).step(node1, node2)
2020
}
21+
22+
predicate observeDiffInformedIncrementalMode() { any() }
2123
}
2224

2325
/** Tracks flow of unvalidated user input that is used in OGNL EL evaluation. */

java/ql/lib/semmle/code/java/security/PartialPathTraversalQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ module PartialPathTraversalFromRemoteConfig implements DataFlow::ConfigSig {
1717
predicate isSink(DataFlow::Node node) {
1818
any(PartialPathTraversalMethodCall ma).getQualifier() = node.asExpr()
1919
}
20+
21+
predicate observeDiffInformedIncrementalMode() { any() }
2022
}
2123

2224
/** Tracks flow of unsafe user input that is used to validate against path traversal, but is insufficient and remains vulnerable to Partial Path Traversal. */

java/ql/lib/semmle/code/java/security/RequestForgeryConfig.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ module RequestForgeryConfig implements DataFlow::ConfigSig {
2828
predicate isBarrier(DataFlow::Node node) { node instanceof RequestForgerySanitizer }
2929

3030
predicate isBarrierIn(DataFlow::Node node) { isSource(node) }
31+
32+
predicate observeDiffInformedIncrementalMode() { any() }
3133
}
3234

3335
module RequestForgeryFlow = TaintTracking::Global<RequestForgeryConfig>;

java/ql/lib/semmle/code/java/security/ResponseSplittingQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ module ResponseSplittingConfig implements DataFlow::ConfigSig {
3131
)
3232
)
3333
}
34+
35+
predicate observeDiffInformedIncrementalMode() { any() }
3436
}
3537

3638
/**

java/ql/lib/semmle/code/java/security/RsaWithoutOaepQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ module RsaWithoutOaepConfig implements DataFlow::ConfigSig {
2020
predicate isSink(DataFlow::Node sink) {
2121
exists(CryptoAlgoSpec cr | sink.asExpr() = cr.getAlgoSpec())
2222
}
23+
24+
predicate observeDiffInformedIncrementalMode() { any() }
2325
}
2426

2527
/** Flow for finding RSA ciphers initialized without using OAEP padding. */

java/ql/lib/semmle/code/java/security/SpelInjectionQuery.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ module SpelInjectionConfig implements DataFlow::ConfigSig {
1818
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
1919
any(SpelExpressionInjectionAdditionalTaintStep c).step(node1, node2)
2020
}
21+
22+
predicate observeDiffInformedIncrementalMode() { any() }
2123
}
2224

2325
/** Tracks flow of unsafe user input that is used to construct and evaluate a SpEL expression. */

0 commit comments

Comments
 (0)