Skip to content

Commit afe7ee1

Browse files
committed
run the use-set-literals patch
1 parent d339f13 commit afe7ee1

File tree

8 files changed

+49
-161
lines changed

8 files changed

+49
-161
lines changed

ql/lib/semmle/go/concepts/GeneratedFile.qll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ module GeneratedFile {
1313
abstract class Range extends File { }
1414

1515
private string generatorCommentRegex() {
16-
result = "Generated By\\b.*\\bDo not edit" or
1716
result =
18-
"This (file|class|interface|art[ei]fact) (was|is|(has been)) (?:auto[ -]?)?gener(e?)ated" or
19-
result = "Any modifications to this file will be lost" or
20-
result =
21-
"This (file|class|interface|art[ei]fact) (was|is) (?:mechanically|automatically) generated" or
22-
result = "The following code was (?:auto[ -]?)?generated (?:by|from)" or
23-
result = "Autogenerated by Thrift" or
24-
result = "(Code g|G)enerated from .* by ANTLR"
17+
[
18+
"Generated By\\b.*\\bDo not edit",
19+
"This (file|class|interface|art[ei]fact) (was|is|(has been)) (?:auto[ -]?)?gener(e?)ated",
20+
"Any modifications to this file will be lost",
21+
"This (file|class|interface|art[ei]fact) (was|is) (?:mechanically|automatically) generated",
22+
"The following code was (?:auto[ -]?)?generated (?:by|from)", "Autogenerated by Thrift",
23+
"(Code g|G)enerated from .* by ANTLR"
24+
]
2525
}
2626

2727
private class CommentHeuristicGeneratedFile extends Range {

ql/lib/semmle/go/frameworks/SQL.qll

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -143,15 +143,7 @@ module SQL {
143143
or
144144
exists(string tp, string m | f.(Method).hasQualifiedName(gopgorm(), tp, m) |
145145
tp = "Query" and
146-
(
147-
m = "ColumnExpr" or
148-
m = "For" or
149-
m = "Having" or
150-
m = "Where" or
151-
m = "WhereIn" or
152-
m = "WhereInMulti" or
153-
m = "WhereOr"
154-
) and
146+
m = ["ColumnExpr", "For", "Having", "Where", "WhereIn", "WhereInMulti", "WhereOr"] and
155147
arg = 0
156148
or
157149
tp = "Query" and

ql/lib/semmle/go/frameworks/Stdlib.qll

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,11 +174,7 @@ module URL {
174174
class UrlGetter extends TaintTracking::FunctionModel, Method {
175175
UrlGetter() {
176176
exists(string m | hasQualifiedName("net/url", "URL", m) |
177-
m = "EscapedPath" or
178-
m = "Hostname" or
179-
m = "Port" or
180-
m = "Query" or
181-
m = "RequestURI"
177+
m = ["EscapedPath", "Hostname", "Port", "Query", "RequestURI"]
182178
)
183179
}
184180

ql/lib/semmle/go/frameworks/SystemCommandExecutors.qll

Lines changed: 15 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -126,47 +126,14 @@ private class ShellLike extends DataFlow::Node {
126126
}
127127

128128
private string getASudoCommand() {
129-
result = "sudo" or
130-
result = "sudo_root" or
131-
result = "su" or
132-
result = "sudoedit" or
133-
result = "doas" or
134-
result = "access" or
135-
result = "vsys" or
136-
result = "userv" or
137-
result = "sus" or
138-
result = "super" or
139-
result = "priv" or
140-
result = "calife" or
141-
result = "ssu" or
142-
result = "su1" or
143-
result = "op" or
144-
result = "sudowin" or
145-
result = "sudown" or
146-
result = "chroot" or
147-
result = "fakeroot" or
148-
result = "fakeroot-sysv" or
149-
result = "fakeroot-tcp" or
150-
result = "fstab-decode" or
151-
result = "jrunscript" or
152-
result = "nohup" or
153-
result = "parallel" or
154-
result = "find" or
155-
result = "pkexec" or
156-
result = "sg" or
157-
result = "sem" or
158-
result = "runcon" or
159-
result = "runuser" or
160-
result = "stdbuf" or
161-
result = "system" or
162-
result = "timeout" or
163-
result = "xargs" or
164-
result = "time" or
165-
result = "awk" or
166-
result = "gawk" or
167-
result = "mawk" or
168-
result = "nawk" or
169-
result = "git"
129+
result =
130+
[
131+
"sudo", "sudo_root", "priv", "calife", "ssu", "su1", "op", "sudowin", "sudown", "chroot",
132+
"fakeroot", "fakeroot-sysv", "su", "fakeroot-tcp", "fstab-decode", "jrunscript", "nohup",
133+
"parallel", "find", "pkexec", "sg", "sem", "runcon", "sudoedit", "runuser", "stdbuf",
134+
"system", "timeout", "xargs", "time", "awk", "gawk", "mawk", "nawk", "doas", "git", "access",
135+
"vsys", "userv", "sus", "super"
136+
]
170137
}
171138

172139
/**
@@ -213,31 +180,12 @@ private predicate isSudoOrSimilar(DataFlow::Node node) {
213180
}
214181

215182
private string getAShellCommand() {
216-
result = "bash" or
217-
result = "sh" or
218-
result = "sh.distrib" or
219-
result = "rbash" or
220-
result = "dash" or
221-
result = "zsh" or
222-
result = "csh" or
223-
result = "tcsh" or
224-
result = "fish" or
225-
result = "pwsh" or
226-
result = "elvish" or
227-
result = "oh" or
228-
result = "ion" or
229-
result = "ksh" or
230-
result = "rksh" or
231-
result = "tksh" or
232-
result = "mksh" or
233-
result = "nu" or
234-
result = "oksh" or
235-
result = "osh" or
236-
result = "shpp" or
237-
result = "xiki" or
238-
result = "xonsh" or
239-
result = "yash" or
240-
result = "env"
183+
result =
184+
[
185+
"bash", "sh", "elvish", "oh", "ion", "ksh", "rksh", "tksh", "mksh", "nu", "oksh", "osh",
186+
"sh.distrib", "shpp", "xiki", "xonsh", "yash", "env", "rbash", "dash", "zsh", "csh", "tcsh",
187+
"fish", "pwsh"
188+
]
241189
}
242190

243191
/**
@@ -252,12 +200,7 @@ private predicate isShell(DataFlow::Node node) {
252200
}
253201

254202
private string getAnInterpreterName() {
255-
result = "python" or
256-
result = "php" or
257-
result = "ruby" or
258-
result = "perl" or
259-
result = "node" or
260-
result = "nodejs"
203+
result = ["python", "php", "ruby", "perl", "node", "nodejs"]
261204
}
262205

263206
/**

ql/lib/semmle/go/frameworks/stdlib/IoIoutil.qll

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,7 @@ module IoIoutil {
99
private class IoUtilFileSystemAccess extends FileSystemAccess::Range, DataFlow::CallNode {
1010
IoUtilFileSystemAccess() {
1111
exists(string fn | getTarget().hasQualifiedName("io/ioutil", fn) |
12-
fn = "ReadDir" or
13-
fn = "ReadFile" or
14-
fn = "TempDir" or
15-
fn = "TempFile" or
16-
fn = "WriteFile"
12+
fn = ["ReadDir", "ReadFile", "TempDir", "TempFile", "WriteFile"]
1713
)
1814
}
1915

ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,8 @@ module NetHttp {
2828
DataFlow::FieldReadNode {
2929
UserControlledRequestField() {
3030
exists(string fieldName | this.getField().hasQualifiedName("net/http", "Request", fieldName) |
31-
fieldName = "Body" or
32-
fieldName = "GetBody" or
33-
fieldName = "Form" or
34-
fieldName = "PostForm" or
35-
fieldName = "MultipartForm" or
36-
fieldName = "Header" or
37-
fieldName = "Trailer" or
38-
fieldName = "URL"
31+
fieldName =
32+
["Body", "GetBody", "Form", "PostForm", "MultipartForm", "Header", "Trailer", "URL"]
3933
)
4034
}
4135
}

ql/src/experimental/CWE-327/CryptoLibraries.qll

Lines changed: 16 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -20,60 +20,31 @@ import go
2020
*/
2121
private module AlgorithmNames {
2222
predicate isStrongHashingAlgorithm(string name) {
23-
name = "DSA" or
24-
name = "ED25519" or
25-
name = "ES256" or
26-
name = "ECDSA256" or
27-
name = "ES384" or
28-
name = "ECDSA384" or
29-
name = "ES512" or
30-
name = "ECDSA512" or
31-
name = "SHA2" or
32-
name = "SHA224" or
33-
name = "SHA256" or
34-
name = "SHA384" or
35-
name = "SHA512" or
36-
name = "SHA3"
23+
name =
24+
[
25+
"DSA", "ED25519", "SHA256", "SHA384", "SHA512", "SHA3", "ES256", "ECDSA256", "ES384",
26+
"ECDSA384", "ES512", "ECDSA512", "SHA2", "SHA224"
27+
]
3728
}
3829

3930
predicate isWeakHashingAlgorithm(string name) {
40-
name = "HAVEL128" or
41-
name = "MD2" or
42-
name = "MD4" or
43-
name = "MD5" or
44-
name = "PANAMA" or
45-
name = "RIPEMD" or
46-
name = "RIPEMD128" or
47-
name = "RIPEMD256" or
48-
name = "RIPEMD320" or
49-
name = "SHA0" or
50-
name = "SHA1"
31+
name =
32+
[
33+
"HAVEL128", "MD2", "SHA1", "MD4", "MD5", "PANAMA", "RIPEMD", "RIPEMD128", "RIPEMD256",
34+
"RIPEMD320", "SHA0"
35+
]
5136
}
5237

5338
predicate isStrongEncryptionAlgorithm(string name) {
54-
name = "AES" or
55-
name = "AES128" or
56-
name = "AES192" or
57-
name = "AES256" or
58-
name = "AES512" or
59-
name = "RSA" or
60-
name = "RABBIT" or
61-
name = "BLOWFISH"
39+
name = ["AES", "AES128", "AES192", "AES256", "AES512", "RSA", "RABBIT", "BLOWFISH"]
6240
}
6341

6442
predicate isWeakEncryptionAlgorithm(string name) {
65-
name = "DES" or
66-
name = "3DES" or
67-
name = "TRIPLEDES" or
68-
name = "TDEA" or
69-
name = "TRIPLEDEA" or
70-
name = "ARC2" or
71-
name = "RC2" or
72-
name = "ARC4" or
73-
name = "RC4" or
74-
name = "ARCFOUR" or
75-
name = "ARC5" or
76-
name = "RC5"
43+
name =
44+
[
45+
"DES", "3DES", "ARC5", "RC5", "TRIPLEDES", "TDEA", "TRIPLEDEA", "ARC2", "RC2", "ARC4",
46+
"RC4", "ARCFOUR"
47+
]
7748
}
7849

7950
predicate isStrongPasswordHashingAlgorithm(string name) {

ql/test/library-tests/semmle/go/security/SensitiveActions/DummyPasswords.ql

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,11 @@ import go
22
import semmle.go.security.SensitiveActions
33

44
string getASamplePassword() {
5-
result = "abcdefgh" or
6-
result = "sOKY6ccizpmvF*32so%Q" or
7-
result = "XXXXXXXX" or
8-
result = "example_password" or
9-
result = "change_me" or
10-
result = "" or
11-
result = "insert-auth-from-gui" or
12-
result = "admin" or
13-
result = "root"
5+
result =
6+
[
7+
"abcdefgh", "sOKY6ccizpmvF*32so%Q", "XXXXXXXX", "example_password", "change_me", "",
8+
"insert-auth-from-gui", "admin", "root"
9+
]
1410
}
1511

1612
from string password, boolean isDummy

0 commit comments

Comments
 (0)