@@ -3,31 +3,26 @@ import codeql.ruby.AST
3
3
import codeql.ruby.DataFlow
4
4
import codeql.ruby.ApiGraphs
5
5
import codeql.ruby.dataflow.RemoteFlowSources
6
- import codeql.ruby.ast.Operation
7
6
import codeql.ruby.TaintTracking
8
7
import ruby
9
8
10
- /**
11
- * @kind problem
12
- */
13
-
14
9
// A call to OpenSSL::HMAC.hexdigest
15
- class OpenSSLHMACHexdigest extends DataFlow:: Node {
16
- OpenSSLHMACHexdigest ( ) {
10
+ class OpenSslHmacHexdigest extends DataFlow:: Node {
11
+ OpenSslHmacHexdigest ( ) {
17
12
this = API:: getTopLevelMember ( "OpenSSL" ) .getMember ( "HMAC" ) .getAMethodCall ( "hexdigest" )
18
13
}
19
14
}
20
15
21
16
// A call to OpenSSL::HMAC.to_s (which is an alias for OpenSSL::HMAC.hexdigest)
22
- class OpenSSLHMACtos extends DataFlow:: Node {
23
- OpenSSLHMACtos ( ) {
17
+ class OpenSslHmactos extends DataFlow:: Node {
18
+ OpenSslHmactos ( ) {
24
19
this = API:: getTopLevelMember ( "OpenSSL" ) .getMember ( "HMAC" ) .getAMethodCall ( "to_s" )
25
20
}
26
21
}
27
22
28
23
// A call to OpenSSL::HMAC.digest
29
- class OpenSSLHMACdigest extends DataFlow:: Node {
30
- OpenSSLHMACdigest ( ) {
24
+ class OpenSslHmacdigest extends DataFlow:: Node {
25
+ OpenSslHmacdigest ( ) {
31
26
this = API:: getTopLevelMember ( "OpenSSL" ) .getMember ( "HMAC" ) .getAMethodCall ( "digest" )
32
27
}
33
28
}
@@ -40,8 +35,8 @@ class OpenSSLnewHMAC extends DataFlow::Node {
40
35
}
41
36
42
37
// A call to OpenSSL::HMAC.base64digest
43
- class OpenSSLHmacbase64digest extends DataFlow:: Node {
44
- OpenSSLHmacbase64digest ( ) {
38
+ class OpenSslHmacbase64digest extends DataFlow:: Node {
39
+ OpenSslHmacbase64digest ( ) {
45
40
this = API:: getTopLevelMember ( "OpenSSL" ) .getMember ( "HMAC" ) .getAMethodCall ( "base64digest" )
46
41
}
47
42
}
@@ -50,11 +45,11 @@ class Configuration extends DataFlow::Configuration {
50
45
Configuration ( ) { this = "UnsafeHMACComparison" }
51
46
52
47
override predicate isSource ( DataFlow:: Node source ) {
53
- source instanceof OpenSSLHMACHexdigest or
48
+ source instanceof OpenSslHmacHexdigest or
54
49
source instanceof OpenSSLnewHMAC or
55
- source instanceof OpenSSLHmacbase64digest or
56
- source instanceof OpenSSLHMACdigest or
57
- source instanceof OpenSSLHMACtos
50
+ source instanceof OpenSslHmacbase64digest or
51
+ source instanceof OpenSslHmacdigest or
52
+ source instanceof OpenSslHmactos
58
53
}
59
54
60
55
// Holds if a given sink is an Equality Operation (== or !=)
0 commit comments