Skip to content

Commit ea4c2e4

Browse files
committed
Swift: Add CSV extension points.
1 parent c533334 commit ea4c2e4

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import swift
77
import codeql.swift.security.SensitiveExprs
88
import codeql.swift.dataflow.DataFlow
9+
import codeql.swift.dataflow.ExternalFlow
910

1011
/**
1112
* A dataflow sink for cleartext database storage vulnerabilities. That is,
@@ -150,3 +151,10 @@ private class CleartextStorageDatabaseArrayAdditionalTaintStep extends Cleartext
150151
)
151152
}
152153
}
154+
155+
/**
156+
* A sink defined in a CSV model.
157+
*/
158+
private class DefaultCleartextStorageDatabaseSink extends CleartextStorageDatabaseSink {
159+
DefaultCleartextStorageDatabaseSink() { sinkNode(this, "database-store") }
160+
}

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import swift
77
import codeql.swift.security.SensitiveExprs
88
import codeql.swift.dataflow.DataFlow
9+
import codeql.swift.dataflow.ExternalFlow
910

1011
/**
1112
* A dataflow sink for cleartext preferences storage vulnerabilities. That is,
@@ -78,3 +79,10 @@ private class CleartextStoragePreferencesEncryptionSanitizer extends CleartextSt
7879
this.asExpr() instanceof EncryptedExpr
7980
}
8081
}
82+
83+
/**
84+
* A sink defined in a CSV model.
85+
*/
86+
private class DefaultCleartextStoragePreferencesSink extends CleartextStoragePreferencesSink {
87+
DefaultCleartextStoragePreferencesSink() { sinkNode(this, "preferences-store") }
88+
}

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import swift
77
import codeql.swift.security.SensitiveExprs
88
import codeql.swift.dataflow.DataFlow
9+
import codeql.swift.dataflow.ExternalFlow
910

1011
/**
1112
* A dataflow sink for cleartext transmission vulnerabilities. That is,
@@ -87,3 +88,10 @@ private class CleartextTransmissionEncryptionSanitizer extends CleartextTransmis
8788
this.asExpr() instanceof EncryptedExpr
8889
}
8990
}
91+
92+
/**
93+
* A sink defined in a CSV model.
94+
*/
95+
private class DefaultCleartextTransmissionSink extends CleartextTransmissionSink {
96+
DefaultCleartextTransmissionSink() { sinkNode(this, "transmission") }
97+
}

0 commit comments

Comments
 (0)