Skip to content

Commit 6c0b50c

Browse files
authored
Merge pull request github#11980 from geoffw0/modern2
Swift: Structure modernized queries more consistently
2 parents 794ba42 + 5375678 commit 6c0b50c

10 files changed

+25
-8
lines changed

swift/ql/lib/codeql/swift/dataflow/ExternalFlow.qll

+3-3
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ private module Frameworks {
8989
private import codeql.swift.frameworks.StandardLibrary.UrlSession
9090
private import codeql.swift.frameworks.StandardLibrary.WebView
9191
private import codeql.swift.frameworks.Alamofire.Alamofire
92-
private import codeql.swift.security.CleartextLogging
93-
private import codeql.swift.security.PathInjection
94-
private import codeql.swift.security.PredicateInjection
92+
private import codeql.swift.security.CleartextLoggingExtensions
93+
private import codeql.swift.security.PathInjectionExtensions
94+
private import codeql.swift.security.PredicateInjectionExtensions
9595
}
9696

9797
/**

swift/ql/lib/codeql/swift/security/CleartextLogging.qll renamed to swift/ql/lib/codeql/swift/security/CleartextLoggingExtensions.qll

+3
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ class CleartextLoggingAdditionalTaintStep extends Unit {
2525
abstract predicate step(DataFlow::Node n1, DataFlow::Node n2);
2626
}
2727

28+
/**
29+
* A sink defined in a CSV model.
30+
*/
2831
private class DefaultCleartextLoggingSink extends CleartextLoggingSink {
2932
DefaultCleartextLoggingSink() { sinkNode(this, "logging") }
3033
}

swift/ql/lib/codeql/swift/security/CleartextLoggingQuery.qll

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import swift
77
private import codeql.swift.dataflow.DataFlow
88
private import codeql.swift.dataflow.TaintTracking
9-
private import codeql.swift.security.CleartextLogging
9+
private import codeql.swift.security.CleartextLoggingExtensions
1010
private import codeql.swift.security.SensitiveExprs
1111

1212
/**

swift/ql/lib/codeql/swift/security/PathInjection.qll renamed to swift/ql/lib/codeql/swift/security/PathInjectionExtensions.qll

+3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ class PathInjectionAdditionalTaintStep extends Unit {
2929
abstract predicate step(DataFlow::Node node1, DataFlow::Node node2);
3030
}
3131

32+
/**
33+
* A sink defined in a CSV model.
34+
*/
3235
private class DefaultPathInjectionSink extends PathInjectionSink {
3336
DefaultPathInjectionSink() { sinkNode(this, "path-injection") }
3437
}

swift/ql/lib/codeql/swift/security/PathInjectionQuery.qll

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ private import codeql.swift.dataflow.DataFlow
88
private import codeql.swift.dataflow.ExternalFlow
99
private import codeql.swift.dataflow.FlowSources
1010
private import codeql.swift.dataflow.TaintTracking
11-
private import codeql.swift.security.PathInjection
11+
private import codeql.swift.security.PathInjectionExtensions
1212

1313
/**
1414
* A taint-tracking configuration for path injection vulnerabilities.

swift/ql/lib/codeql/swift/security/PredicateInjection.qll renamed to swift/ql/lib/codeql/swift/security/PredicateInjectionExtensions.qll

+3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ class PredicateInjectionAdditionalTaintStep extends Unit {
2424
abstract predicate step(DataFlow::Node n1, DataFlow::Node n2);
2525
}
2626

27+
/**
28+
* A sink defined in a CSV model.
29+
*/
2730
private class DefaultPredicateInjectionSink extends PredicateInjectionSink {
2831
DefaultPredicateInjectionSink() { sinkNode(this, "predicate-injection") }
2932
}

swift/ql/lib/codeql/swift/security/PredicateInjectionQuery.qll

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import swift
77
private import codeql.swift.dataflow.DataFlow
88
private import codeql.swift.dataflow.FlowSources
99
private import codeql.swift.dataflow.TaintTracking
10-
private import codeql.swift.security.PredicateInjection
10+
private import codeql.swift.security.PredicateInjectionExtensions
1111

1212
/**
1313
* A taint-tracking configuration for predicate injection vulnerabilities.

swift/ql/lib/codeql/swift/security/UncontrolledFormatStringExtensions.qll

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ private class DefaultUncontrolledFormatStringSink extends UncontrolledFormatStri
3434
// the format argument to a `FormattingFunctionCall`.
3535
this.asExpr() = any(FormattingFunctionCall fc).getFormat()
3636
or
37-
// a sink defined in a Csv model.
37+
// a sink defined in a CSV model.
3838
sinkNode(this, "uncontrolled-format-string")
3939
}
4040
}

swift/ql/lib/codeql/swift/security/XXE.qll renamed to swift/ql/lib/codeql/swift/security/XXEExtensions.qll

+8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import swift
44
private import codeql.swift.dataflow.DataFlow
55
private import codeql.swift.frameworks.AEXML
66
private import codeql.swift.frameworks.Libxml2
7+
private import codeql.swift.dataflow.ExternalFlow
78

89
/** A data flow sink for XML external entities (XXE) vulnerabilities. */
910
abstract class XxeSink extends DataFlow::Node { }
@@ -201,3 +202,10 @@ private predicate lib2xmlOptionLocalTaintStep(DataFlow::Node source, DataFlow::N
201202
source.asExpr() = int32Init.getAnArgument().getExpr() and sink.asExpr() = int32Init
202203
)
203204
}
205+
206+
/**
207+
* A sink defined in a CSV model.
208+
*/
209+
private class DefaultXxeSink extends XxeSink {
210+
DefaultXxeSink() { sinkNode(this, "xxe") }
211+
}

swift/ql/lib/codeql/swift/security/XXEQuery.qll

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import swift
77
import codeql.swift.dataflow.DataFlow
88
import codeql.swift.dataflow.FlowSources
99
import codeql.swift.dataflow.TaintTracking
10-
import codeql.swift.security.XXE
10+
import codeql.swift.security.XXEExtensions
1111

1212
/**
1313
* A taint-tracking configuration for XML external entities (XXE) vulnerabilities.

0 commit comments

Comments
 (0)