Skip to content

Commit e895cac

Browse files
authored
Merge pull request github#12877 from geoffw0/deprecated
Swift: Delete deprecated classes
2 parents aa3e8d6 + 3779d84 commit e895cac

13 files changed

+12
-261
lines changed

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

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,6 @@ private import codeql.swift.dataflow.TaintTracking
99
private import codeql.swift.security.CleartextLoggingExtensions
1010
private import codeql.swift.security.SensitiveExprs
1111

12-
/**
13-
* A taint-tracking configuration for cleartext logging of sensitive data vulnerabilities.
14-
*/
15-
deprecated class CleartextLoggingConfiguration extends TaintTracking::Configuration {
16-
CleartextLoggingConfiguration() { this = "CleartextLoggingConfiguration" }
17-
18-
override predicate isSource(DataFlow::Node source) { source.asExpr() instanceof SensitiveExpr }
19-
20-
override predicate isSink(DataFlow::Node sink) { sink instanceof CleartextLoggingSink }
21-
22-
override predicate isSanitizer(DataFlow::Node sanitizer) {
23-
sanitizer instanceof CleartextLoggingSanitizer
24-
}
25-
26-
// Disregard paths that contain other paths. This helps with performance.
27-
override predicate isSanitizerIn(DataFlow::Node node) { this.isSource(node) }
28-
29-
override predicate isAdditionalTaintStep(DataFlow::Node n1, DataFlow::Node n2) {
30-
any(CleartextLoggingAdditionalTaintStep s).step(n1, n2)
31-
}
32-
}
33-
3412
/**
3513
* A taint-tracking configuration for cleartext logging of sensitive data vulnerabilities.
3614
*/

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

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -13,47 +13,7 @@ import codeql.swift.security.CleartextStorageDatabaseExtensions
1313
* A taint configuration from sensitive information to expressions that are
1414
* transmitted over a network.
1515
*/
16-
deprecated class CleartextStorageConfig extends TaintTracking::Configuration {
17-
CleartextStorageConfig() { this = "CleartextStorageConfig" }
18-
19-
override predicate isSource(DataFlow::Node node) { node.asExpr() instanceof SensitiveExpr }
20-
21-
override predicate isSink(DataFlow::Node node) { node instanceof CleartextStorageDatabaseSink }
22-
23-
override predicate isSanitizer(DataFlow::Node sanitizer) {
24-
sanitizer instanceof CleartextStorageDatabaseSanitizer
25-
}
26-
27-
override predicate isAdditionalTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
28-
any(CleartextStorageDatabaseAdditionalTaintStep s).step(nodeFrom, nodeTo)
29-
}
30-
31-
override predicate isSanitizerIn(DataFlow::Node node) {
32-
// make sources barriers so that we only report the closest instance
33-
isSource(node)
34-
}
35-
36-
override predicate allowImplicitRead(DataFlow::Node node, DataFlow::ContentSet c) {
37-
// flow out from fields of an `NSManagedObject` or `RealmSwiftObject` at the sink,
38-
// for example in `realmObj.data = sensitive`.
39-
isSink(node) and
40-
exists(NominalTypeDecl d, Decl cx |
41-
d.getType().getABaseType*().getUnderlyingType().getName() =
42-
["NSManagedObject", "RealmSwiftObject"] and
43-
cx.asNominalTypeDecl() = d and
44-
c.getAReadContent().(DataFlow::Content::FieldContent).getField() = cx.getAMember()
45-
)
46-
or
47-
// any default implicit reads
48-
super.allowImplicitRead(node, c)
49-
}
50-
}
51-
52-
/**
53-
* A taint configuration from sensitive information to expressions that are
54-
* transmitted over a network.
55-
*/
56-
module CleartextStorageConfig implements DataFlow::ConfigSig {
16+
module CleartextStorageDatabaseConfig implements DataFlow::ConfigSig {
5717
predicate isSource(DataFlow::Node node) { node.asExpr() instanceof SensitiveExpr }
5818

5919
predicate isSink(DataFlow::Node node) { node instanceof CleartextStorageDatabaseSink }
@@ -88,4 +48,4 @@ module CleartextStorageConfig implements DataFlow::ConfigSig {
8848
* Detect taint flow of sensitive information to expressions that are
8949
* transmitted over a network.
9050
*/
91-
module CleartextStorageFlow = TaintTracking::Global<CleartextStorageConfig>;
51+
module CleartextStorageDatabaseFlow = TaintTracking::Global<CleartextStorageDatabaseConfig>;

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

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,32 +13,7 @@ import codeql.swift.security.CleartextStoragePreferencesExtensions
1313
* A taint configuration from sensitive information to expressions that are
1414
* stored as preferences.
1515
*/
16-
deprecated class CleartextStorageConfig extends TaintTracking::Configuration {
17-
CleartextStorageConfig() { this = "CleartextStorageConfig" }
18-
19-
override predicate isSource(DataFlow::Node node) { node.asExpr() instanceof SensitiveExpr }
20-
21-
override predicate isSink(DataFlow::Node node) { node instanceof CleartextStoragePreferencesSink }
22-
23-
override predicate isSanitizer(DataFlow::Node sanitizer) {
24-
sanitizer instanceof CleartextStoragePreferencesSanitizer
25-
}
26-
27-
override predicate isAdditionalTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
28-
any(CleartextStoragePreferencesAdditionalTaintStep s).step(nodeFrom, nodeTo)
29-
}
30-
31-
override predicate isSanitizerIn(DataFlow::Node node) {
32-
// make sources barriers so that we only report the closest instance
33-
this.isSource(node)
34-
}
35-
}
36-
37-
/**
38-
* A taint configuration from sensitive information to expressions that are
39-
* stored as preferences.
40-
*/
41-
module CleartextStorageConfig implements DataFlow::ConfigSig {
16+
module CleartextStoragePreferencesConfig implements DataFlow::ConfigSig {
4217
predicate isSource(DataFlow::Node node) { node.asExpr() instanceof SensitiveExpr }
4318

4419
predicate isSink(DataFlow::Node node) { node instanceof CleartextStoragePreferencesSink }
@@ -61,4 +36,4 @@ module CleartextStorageConfig implements DataFlow::ConfigSig {
6136
* Detect taint flow of sensitive information to expressions that are stored
6237
* as preferences.
6338
*/
64-
module CleartextStorageFlow = TaintTracking::Global<CleartextStorageConfig>;
39+
module CleartextStoragePreferencesFlow = TaintTracking::Global<CleartextStoragePreferencesConfig>;

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

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,6 @@ import codeql.swift.dataflow.DataFlow
99
import codeql.swift.dataflow.TaintTracking
1010
import codeql.swift.security.CleartextTransmissionExtensions
1111

12-
/**
13-
* A taint configuration from sensitive information to expressions that are
14-
* transmitted over a network.
15-
*/
16-
deprecated class CleartextTransmissionConfig extends TaintTracking::Configuration {
17-
CleartextTransmissionConfig() { this = "CleartextTransmissionConfig" }
18-
19-
override predicate isSource(DataFlow::Node node) { node.asExpr() instanceof SensitiveExpr }
20-
21-
override predicate isSink(DataFlow::Node node) { node instanceof CleartextTransmissionSink }
22-
23-
override predicate isSanitizer(DataFlow::Node sanitizer) {
24-
sanitizer instanceof CleartextTransmissionSanitizer
25-
}
26-
27-
override predicate isAdditionalTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
28-
any(CleartextTransmissionAdditionalTaintStep s).step(nodeFrom, nodeTo)
29-
}
30-
31-
override predicate isSanitizerIn(DataFlow::Node node) {
32-
// make sources barriers so that we only report the closest instance
33-
isSource(node)
34-
}
35-
}
36-
3712
/**
3813
* A taint configuration from sensitive information to expressions that are
3914
* transmitted over a network.

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,6 @@ private import codeql.swift.dataflow.FlowSources
1010
private import codeql.swift.dataflow.TaintTracking
1111
private import codeql.swift.security.PathInjectionExtensions
1212

13-
/**
14-
* A taint-tracking configuration for path injection vulnerabilities.
15-
*/
16-
deprecated class PathInjectionConfiguration extends TaintTracking::Configuration {
17-
PathInjectionConfiguration() { this = "PathInjectionConfiguration" }
18-
19-
override predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
20-
21-
override predicate isSink(DataFlow::Node sink) { sink instanceof PathInjectionSink }
22-
23-
override predicate isSanitizer(DataFlow::Node sanitizer) {
24-
sanitizer instanceof PathInjectionSanitizer
25-
}
26-
27-
override predicate isAdditionalTaintStep(DataFlow::Node node1, DataFlow::Node node2) {
28-
any(PathInjectionAdditionalTaintStep s).step(node1, node2)
29-
}
30-
}
31-
3213
/**
3314
* A taint-tracking configuration for path injection vulnerabilities.
3415
*/

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,6 @@ private import codeql.swift.dataflow.FlowSources
99
private import codeql.swift.dataflow.TaintTracking
1010
private import codeql.swift.security.PredicateInjectionExtensions
1111

12-
/**
13-
* A taint-tracking configuration for predicate injection vulnerabilities.
14-
*/
15-
deprecated class PredicateInjectionConf extends TaintTracking::Configuration {
16-
PredicateInjectionConf() { this = "PredicateInjectionConf" }
17-
18-
override predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
19-
20-
override predicate isSink(DataFlow::Node sink) { sink instanceof PredicateInjectionSink }
21-
22-
override predicate isSanitizer(DataFlow::Node sanitizer) {
23-
sanitizer instanceof PredicateInjectionSanitizer
24-
}
25-
26-
override predicate isAdditionalTaintStep(DataFlow::Node n1, DataFlow::Node n2) {
27-
any(PredicateInjectionAdditionalTaintStep s).step(n1, n2)
28-
}
29-
}
30-
3112
/**
3213
* A taint-tracking configuration for predicate injection vulnerabilities.
3314
*/

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,6 @@ import codeql.swift.dataflow.TaintTracking
1010
import codeql.swift.dataflow.FlowSources
1111
import codeql.swift.security.SqlInjectionExtensions
1212

13-
/**
14-
* A taint configuration for tainted data that reaches a SQL sink.
15-
*/
16-
deprecated class SqlInjectionConfig extends TaintTracking::Configuration {
17-
SqlInjectionConfig() { this = "SqlInjectionConfig" }
18-
19-
override predicate isSource(DataFlow::Node node) { node instanceof FlowSource }
20-
21-
override predicate isSink(DataFlow::Node node) { node instanceof SqlInjectionSink }
22-
23-
override predicate isSanitizer(DataFlow::Node sanitizer) {
24-
sanitizer instanceof SqlInjectionSanitizer
25-
}
26-
27-
override predicate isAdditionalTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
28-
any(SqlInjectionAdditionalTaintStep s).step(nodeFrom, nodeTo)
29-
}
30-
}
31-
3213
/**
3314
* A taint configuration for tainted data that reaches a SQL sink.
3415
*/

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,6 @@ import codeql.swift.dataflow.TaintTracking
1010
import codeql.swift.dataflow.FlowSources
1111
import codeql.swift.security.UncontrolledFormatStringExtensions
1212

13-
/**
14-
* A taint configuration for tainted data that reaches a format string.
15-
*/
16-
deprecated class TaintedFormatConfiguration extends TaintTracking::Configuration {
17-
TaintedFormatConfiguration() { this = "TaintedFormatConfiguration" }
18-
19-
override predicate isSource(DataFlow::Node node) { node instanceof FlowSource }
20-
21-
override predicate isSink(DataFlow::Node node) { node instanceof UncontrolledFormatStringSink }
22-
23-
override predicate isSanitizer(DataFlow::Node sanitizer) {
24-
sanitizer instanceof UncontrolledFormatStringSanitizer
25-
}
26-
27-
override predicate isAdditionalTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
28-
any(UncontrolledFormatStringAdditionalTaintStep s).step(nodeFrom, nodeTo)
29-
}
30-
}
31-
3213
/**
3314
* A taint configuration for tainted data that reaches a format string.
3415
*/

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,6 @@ import codeql.swift.dataflow.TaintTracking
99
import codeql.swift.dataflow.FlowSources
1010
import codeql.swift.security.UnsafeJsEvalExtensions
1111

12-
/**
13-
* A taint configuration from taint sources to sinks for this query.
14-
*/
15-
deprecated class UnsafeJsEvalConfig extends TaintTracking::Configuration {
16-
UnsafeJsEvalConfig() { this = "UnsafeJsEvalConfig" }
17-
18-
override predicate isSource(DataFlow::Node node) { node instanceof FlowSource }
19-
20-
override predicate isSink(DataFlow::Node node) { node instanceof UnsafeJsEvalSink }
21-
22-
override predicate isSanitizer(DataFlow::Node sanitizer) {
23-
sanitizer instanceof UnsafeJsEvalSanitizer
24-
}
25-
26-
override predicate isAdditionalTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
27-
any(UnsafeJsEvalAdditionalTaintStep s).step(nodeFrom, nodeTo)
28-
}
29-
}
30-
3112
/**
3213
* A taint configuration from taint sources to sinks for this query.
3314
*/

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

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,6 @@ import codeql.swift.dataflow.TaintTracking
99
import codeql.swift.dataflow.FlowSources
1010
import codeql.swift.security.UnsafeWebViewFetchExtensions
1111

12-
/**
13-
* A taint configuration from taint sources to sinks (and `baseURL` arguments)
14-
* for this query.
15-
*/
16-
deprecated class UnsafeWebViewFetchConfig extends TaintTracking::Configuration {
17-
UnsafeWebViewFetchConfig() { this = "UnsafeWebViewFetchConfig" }
18-
19-
override predicate isSource(DataFlow::Node node) { node instanceof RemoteFlowSource }
20-
21-
override predicate isSink(DataFlow::Node node) {
22-
exists(UnsafeWebViewFetchSink sink |
23-
node = sink or
24-
node.asExpr() = sink.getBaseUrl()
25-
)
26-
}
27-
28-
override predicate isSanitizer(DataFlow::Node sanitizer) {
29-
sanitizer instanceof UnsafeWebViewFetchSanitizer
30-
}
31-
32-
override predicate isAdditionalTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
33-
any(UnsafeWebViewFetchAdditionalTaintStep s).step(nodeFrom, nodeTo)
34-
}
35-
}
36-
3712
/**
3813
* A taint configuration from taint sources to sinks (and `baseURL` arguments)
3914
* for this query.

0 commit comments

Comments
 (0)