Skip to content

Commit 10b4c98

Browse files
committed
Swift: Move password sources to be reported by the new query.
1 parent 5faa25f commit 10b4c98

File tree

6 files changed

+52
-40
lines changed

6 files changed

+52
-40
lines changed

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@ import codeql.swift.security.WeakPasswordHashingExtensions
1414
* hashing sinks.
1515
*/
1616
module WeakHashingPasswordConfig implements DataFlow::ConfigSig {
17-
predicate isSource(DataFlow::Node node) { node.asExpr() instanceof PasswordExpr }
17+
predicate isSource(DataFlow::Node node) {
18+
exists(SensitiveExpr se |
19+
node.asExpr() = se and
20+
se.getSensitiveType() instanceof SensitivePassword
21+
)
22+
}
1823

1924
predicate isSink(DataFlow::Node node) { node instanceof WeakPasswordHashingSink }
2025

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@ import codeql.swift.security.WeakSensitiveDataHashingExtensions
1414
* hashing sinks.
1515
*/
1616
module WeakSensitiveDataHashingConfig implements DataFlow::ConfigSig {
17-
predicate isSource(DataFlow::Node node) { node.asExpr() instanceof SensitiveExpr }
17+
predicate isSource(DataFlow::Node node) {
18+
exists(SensitiveExpr se |
19+
node.asExpr() = se and
20+
not se.getSensitiveType() instanceof SensitivePassword // responsibility of the weak password hashing query
21+
)
22+
}
1823

1924
predicate isSink(DataFlow::Node node) { node instanceof WeakSensitiveDataHashingSink }
2025

swift/ql/src/queries/Security/CWE-328/WeakPasswordHashing.ql

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,10 @@ import swift
1616
import codeql.swift.security.WeakPasswordHashingQuery
1717
import WeakHashingFlow::PathGraph
1818

19-
from
20-
WeakHashingFlow::PathNode source, WeakHashingFlow::PathNode sink, string algorithm,
21-
PasswordExpr expr
19+
from WeakHashingFlow::PathNode source, WeakHashingFlow::PathNode sink, string algorithm
2220
where
2321
WeakHashingFlow::flowPath(source, sink) and
24-
algorithm = sink.getNode().(WeakPasswordHashingSink).getAlgorithm() and
25-
expr = source.getNode().asExpr()
22+
algorithm = sink.getNode().(WeakPasswordHashingSink).getAlgorithm()
2623
select sink.getNode(), source, sink,
2724
"Insecure hashing algorithm (" + algorithm + ") depends on $@.", source.getNode(),
28-
"password (" + expr + ")"
25+
"password (" + source.getNode().asExpr() + ")"
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
edges
2+
nodes
3+
| testCryptoKit.swift:56:47:56:47 | passwd | semmle.label | passwd |
4+
| testCryptoKit.swift:63:44:63:44 | passwd | semmle.label | passwd |
5+
| testCryptoKit.swift:90:23:90:23 | passwd | semmle.label | passwd |
6+
| testCryptoKit.swift:99:23:99:23 | passwd | semmle.label | passwd |
7+
| testCryptoKit.swift:132:32:132:32 | passwd | semmle.label | passwd |
8+
| testCryptoKit.swift:141:32:141:32 | passwd | semmle.label | passwd |
9+
| testCryptoSwift.swift:113:30:113:30 | passwdArray | semmle.label | passwdArray |
10+
| testCryptoSwift.swift:115:31:115:31 | passwdArray | semmle.label | passwdArray |
11+
| testCryptoSwift.swift:120:20:120:20 | passwdArray | semmle.label | passwdArray |
12+
| testCryptoSwift.swift:122:21:122:21 | passwdArray | semmle.label | passwdArray |
13+
| testCryptoSwift.swift:127:9:127:9 | passwdArray | semmle.label | passwdArray |
14+
| testCryptoSwift.swift:129:9:129:9 | passwdArray | semmle.label | passwdArray |
15+
| testCryptoSwift.swift:136:9:136:9 | passwdData | semmle.label | passwdData |
16+
| testCryptoSwift.swift:138:9:138:9 | passwdData | semmle.label | passwdData |
17+
| testCryptoSwift.swift:145:9:145:9 | passwd | semmle.label | passwd |
18+
| testCryptoSwift.swift:147:9:147:9 | passwd | semmle.label | passwd |
19+
subpaths
20+
#select
21+
| testCryptoKit.swift:56:47:56:47 | passwd | testCryptoKit.swift:56:47:56:47 | passwd | testCryptoKit.swift:56:47:56:47 | passwd | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:56:47:56:47 | passwd | password (passwd) |
22+
| testCryptoKit.swift:63:44:63:44 | passwd | testCryptoKit.swift:63:44:63:44 | passwd | testCryptoKit.swift:63:44:63:44 | passwd | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:63:44:63:44 | passwd | password (passwd) |
23+
| testCryptoKit.swift:90:23:90:23 | passwd | testCryptoKit.swift:90:23:90:23 | passwd | testCryptoKit.swift:90:23:90:23 | passwd | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:90:23:90:23 | passwd | password (passwd) |
24+
| testCryptoKit.swift:99:23:99:23 | passwd | testCryptoKit.swift:99:23:99:23 | passwd | testCryptoKit.swift:99:23:99:23 | passwd | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:99:23:99:23 | passwd | password (passwd) |
25+
| testCryptoKit.swift:132:32:132:32 | passwd | testCryptoKit.swift:132:32:132:32 | passwd | testCryptoKit.swift:132:32:132:32 | passwd | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:132:32:132:32 | passwd | password (passwd) |
26+
| testCryptoKit.swift:141:32:141:32 | passwd | testCryptoKit.swift:141:32:141:32 | passwd | testCryptoKit.swift:141:32:141:32 | passwd | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:141:32:141:32 | passwd | password (passwd) |
27+
| testCryptoSwift.swift:113:30:113:30 | passwdArray | testCryptoSwift.swift:113:30:113:30 | passwdArray | testCryptoSwift.swift:113:30:113:30 | passwdArray | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:113:30:113:30 | passwdArray | password (passwdArray) |
28+
| testCryptoSwift.swift:115:31:115:31 | passwdArray | testCryptoSwift.swift:115:31:115:31 | passwdArray | testCryptoSwift.swift:115:31:115:31 | passwdArray | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:115:31:115:31 | passwdArray | password (passwdArray) |
29+
| testCryptoSwift.swift:120:20:120:20 | passwdArray | testCryptoSwift.swift:120:20:120:20 | passwdArray | testCryptoSwift.swift:120:20:120:20 | passwdArray | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:120:20:120:20 | passwdArray | password (passwdArray) |
30+
| testCryptoSwift.swift:122:21:122:21 | passwdArray | testCryptoSwift.swift:122:21:122:21 | passwdArray | testCryptoSwift.swift:122:21:122:21 | passwdArray | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:122:21:122:21 | passwdArray | password (passwdArray) |
31+
| testCryptoSwift.swift:127:9:127:9 | passwdArray | testCryptoSwift.swift:127:9:127:9 | passwdArray | testCryptoSwift.swift:127:9:127:9 | passwdArray | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:127:9:127:9 | passwdArray | password (passwdArray) |
32+
| testCryptoSwift.swift:129:9:129:9 | passwdArray | testCryptoSwift.swift:129:9:129:9 | passwdArray | testCryptoSwift.swift:129:9:129:9 | passwdArray | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:129:9:129:9 | passwdArray | password (passwdArray) |
33+
| testCryptoSwift.swift:136:9:136:9 | passwdData | testCryptoSwift.swift:136:9:136:9 | passwdData | testCryptoSwift.swift:136:9:136:9 | passwdData | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:136:9:136:9 | passwdData | password (passwdData) |
34+
| testCryptoSwift.swift:138:9:138:9 | passwdData | testCryptoSwift.swift:138:9:138:9 | passwdData | testCryptoSwift.swift:138:9:138:9 | passwdData | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:138:9:138:9 | passwdData | password (passwdData) |
35+
| testCryptoSwift.swift:145:9:145:9 | passwd | testCryptoSwift.swift:145:9:145:9 | passwd | testCryptoSwift.swift:145:9:145:9 | passwd | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:145:9:145:9 | passwd | password (passwd) |
36+
| testCryptoSwift.swift:147:9:147:9 | passwd | testCryptoSwift.swift:147:9:147:9 | passwd | testCryptoSwift.swift:147:9:147:9 | passwd | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:147:9:147:9 | passwd | password (passwd) |
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
queries/Security/CWE-328/WeakPasswordHashing.ql
Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,42 @@
11
edges
22
nodes
3-
| testCryptoKit.swift:56:47:56:47 | passwd | semmle.label | passwd |
43
| testCryptoKit.swift:57:43:57:43 | cert | semmle.label | cert |
54
| testCryptoKit.swift:59:43:59:43 | account_no | semmle.label | account_no |
65
| testCryptoKit.swift:60:43:60:43 | credit_card_no | semmle.label | credit_card_no |
76
| testCryptoKit.swift:61:43:61:43 | credit_card_no | semmle.label | credit_card_no |
8-
| testCryptoKit.swift:63:44:63:44 | passwd | semmle.label | passwd |
97
| testCryptoKit.swift:64:44:64:44 | cert | semmle.label | cert |
108
| testCryptoKit.swift:66:44:66:44 | account_no | semmle.label | account_no |
119
| testCryptoKit.swift:67:44:67:44 | credit_card_no | semmle.label | credit_card_no |
12-
| testCryptoKit.swift:90:23:90:23 | passwd | semmle.label | passwd |
1310
| testCryptoKit.swift:91:23:91:23 | cert | semmle.label | cert |
1411
| testCryptoKit.swift:93:23:93:23 | account_no | semmle.label | account_no |
1512
| testCryptoKit.swift:94:23:94:23 | credit_card_no | semmle.label | credit_card_no |
16-
| testCryptoKit.swift:99:23:99:23 | passwd | semmle.label | passwd |
1713
| testCryptoKit.swift:100:23:100:23 | cert | semmle.label | cert |
1814
| testCryptoKit.swift:102:23:102:23 | account_no | semmle.label | account_no |
1915
| testCryptoKit.swift:103:23:103:23 | credit_card_no | semmle.label | credit_card_no |
20-
| testCryptoKit.swift:132:32:132:32 | passwd | semmle.label | passwd |
2116
| testCryptoKit.swift:133:32:133:32 | cert | semmle.label | cert |
2217
| testCryptoKit.swift:135:32:135:32 | account_no | semmle.label | account_no |
2318
| testCryptoKit.swift:136:32:136:32 | credit_card_no | semmle.label | credit_card_no |
24-
| testCryptoKit.swift:141:32:141:32 | passwd | semmle.label | passwd |
2519
| testCryptoKit.swift:142:32:142:32 | cert | semmle.label | cert |
2620
| testCryptoKit.swift:144:32:144:32 | account_no | semmle.label | account_no |
2721
| testCryptoKit.swift:145:32:145:32 | credit_card_no | semmle.label | credit_card_no |
28-
| testCryptoSwift.swift:113:30:113:30 | passwdArray | semmle.label | passwdArray |
29-
| testCryptoSwift.swift:115:31:115:31 | passwdArray | semmle.label | passwdArray |
30-
| testCryptoSwift.swift:120:20:120:20 | passwdArray | semmle.label | passwdArray |
31-
| testCryptoSwift.swift:122:21:122:21 | passwdArray | semmle.label | passwdArray |
32-
| testCryptoSwift.swift:127:9:127:9 | passwdArray | semmle.label | passwdArray |
33-
| testCryptoSwift.swift:129:9:129:9 | passwdArray | semmle.label | passwdArray |
34-
| testCryptoSwift.swift:136:9:136:9 | passwdData | semmle.label | passwdData |
35-
| testCryptoSwift.swift:138:9:138:9 | passwdData | semmle.label | passwdData |
36-
| testCryptoSwift.swift:145:9:145:9 | passwd | semmle.label | passwd |
37-
| testCryptoSwift.swift:147:9:147:9 | passwd | semmle.label | passwd |
3822
subpaths
3923
#select
40-
| testCryptoKit.swift:56:47:56:47 | passwd | testCryptoKit.swift:56:47:56:47 | passwd | testCryptoKit.swift:56:47:56:47 | passwd | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:56:47:56:47 | passwd | sensitive data (credential passwd) |
4124
| testCryptoKit.swift:57:43:57:43 | cert | testCryptoKit.swift:57:43:57:43 | cert | testCryptoKit.swift:57:43:57:43 | cert | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:57:43:57:43 | cert | sensitive data (credential cert) |
4225
| testCryptoKit.swift:59:43:59:43 | account_no | testCryptoKit.swift:59:43:59:43 | account_no | testCryptoKit.swift:59:43:59:43 | account_no | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:59:43:59:43 | account_no | sensitive data (private information account_no) |
4326
| testCryptoKit.swift:60:43:60:43 | credit_card_no | testCryptoKit.swift:60:43:60:43 | credit_card_no | testCryptoKit.swift:60:43:60:43 | credit_card_no | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:60:43:60:43 | credit_card_no | sensitive data (private information credit_card_no) |
4427
| testCryptoKit.swift:61:43:61:43 | credit_card_no | testCryptoKit.swift:61:43:61:43 | credit_card_no | testCryptoKit.swift:61:43:61:43 | credit_card_no | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:61:43:61:43 | credit_card_no | sensitive data (private information credit_card_no) |
45-
| testCryptoKit.swift:63:44:63:44 | passwd | testCryptoKit.swift:63:44:63:44 | passwd | testCryptoKit.swift:63:44:63:44 | passwd | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:63:44:63:44 | passwd | sensitive data (credential passwd) |
4628
| testCryptoKit.swift:64:44:64:44 | cert | testCryptoKit.swift:64:44:64:44 | cert | testCryptoKit.swift:64:44:64:44 | cert | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:64:44:64:44 | cert | sensitive data (credential cert) |
4729
| testCryptoKit.swift:66:44:66:44 | account_no | testCryptoKit.swift:66:44:66:44 | account_no | testCryptoKit.swift:66:44:66:44 | account_no | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:66:44:66:44 | account_no | sensitive data (private information account_no) |
4830
| testCryptoKit.swift:67:44:67:44 | credit_card_no | testCryptoKit.swift:67:44:67:44 | credit_card_no | testCryptoKit.swift:67:44:67:44 | credit_card_no | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:67:44:67:44 | credit_card_no | sensitive data (private information credit_card_no) |
49-
| testCryptoKit.swift:90:23:90:23 | passwd | testCryptoKit.swift:90:23:90:23 | passwd | testCryptoKit.swift:90:23:90:23 | passwd | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:90:23:90:23 | passwd | sensitive data (credential passwd) |
5031
| testCryptoKit.swift:91:23:91:23 | cert | testCryptoKit.swift:91:23:91:23 | cert | testCryptoKit.swift:91:23:91:23 | cert | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:91:23:91:23 | cert | sensitive data (credential cert) |
5132
| testCryptoKit.swift:93:23:93:23 | account_no | testCryptoKit.swift:93:23:93:23 | account_no | testCryptoKit.swift:93:23:93:23 | account_no | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:93:23:93:23 | account_no | sensitive data (private information account_no) |
5233
| testCryptoKit.swift:94:23:94:23 | credit_card_no | testCryptoKit.swift:94:23:94:23 | credit_card_no | testCryptoKit.swift:94:23:94:23 | credit_card_no | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:94:23:94:23 | credit_card_no | sensitive data (private information credit_card_no) |
53-
| testCryptoKit.swift:99:23:99:23 | passwd | testCryptoKit.swift:99:23:99:23 | passwd | testCryptoKit.swift:99:23:99:23 | passwd | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:99:23:99:23 | passwd | sensitive data (credential passwd) |
5434
| testCryptoKit.swift:100:23:100:23 | cert | testCryptoKit.swift:100:23:100:23 | cert | testCryptoKit.swift:100:23:100:23 | cert | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:100:23:100:23 | cert | sensitive data (credential cert) |
5535
| testCryptoKit.swift:102:23:102:23 | account_no | testCryptoKit.swift:102:23:102:23 | account_no | testCryptoKit.swift:102:23:102:23 | account_no | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:102:23:102:23 | account_no | sensitive data (private information account_no) |
5636
| testCryptoKit.swift:103:23:103:23 | credit_card_no | testCryptoKit.swift:103:23:103:23 | credit_card_no | testCryptoKit.swift:103:23:103:23 | credit_card_no | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:103:23:103:23 | credit_card_no | sensitive data (private information credit_card_no) |
57-
| testCryptoKit.swift:132:32:132:32 | passwd | testCryptoKit.swift:132:32:132:32 | passwd | testCryptoKit.swift:132:32:132:32 | passwd | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:132:32:132:32 | passwd | sensitive data (credential passwd) |
5837
| testCryptoKit.swift:133:32:133:32 | cert | testCryptoKit.swift:133:32:133:32 | cert | testCryptoKit.swift:133:32:133:32 | cert | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:133:32:133:32 | cert | sensitive data (credential cert) |
5938
| testCryptoKit.swift:135:32:135:32 | account_no | testCryptoKit.swift:135:32:135:32 | account_no | testCryptoKit.swift:135:32:135:32 | account_no | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:135:32:135:32 | account_no | sensitive data (private information account_no) |
6039
| testCryptoKit.swift:136:32:136:32 | credit_card_no | testCryptoKit.swift:136:32:136:32 | credit_card_no | testCryptoKit.swift:136:32:136:32 | credit_card_no | Insecure hashing algorithm (MD5) depends on $@. | testCryptoKit.swift:136:32:136:32 | credit_card_no | sensitive data (private information credit_card_no) |
61-
| testCryptoKit.swift:141:32:141:32 | passwd | testCryptoKit.swift:141:32:141:32 | passwd | testCryptoKit.swift:141:32:141:32 | passwd | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:141:32:141:32 | passwd | sensitive data (credential passwd) |
6240
| testCryptoKit.swift:142:32:142:32 | cert | testCryptoKit.swift:142:32:142:32 | cert | testCryptoKit.swift:142:32:142:32 | cert | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:142:32:142:32 | cert | sensitive data (credential cert) |
6341
| testCryptoKit.swift:144:32:144:32 | account_no | testCryptoKit.swift:144:32:144:32 | account_no | testCryptoKit.swift:144:32:144:32 | account_no | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:144:32:144:32 | account_no | sensitive data (private information account_no) |
6442
| testCryptoKit.swift:145:32:145:32 | credit_card_no | testCryptoKit.swift:145:32:145:32 | credit_card_no | testCryptoKit.swift:145:32:145:32 | credit_card_no | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoKit.swift:145:32:145:32 | credit_card_no | sensitive data (private information credit_card_no) |
65-
| testCryptoSwift.swift:113:30:113:30 | passwdArray | testCryptoSwift.swift:113:30:113:30 | passwdArray | testCryptoSwift.swift:113:30:113:30 | passwdArray | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:113:30:113:30 | passwdArray | sensitive data (credential passwdArray) |
66-
| testCryptoSwift.swift:115:31:115:31 | passwdArray | testCryptoSwift.swift:115:31:115:31 | passwdArray | testCryptoSwift.swift:115:31:115:31 | passwdArray | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:115:31:115:31 | passwdArray | sensitive data (credential passwdArray) |
67-
| testCryptoSwift.swift:120:20:120:20 | passwdArray | testCryptoSwift.swift:120:20:120:20 | passwdArray | testCryptoSwift.swift:120:20:120:20 | passwdArray | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:120:20:120:20 | passwdArray | sensitive data (credential passwdArray) |
68-
| testCryptoSwift.swift:122:21:122:21 | passwdArray | testCryptoSwift.swift:122:21:122:21 | passwdArray | testCryptoSwift.swift:122:21:122:21 | passwdArray | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:122:21:122:21 | passwdArray | sensitive data (credential passwdArray) |
69-
| testCryptoSwift.swift:127:9:127:9 | passwdArray | testCryptoSwift.swift:127:9:127:9 | passwdArray | testCryptoSwift.swift:127:9:127:9 | passwdArray | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:127:9:127:9 | passwdArray | sensitive data (credential passwdArray) |
70-
| testCryptoSwift.swift:129:9:129:9 | passwdArray | testCryptoSwift.swift:129:9:129:9 | passwdArray | testCryptoSwift.swift:129:9:129:9 | passwdArray | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:129:9:129:9 | passwdArray | sensitive data (credential passwdArray) |
71-
| testCryptoSwift.swift:136:9:136:9 | passwdData | testCryptoSwift.swift:136:9:136:9 | passwdData | testCryptoSwift.swift:136:9:136:9 | passwdData | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:136:9:136:9 | passwdData | sensitive data (credential passwdData) |
72-
| testCryptoSwift.swift:138:9:138:9 | passwdData | testCryptoSwift.swift:138:9:138:9 | passwdData | testCryptoSwift.swift:138:9:138:9 | passwdData | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:138:9:138:9 | passwdData | sensitive data (credential passwdData) |
73-
| testCryptoSwift.swift:145:9:145:9 | passwd | testCryptoSwift.swift:145:9:145:9 | passwd | testCryptoSwift.swift:145:9:145:9 | passwd | Insecure hashing algorithm (MD5) depends on $@. | testCryptoSwift.swift:145:9:145:9 | passwd | sensitive data (credential passwd) |
74-
| testCryptoSwift.swift:147:9:147:9 | passwd | testCryptoSwift.swift:147:9:147:9 | passwd | testCryptoSwift.swift:147:9:147:9 | passwd | Insecure hashing algorithm (SHA1) depends on $@. | testCryptoSwift.swift:147:9:147:9 | passwd | sensitive data (credential passwd) |

0 commit comments

Comments
 (0)