Skip to content

Commit a348506

Browse files
authored
Fix owasp top 10 mapping (#266)
1 parent a1639f7 commit a348506

File tree

5 files changed

+218
-57
lines changed

5 files changed

+218
-57
lines changed

.boost/scripts/normalize-mapping.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,16 @@
2525
rules_file = os.path.join(dirpath, filename)
2626
changed = False
2727
with open(rules_file, "r") as f:
28+
rules_def = yaml.safe_load(f)
2829
rules = yaml.safe_load(f).get("rules", {})
2930

3031
# Validate and fix the categories of each rule
3132
for rule_key, rule in rules.items():
3233
categories = rule["categories"]
3334
for cwe_list_name, cwes_list in cwes_lists.items():
34-
if (
35+
if cwe_list_name not in categories and (
3536
any(cwe in cwes_list for cwe in categories)
36-
and cwe_list_name not in categories
37+
or rule["name"].lower() in cwes_list
3738
):
3839
# Add the missing category to the list of categories
3940
categories.append(cwe_list_name)
@@ -42,10 +43,21 @@
4243
print(
4344
f'Added "{cwe_list_name}" category to rule {rule_key} in {rules_file}'
4445
)
46+
elif cwe_list_name in categories and (
47+
rule["name"].lower() not in cwes_list and
48+
all(cwe not in cwes_list for cwe in categories)
49+
):
50+
categories.remove(cwe_list_name)
51+
changed = True
52+
53+
print(
54+
f'Removed "{cwe_list_name}" category to rule {rule_key} in {rules_file}'
55+
)
4556

4657
if not changed:
4758
continue
4859

4960
# Save the updated rules back to the YAML file
61+
rules_def["rules"] = rules
5062
with open(rules_file, "w") as f:
51-
yaml.safe_dump({"rules": rules}, f, sort_keys=False)
63+
yaml.safe_dump(rules_def, f, sort_keys=False)

.boost/scripts/owasp-top-10_2021.cwes.lst

Lines changed: 47 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,45 @@
1+
cwe-100
2+
cwe-1004
3+
cwe-1021
4+
cwe-1032
15
cwe-11
2-
cwe-13
3-
cwe-15
4-
cwe-20
5-
cwe-22
6-
cwe-23
7-
cwe-35
8-
cwe-59
9-
cwe-73
10-
cwe-74
11-
cwe-75
12-
cwe-77
13-
cwe-78
14-
cwe-79
15-
cwe-80
16-
cwe-83
17-
cwe-87
18-
cwe-88
19-
cwe-89
20-
cwe-90
21-
cwe-91
22-
cwe-93
23-
cwe-94
24-
cwe-95
25-
cwe-96
26-
cwe-97
27-
cwe-98
28-
cwe-99
6+
cwe-1104
7+
cwe-1105
298
cwe-113
309
cwe-116
3110
cwe-117
11+
cwe-1173
12+
cwe-1174
13+
cwe-1176
14+
cwe-1216
15+
cwe-1275
16+
cwe-13
3217
cwe-138
18+
cwe-15
19+
cwe-16
3320
cwe-183
3421
cwe-184
22+
cwe-2
23+
cwe-20
3524
cwe-200
3625
cwe-201
3726
cwe-209
3827
cwe-213
3928
cwe-219
29+
cwe-22
4030
cwe-223
31+
cwe-23
4132
cwe-235
33+
cwe-255
4234
cwe-256
4335
cwe-257
4436
cwe-259
4537
cwe-260
4638
cwe-261
39+
cwe-264
4740
cwe-266
4841
cwe-269
42+
cwe-275
4943
cwe-276
5044
cwe-280
5145
cwe-284
@@ -62,6 +56,7 @@ cwe-302
6256
cwe-304
6357
cwe-306
6458
cwe-307
59+
cwe-310
6560
cwe-311
6661
cwe-312
6762
cwe-313
@@ -87,6 +82,7 @@ cwe-340
8782
cwe-345
8883
cwe-346
8984
cwe-347
85+
cwe-35
9086
cwe-352
9187
cwe-353
9288
cwe-359
@@ -127,6 +123,7 @@ cwe-564
127123
cwe-565
128124
cwe-566
129125
cwe-579
126+
cwe-59
130127
cwe-598
131128
cwe-601
132129
cwe-602
@@ -149,34 +146,51 @@ cwe-656
149146
cwe-657
150147
cwe-668
151148
cwe-706
149+
cwe-720
150+
cwe-73
151+
cwe-74
152+
cwe-75
152153
cwe-756
153154
cwe-757
154155
cwe-759
155156
cwe-760
157+
cwe-77
156158
cwe-776
157159
cwe-778
160+
cwe-78
158161
cwe-780
159162
cwe-784
163+
cwe-79
160164
cwe-798
161165
cwe-799
166+
cwe-80
162167
cwe-807
168+
cwe-818
163169
cwe-829
170+
cwe-83
164171
cwe-830
172+
cwe-840
165173
cwe-841
166174
cwe-862
167175
cwe-863
176+
cwe-87
177+
cwe-88
178+
cwe-89
179+
cwe-90
180+
cwe-91
168181
cwe-913
169182
cwe-915
170183
cwe-916
171184
cwe-917
172185
cwe-918
173186
cwe-922
174187
cwe-927
188+
cwe-93
189+
cwe-94
175190
cwe-940
176191
cwe-942
177-
cwe-1004
178-
cwe-1021
179-
cwe-1104
180-
cwe-1173
181-
cwe-1174
182-
cwe-1275
192+
cwe-95
193+
cwe-96
194+
cwe-97
195+
cwe-98
196+
cwe-99

0 commit comments

Comments
 (0)