1
- /** Provides classes and predicates for reasoning about weak randomness. */
1
+ /** Provides classes and predicates for reasoning about insecure randomness. */
2
2
3
3
import java
4
4
private import semmle.code.java.frameworks.Servlets
@@ -9,13 +9,13 @@ private import semmle.code.java.dataflow.ExternalFlow
9
9
private import semmle.code.java.security.RandomQuery
10
10
11
11
/**
12
- * A node representing a source of weak randomness.
12
+ * A node representing a source of insecure randomness.
13
13
*
14
14
* For example, use of `java.util.Random` or `java.lang.Math.random`.
15
15
*/
16
- abstract class WeakRandomnessSource extends DataFlow:: Node { }
16
+ abstract class InsecureRandomnessSource extends DataFlow:: Node { }
17
17
18
- private class RandomMethodSource extends WeakRandomnessSource {
18
+ private class RandomMethodSource extends InsecureRandomnessSource {
19
19
RandomMethodSource ( ) {
20
20
exists ( RandomDataSource s | this .asExpr ( ) = s .getOutput ( ) |
21
21
not s .getQualifier ( ) .getType ( ) instanceof SafeRandomImplementation
@@ -40,14 +40,14 @@ private class TypeHadoopOsSecureRandom extends SafeRandomImplementation {
40
40
}
41
41
42
42
/**
43
- * A node representing an operation which should not use a weakly random value.
43
+ * A node representing an operation which should not use a Insecurely random value.
44
44
*/
45
- abstract class WeakRandomnessSink extends DataFlow:: Node { }
45
+ abstract class InsecureRandomnessSink extends DataFlow:: Node { }
46
46
47
47
/**
48
48
* A node which sets the value of a cookie.
49
49
*/
50
- private class CookieSink extends WeakRandomnessSink {
50
+ private class CookieSink extends InsecureRandomnessSink {
51
51
CookieSink ( ) {
52
52
exists ( Call c |
53
53
c .( ClassInstanceExpr ) .getConstructedType ( ) instanceof TypeCookie and
@@ -60,19 +60,19 @@ private class CookieSink extends WeakRandomnessSink {
60
60
}
61
61
}
62
62
63
- private class SensitiveActionSink extends WeakRandomnessSink {
63
+ private class SensitiveActionSink extends InsecureRandomnessSink {
64
64
SensitiveActionSink ( ) { this .asExpr ( ) instanceof SensitiveExpr }
65
65
}
66
66
67
- private class CredentialsSink extends WeakRandomnessSink instanceof CredentialsSinkNode { }
67
+ private class CredentialsSink extends InsecureRandomnessSink instanceof CredentialsSinkNode { }
68
68
69
69
/**
70
- * A taint-tracking configuration for weak randomness.
70
+ * A taint-tracking configuration for Insecure randomness.
71
71
*/
72
- module WeakRandomnessConfig implements DataFlow:: ConfigSig {
73
- predicate isSource ( DataFlow:: Node src ) { src instanceof WeakRandomnessSource }
72
+ module InsecureRandomnessConfig implements DataFlow:: ConfigSig {
73
+ predicate isSource ( DataFlow:: Node src ) { src instanceof InsecureRandomnessSource }
74
74
75
- predicate isSink ( DataFlow:: Node sink ) { sink instanceof WeakRandomnessSink }
75
+ predicate isSink ( DataFlow:: Node sink ) { sink instanceof InsecureRandomnessSink }
76
76
77
77
predicate isBarrierIn ( DataFlow:: Node n ) { isSource ( n ) }
78
78
@@ -92,6 +92,6 @@ module WeakRandomnessConfig implements DataFlow::ConfigSig {
92
92
}
93
93
94
94
/**
95
- * Taint-tracking flow of a weakly random value into a sensitive sink.
95
+ * Taint-tracking flow of a Insecurely random value into a sensitive sink.
96
96
*/
97
- module WeakRandomnessFlow = TaintTracking:: Global< WeakRandomnessConfig > ;
97
+ module InsecureRandomnessFlow = TaintTracking:: Global< InsecureRandomnessConfig > ;
0 commit comments