Skip to content

Commit 9faf1ba

Browse files
author
Sakshis
committed
use-of-weak-rsa-key-java
1 parent b6820c3 commit 9faf1ba

6 files changed

+159
-128
lines changed

rules/java/security/use-of-weak-rsa-key-go.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
id: use-of-weak-rsa-key-java
2+
language: java
3+
severity: warning
4+
message: >-
5+
RSA keys should be at least 2048 bits based on NIST recommendation.
6+
note: >-
7+
[CWE-326] Inadequate Encryption Strength.
8+
[REFERENCES]
9+
- https://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html#algorithms
10+
utils:
11+
WeakRSA:
12+
kind: expression_statement
13+
all:
14+
- has:
15+
stopBy: neighbor
16+
kind: method_invocation
17+
all:
18+
- has:
19+
stopBy: neighbor
20+
kind: identifier
21+
- has:
22+
stopBy: neighbor
23+
kind: identifier
24+
regex: '^initialize$'
25+
- has:
26+
stopBy: neighbor
27+
kind: argument_list
28+
has:
29+
stopBy: neighbor
30+
any:
31+
- kind: decimal_integer_literal
32+
pattern: $AST
33+
- kind: decimal_floating_point_literal
34+
pattern: $AST
35+
- kind: unary_expression
36+
pattern: $AST
37+
- follows:
38+
stopBy: neighbor
39+
pattern: KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA")
40+
41+
rule:
42+
kind: expression_statement
43+
matches: WeakRSA
44+
constraints:
45+
AST:
46+
regex: '^(-?(0|[1-9][0-9]?|[1-9][0-9]{2}|1[0-9]{3}|20[0-3][0-9]|204[0-7])(\.[0-9]+)?|0|-[1-9][0-9]*|-[1-9][0-9]{2,}|-1[0-9]{3}|-20[0-3][0-9]|-204[0-7])$'

tests/__snapshots__/use-of-weak-rsa-key-go-snapshot.yml

Lines changed: 0 additions & 78 deletions
This file was deleted.
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
id: use-of-weak-rsa-key-java
2+
snapshots:
3+
? |
4+
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
5+
keyGen.initialize(-512);
6+
: labels:
7+
- source: keyGen.initialize(-512);
8+
style: primary
9+
start: 63
10+
end: 87
11+
- source: keyGen
12+
style: secondary
13+
start: 63
14+
end: 69
15+
- source: initialize
16+
style: secondary
17+
start: 70
18+
end: 80
19+
- source: '-512'
20+
style: secondary
21+
start: 81
22+
end: 85
23+
- source: (-512)
24+
style: secondary
25+
start: 80
26+
end: 86
27+
- source: keyGen.initialize(-512)
28+
style: secondary
29+
start: 63
30+
end: 86
31+
- source: KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
32+
style: secondary
33+
start: 0
34+
end: 62
35+
? |
36+
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
37+
keyGen.initialize(51.2);
38+
: labels:
39+
- source: keyGen.initialize(51.2);
40+
style: primary
41+
start: 63
42+
end: 87
43+
- source: keyGen
44+
style: secondary
45+
start: 63
46+
end: 69
47+
- source: initialize
48+
style: secondary
49+
start: 70
50+
end: 80
51+
- source: '51.2'
52+
style: secondary
53+
start: 81
54+
end: 85
55+
- source: (51.2)
56+
style: secondary
57+
start: 80
58+
end: 86
59+
- source: keyGen.initialize(51.2)
60+
style: secondary
61+
start: 63
62+
end: 86
63+
- source: KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
64+
style: secondary
65+
start: 0
66+
end: 62
67+
? |
68+
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
69+
keyGen.initialize(512);
70+
: labels:
71+
- source: keyGen.initialize(512);
72+
style: primary
73+
start: 63
74+
end: 86
75+
- source: keyGen
76+
style: secondary
77+
start: 63
78+
end: 69
79+
- source: initialize
80+
style: secondary
81+
start: 70
82+
end: 80
83+
- source: '512'
84+
style: secondary
85+
start: 81
86+
end: 84
87+
- source: (512)
88+
style: secondary
89+
start: 80
90+
end: 85
91+
- source: keyGen.initialize(512)
92+
style: secondary
93+
start: 63
94+
end: 85
95+
- source: KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
96+
style: secondary
97+
start: 0
98+
end: 62

tests/java/use-of-weak-rsa-key-go-test.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
id: use-of-weak-rsa-key-java
2+
valid:
3+
- |
4+
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
5+
keyGen.initialize(2048);
6+
invalid:
7+
- |
8+
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
9+
keyGen.initialize(512);
10+
- |
11+
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
12+
keyGen.initialize(-512);
13+
- |
14+
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
15+
keyGen.initialize(51.2);

0 commit comments

Comments
 (0)