Skip to content

Commit 1c136e3

Browse files
committed
Ruby: rerun patch query after bugfix
1 parent 28f3073 commit 1c136e3

File tree

10 files changed

+58
-11
lines changed

10 files changed

+58
-11
lines changed

ruby/ql/lib/codeql/ruby/security/ConditionalBypassQuery.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ private module Config implements DataFlow::ConfigSig {
1818

1919
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
2020

21-
predicate observeDiffInformedIncrementalMode() { any() }
21+
predicate observeDiffInformedIncrementalMode() {
22+
// TODO(diff-informed): Manually verify if config can be diff-informed.
23+
// ql/src/experimental/cwe-807/ConditionalBypass.ql:78: Flow call outside 'select' clause
24+
none()
25+
}
2226
}
2327

2428
/**

ruby/ql/lib/codeql/ruby/security/InsecureDownloadQuery.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@ private module InsecureDownloadConfig implements DataFlow::StateConfigSig {
2121

2222
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
2323

24-
predicate observeDiffInformedIncrementalMode() { any() }
24+
predicate observeDiffInformedIncrementalMode() {
25+
// TODO(diff-informed): Manually verify if config can be diff-informed.
26+
// ql/src/queries/security/cwe-829/InsecureDownload.ql:20: Column 5 selects sink.getDownloadCall
27+
none()
28+
}
2529
}
2630

2731
/**

ruby/ql/lib/codeql/ruby/security/UnsafeCodeConstructionQuery.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ private module UnsafeCodeConstructionConfig implements DataFlow::ConfigSig {
2525
// override to require the path doesn't have unmatched return steps
2626
DataFlow::FlowFeature getAFeature() { result instanceof DataFlow::FeatureHasSourceCallContext }
2727

28-
predicate observeDiffInformedIncrementalMode() { any() }
28+
predicate observeDiffInformedIncrementalMode() {
29+
// TODO(diff-informed): Manually verify if config can be diff-informed.
30+
// ql/src/queries/security/cwe-094/UnsafeCodeConstruction.ql:25: Column 7 selects sink.getCodeSink
31+
none()
32+
}
2933
}
3034

3135
/**

ruby/ql/lib/codeql/ruby/security/UnsafeHtmlConstructionQuery.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ private module UnsafeHtmlConstructionConfig implements DataFlow::ConfigSig {
2222
// override to require the path doesn't have unmatched return steps
2323
DataFlow::FlowFeature getAFeature() { result instanceof DataFlow::FeatureHasSourceCallContext }
2424

25-
predicate observeDiffInformedIncrementalMode() { any() }
25+
predicate observeDiffInformedIncrementalMode() {
26+
// TODO(diff-informed): Manually verify if config can be diff-informed.
27+
// ql/src/queries/security/cwe-079/UnsafeHtmlConstruction.ql:24: Column 7 selects sink.getXssSink
28+
none()
29+
}
2630
}
2731

2832
/**

ruby/ql/lib/codeql/ruby/security/UnsafeShellCommandConstructionQuery.qll

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,12 @@ private module UnsafeShellCommandConstructionConfig implements DataFlow::ConfigS
2727
// override to require the path doesn't have unmatched return steps
2828
DataFlow::FlowFeature getAFeature() { result instanceof DataFlow::FeatureHasSourceCallContext }
2929

30-
predicate observeDiffInformedIncrementalMode() { any() }
30+
predicate observeDiffInformedIncrementalMode() {
31+
// TODO(diff-informed): Manually verify if config can be diff-informed.
32+
// ql/src/queries/security/cwe-078/UnsafeShellCommandConstruction.ql:26: Column 1 selects sink.getStringConstruction
33+
// ql/src/queries/security/cwe-078/UnsafeShellCommandConstruction.ql:28: Column 7 selects sink.getCommandExecution
34+
none()
35+
}
3136
}
3237

3338
/**

ruby/ql/lib/codeql/ruby/security/WeakSensitiveDataHashingQuery.qll

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ module NormalHashFunction {
2929

3030
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
3131

32-
predicate observeDiffInformedIncrementalMode() { any() }
32+
predicate observeDiffInformedIncrementalMode() {
33+
// TODO(diff-informed): Manually verify if config can be diff-informed.
34+
// ql/lib/codeql/ruby/security/WeakSensitiveDataHashingQuery.qll:83: Flow call outside 'select' clause
35+
none()
36+
}
3337
}
3438

3539
/** Global taint-tracking for detecting "use of a broken or weak cryptographic hashing algorithm on sensitive data" vulnerabilities. */
@@ -57,7 +61,11 @@ module ComputationallyExpensiveHashFunction {
5761

5862
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
5963

60-
predicate observeDiffInformedIncrementalMode() { any() }
64+
predicate observeDiffInformedIncrementalMode() {
65+
// TODO(diff-informed): Manually verify if config can be diff-informed.
66+
// ql/lib/codeql/ruby/security/WeakSensitiveDataHashingQuery.qll:90: Flow call outside 'select' clause
67+
none()
68+
}
6169
}
6270

6371
/** Global taint-tracking for detecting "use of a broken or weak cryptographic hashing algorithm on passwords" vulnerabilities. */

ruby/ql/lib/codeql/ruby/security/regexp/MissingFullAnchorQuery.qll

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@ private module MissingFullAnchorConfig implements DataFlow::ConfigSig {
1818

1919
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
2020

21-
predicate observeDiffInformedIncrementalMode() { any() }
21+
predicate observeDiffInformedIncrementalMode() {
22+
// TODO(diff-informed): Manually verify if config can be diff-informed.
23+
// ql/src/queries/security/cwe-020/MissingFullAnchor.ql:20: Column 7 selects sink.getCallNode
24+
// ql/src/queries/security/cwe-020/MissingFullAnchor.ql:20: Column 9 selects sink.getRegex
25+
none()
26+
}
2227
}
2328

2429
/**

ruby/ql/lib/codeql/ruby/security/regexp/PolynomialReDoSQuery.qll

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@ private module PolynomialReDoSConfig implements DataFlow::ConfigSig {
1919

2020
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
2121

22-
predicate observeDiffInformedIncrementalMode() { any() }
22+
predicate observeDiffInformedIncrementalMode() {
23+
// TODO(diff-informed): Manually verify if config can be diff-informed.
24+
// ql/src/queries/security/cwe-1333/PolynomialReDoS.ql:27: Column 1 selects sink.getHighlight
25+
// ql/src/queries/security/cwe-1333/PolynomialReDoS.ql:29: Column 5 selects sink.getRegExp
26+
none()
27+
}
2328
}
2429

2530
/**

ruby/ql/src/experimental/decompression-api/DecompressionApi.ql

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,11 @@ private module DecompressionApiConfig implements DataFlow::ConfigSig {
4040
// our Decompression APIs defined above will be the sinks we use for this query
4141
predicate isSink(DataFlow::Node sink) { sink instanceof DecompressionApiUse }
4242

43-
predicate observeDiffInformedIncrementalMode() { any() }
43+
predicate observeDiffInformedIncrementalMode() {
44+
// TODO(diff-informed): Manually verify if config can be diff-informed.
45+
// ql/src/experimental/decompression-api/DecompressionApi.ql:54: Column 5 selects sink.getCall
46+
none()
47+
}
4448
}
4549

4650
private module DecompressionApiFlow = TaintTracking::Global<DecompressionApiConfig>;

ruby/ql/src/queries/security/cwe-732/WeakFilePermissions.ql

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@ private module PermissivePermissionsConfig implements DataFlow::ConfigSig {
5555
exists(FileSystemPermissionModification mod | mod.getAPermissionNode() = sink)
5656
}
5757

58-
predicate observeDiffInformedIncrementalMode() { any() }
58+
predicate observeDiffInformedIncrementalMode() {
59+
// TODO(diff-informed): Manually verify if config can be diff-informed.
60+
// ql/src/queries/security/cwe-732/WeakFilePermissions.ql:71: Column 5 does not select a source or sink originating from the flow call on line 69
61+
none()
62+
}
5963
}
6064

6165
private module PermissivePermissionsFlow = DataFlow::Global<PermissivePermissionsConfig>;

0 commit comments

Comments
 (0)