vrt 0.7.1 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +5 -5
  2. data/lib/data/1.10.1/deprecated-node-mapping.json +200 -0
  3. data/lib/data/1.10.1/mappings/cvss_v3/cvss_v3.json +1074 -0
  4. data/lib/data/1.10.1/mappings/cvss_v3/cvss_v3.schema.json +59 -0
  5. data/lib/data/1.10.1/mappings/cwe/cwe.json +477 -0
  6. data/lib/data/1.10.1/mappings/cwe/cwe.schema.json +63 -0
  7. data/lib/data/1.10.1/mappings/remediation_advice/remediation_advice.json +1543 -0
  8. data/lib/data/1.10.1/mappings/remediation_advice/remediation_advice.schema.json +75 -0
  9. data/lib/data/1.10.1/third-party-mappings/remediation_training/secure-code-warrior-links.json +348 -0
  10. data/lib/data/1.10.1/vrt.schema.json +63 -0
  11. data/lib/data/1.10.1/vulnerability-rating-taxonomy.json +2171 -0
  12. data/lib/data/1.10/deprecated-node-mapping.json +200 -0
  13. data/lib/data/1.10/mappings/cvss_v3/cvss_v3.json +1074 -0
  14. data/lib/data/1.10/mappings/cvss_v3/cvss_v3.schema.json +59 -0
  15. data/lib/data/1.10/mappings/cwe/cwe.json +477 -0
  16. data/lib/data/1.10/mappings/cwe/cwe.schema.json +63 -0
  17. data/lib/data/1.10/mappings/remediation_advice/remediation_advice.json +1543 -0
  18. data/lib/data/1.10/mappings/remediation_advice/remediation_advice.schema.json +75 -0
  19. data/lib/data/1.10/third-party-mappings/remediation_training/secure-code-warriors-links.json +348 -0
  20. data/lib/data/1.10/vrt.schema.json +63 -0
  21. data/lib/data/1.10/vulnerability-rating-taxonomy.json +2171 -0
  22. data/lib/data/1.7.1/deprecated-node-mapping.json +149 -0
  23. data/lib/data/1.7.1/mappings/cvss_v3/cvss_v3.json +928 -0
  24. data/lib/data/1.7.1/mappings/cvss_v3/cvss_v3.schema.json +59 -0
  25. data/lib/data/1.7.1/mappings/cwe/cwe.json +441 -0
  26. data/lib/data/1.7.1/mappings/cwe/cwe.schema.json +63 -0
  27. data/lib/data/1.7.1/mappings/remediation_advice/remediation_advice.json +1354 -0
  28. data/lib/data/1.7.1/mappings/remediation_advice/remediation_advice.schema.json +75 -0
  29. data/lib/data/1.7.1/vrt.schema.json +63 -0
  30. data/lib/data/1.7.1/vulnerability-rating-taxonomy.json +1937 -0
  31. data/lib/data/1.7/deprecated-node-mapping.json +149 -0
  32. data/lib/data/1.7/mappings/cvss_v3/cvss_v3.json +861 -0
  33. data/lib/data/1.7/mappings/cvss_v3/cvss_v3.schema.json +59 -0
  34. data/lib/data/1.7/mappings/cwe/cwe.json +441 -0
  35. data/lib/data/1.7/mappings/cwe/cwe.schema.json +63 -0
  36. data/lib/data/1.7/mappings/remediation_advice/remediation_advice.json +1230 -0
  37. data/lib/data/1.7/mappings/remediation_advice/remediation_advice.schema.json +75 -0
  38. data/lib/data/1.7/vrt.schema.json +63 -0
  39. data/lib/data/1.7/vulnerability-rating-taxonomy.json +1937 -0
  40. data/lib/data/1.8/deprecated-node-mapping.json +149 -0
  41. data/lib/data/1.8/mappings/cvss_v3/cvss_v3.json +935 -0
  42. data/lib/data/1.8/mappings/cvss_v3/cvss_v3.schema.json +59 -0
  43. data/lib/data/1.8/mappings/cwe/cwe.json +453 -0
  44. data/lib/data/1.8/mappings/cwe/cwe.schema.json +63 -0
  45. data/lib/data/1.8/mappings/remediation_advice/remediation_advice.json +1381 -0
  46. data/lib/data/1.8/mappings/remediation_advice/remediation_advice.schema.json +75 -0
  47. data/lib/data/1.8/vrt.schema.json +63 -0
  48. data/lib/data/1.8/vulnerability-rating-taxonomy.json +1948 -0
  49. data/lib/data/1.9/deprecated-node-mapping.json +158 -0
  50. data/lib/data/1.9/mappings/cvss_v3/cvss_v3.json +1002 -0
  51. data/lib/data/1.9/mappings/cvss_v3/cvss_v3.schema.json +59 -0
  52. data/lib/data/1.9/mappings/cwe/cwe.json +457 -0
  53. data/lib/data/1.9/mappings/cwe/cwe.schema.json +63 -0
  54. data/lib/data/1.9/mappings/remediation_advice/remediation_advice.json +1409 -0
  55. data/lib/data/1.9/mappings/remediation_advice/remediation_advice.schema.json +75 -0
  56. data/lib/data/1.9/vrt.schema.json +63 -0
  57. data/lib/data/1.9/vulnerability-rating-taxonomy.json +2053 -0
  58. data/lib/generators/vrt/install_generator.rb +1 -1
  59. data/lib/vrt.rb +2 -0
  60. data/lib/vrt/cross_version_mapping.rb +3 -2
  61. data/lib/vrt/errors.rb +5 -0
  62. data/lib/vrt/map.rb +8 -5
  63. data/lib/vrt/mapping.rb +12 -1
  64. data/lib/vrt/version.rb +1 -1
  65. metadata +92 -32
@@ -0,0 +1,75 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "title": "VRT to Remediation Advice",
4
+ "description": "Mapping from the Vulnerability Rating Taxonomy to Remediation Advice",
5
+ "definitions": {
6
+ "MappingMetadata": {
7
+ "type": "object",
8
+ "properties": {
9
+ "default": { "type": "null" },
10
+ "keys": { "type": "array",
11
+ "items": { "type": "string", "enum": ["remediation_advice", "references"] },
12
+ "minItems": 2,
13
+ "uniqueItems": true
14
+ }
15
+ },
16
+ "required": ["default", "keys"]
17
+ },
18
+ "VRTid": { "type": "string", "pattern": "^[a-z_]*$" },
19
+ "RemediationAdvice": { "type": "string" },
20
+ "References": { "type" : "array",
21
+ "items" : { "type": "string", "pattern": "^http[s]?:\/\/.*$" },
22
+ "minItems": 1,
23
+ "uniqueItems": true
24
+ },
25
+ "Mapping": {
26
+ "type": "object",
27
+ "properties": {
28
+ "id": { "$ref": "#/definitions/VRTid" },
29
+ "remediation_advice" : { "$ref": "#/definitions/RemediationAdvice" },
30
+ "references" : { "$ref": "#/definitions/References" }
31
+ },
32
+ "required": ["id"],
33
+ "anyOf": [
34
+ { "required": ["remediation_advice"] },
35
+ { "required": ["references"] }
36
+ ],
37
+ "additionalProperties": false
38
+ },
39
+ "MappingParent": {
40
+ "type": "object",
41
+ "properties": {
42
+ "id": { "$ref": "#/definitions/VRTid" },
43
+ "children": {
44
+ "type": "array",
45
+ "items" : {
46
+ "anyOf": [
47
+ { "$ref": "#/definitions/MappingParent" },
48
+ { "$ref": "#/definitions/Mapping" }
49
+ ]
50
+ }
51
+ },
52
+ "remediation_advice" : { "$ref": "#/definitions/RemediationAdvice" },
53
+ "references" : { "$ref": "#/definitions/References" }
54
+ },
55
+ "required": ["id", "children"],
56
+ "additionalProperties": false
57
+ }
58
+ },
59
+ "type": "object",
60
+ "required": ["metadata", "content"],
61
+ "properties": {
62
+ "metadata": {
63
+ "$ref": "#/definitions/MappingMetadata"
64
+ },
65
+ "content": {
66
+ "type": "array",
67
+ "items" : {
68
+ "anyOf": [
69
+ { "$ref": "#/definitions/MappingParent" },
70
+ { "$ref": "#/definitions/Mapping" }
71
+ ]
72
+ }
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "title": "Vulnerability Rating Taxonomy",
4
+ "description": "A Taxonomy of potential vulnerabilities with suggested technical priority rating",
5
+ "definitions": {
6
+ "VRTmetadata": {
7
+ "type": "object",
8
+ "properties": {
9
+ "release_date": { "type": "string", "format": "date-time" }
10
+ }
11
+ },
12
+ "VRT": {
13
+ "type": "object",
14
+ "properties": {
15
+ "id": { "type": "string", "pattern": "^[a-z_]*$" },
16
+ "type": { "type": "string", "enum": [ "category", "subcategory", "variant" ] },
17
+ "name": { "type": "string", "pattern": "^[ a-zA-Z0-9-+()\/,.<]*$" },
18
+ "priority": {
19
+ "anyOf": [
20
+ { "type": "number", "minimum": 1, "maximum": 5 },
21
+ { "type": "null" }
22
+ ]
23
+ }
24
+ },
25
+ "required": ["id", "name", "type", "priority"]
26
+ },
27
+ "VRTparent": {
28
+ "type": "object",
29
+ "properties": {
30
+ "id": { "type": "string", "pattern": "^[a-z_]*$" },
31
+ "name": { "type": "string", "pattern": "^[ a-zA-Z0-9-+()\/,.<]*$" },
32
+ "type": { "type": "string", "enum": [ "category", "subcategory" ] },
33
+ "children": {
34
+ "type": "array",
35
+ "items" : {
36
+ "anyOf": [
37
+ { "$ref": "#/definitions/VRTparent" },
38
+ { "$ref": "#/definitions/VRT" }
39
+ ]
40
+ },
41
+ "minItems": 1
42
+ }
43
+ },
44
+ "required": ["id", "name", "type", "children"]
45
+ }
46
+ },
47
+ "type": "object",
48
+ "required": ["metadata", "content"],
49
+ "properties": {
50
+ "metadata": {
51
+ "$ref": "#/definitions/VRTmetadata"
52
+ },
53
+ "content": {
54
+ "type": "array",
55
+ "items" : {
56
+ "anyOf": [
57
+ { "$ref": "#/definitions/VRTparent" },
58
+ { "$ref": "#/definitions/VRT" }
59
+ ]
60
+ }
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,2053 @@
1
+ {
2
+ "metadata": {
3
+ "release_date": "2020-05-22T00:00:00+00:00"
4
+ },
5
+ "content": [
6
+ {
7
+ "id": "server_security_misconfiguration",
8
+ "name": "Server Security Misconfiguration",
9
+ "type": "category",
10
+ "children": [
11
+ {
12
+ "id": "unsafe_cross_origin_resource_sharing",
13
+ "name": "Unsafe Cross-Origin Resource Sharing",
14
+ "type": "subcategory",
15
+ "priority": null
16
+ },
17
+ {
18
+ "id": "path_traversal",
19
+ "name": "Path Traversal",
20
+ "type": "subcategory",
21
+ "priority": null
22
+ },
23
+ {
24
+ "id": "directory_listing_enabled",
25
+ "name": "Directory Listing Enabled",
26
+ "type": "subcategory",
27
+ "children": [
28
+ {
29
+ "id": "sensitive_data_exposure",
30
+ "name": "Sensitive Data Exposure",
31
+ "type": "variant",
32
+ "priority": null
33
+ },
34
+ {
35
+ "id": "non_sensitive_data_exposure",
36
+ "name": "Non-Sensitive Data Exposure",
37
+ "type": "variant",
38
+ "priority": 5
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ "id": "same_site_scripting",
44
+ "name": "Same-Site Scripting",
45
+ "type": "subcategory",
46
+ "priority": 5
47
+ },
48
+ {
49
+ "id": "ssl_attack_breach_poodle_etc",
50
+ "name": "SSL Attack (BREACH, POODLE etc.)",
51
+ "type": "subcategory",
52
+ "priority": null
53
+ },
54
+ {
55
+ "id": "using_default_credentials",
56
+ "name": "Using Default Credentials",
57
+ "type": "subcategory",
58
+ "priority": 1
59
+ },
60
+ {
61
+ "id": "misconfigured_dns",
62
+ "name": "Misconfigured DNS",
63
+ "type": "subcategory",
64
+ "children": [
65
+ {
66
+ "id": "basic_subdomain_takeover",
67
+ "name": "Basic Subdomain Takeover",
68
+ "type": "variant",
69
+ "priority": 3
70
+ },
71
+ {
72
+ "id": "high_impact_subdomain_takeover",
73
+ "name": "High Impact Subdomain Takeover",
74
+ "type": "variant",
75
+ "priority": 2
76
+ },
77
+ {
78
+ "id": "zone_transfer",
79
+ "name": "Zone Transfer",
80
+ "type": "variant",
81
+ "priority": 4
82
+ },
83
+ {
84
+ "id": "missing_caa_record",
85
+ "name": "Missing Certification Authority Authorization (CAA) Record",
86
+ "type": "variant",
87
+ "priority": 5
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "id": "mail_server_misconfiguration",
93
+ "name": "Mail Server Misconfiguration",
94
+ "type": "subcategory",
95
+ "children": [
96
+ {
97
+ "id": "no_spoofing_protection_on_email_domain",
98
+ "name": "No Spoofing Protection on Email Domain",
99
+ "type": "variant",
100
+ "priority": 3
101
+ },
102
+ {
103
+ "id": "email_spoofing_to_inbox_due_to_missing_or_misconfigured_dmarc_on_email_domain",
104
+ "name": "Email Spoofing to Inbox due to Missing or Misconfigured DMARC on Email Domain",
105
+ "type": "variant",
106
+ "priority": 4
107
+ },
108
+ {
109
+ "id": "email_spoofing_to_spam_folder",
110
+ "name": "Email Spoofing to Spam Folder",
111
+ "type": "variant",
112
+ "priority": 5
113
+ },
114
+ {
115
+ "id": "missing_or_misconfigured_spf_and_or_dkim",
116
+ "name": "Missing or Misconfigured SPF and/or DKIM",
117
+ "type": "variant",
118
+ "priority": 5
119
+ },
120
+ {
121
+ "id": "email_spoofing_on_non_email_domain",
122
+ "name": "Email Spoofing on Non-Email Domain",
123
+ "type": "variant",
124
+ "priority": 5
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "id": "dbms_misconfiguration",
130
+ "name": "Database Management System (DBMS) Misconfiguration",
131
+ "type": "subcategory",
132
+ "children": [
133
+ {
134
+ "id": "excessively_privileged_user_dba",
135
+ "name": "Excessively Privileged User / DBA",
136
+ "type": "variant",
137
+ "priority": 4
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "id": "lack_of_password_confirmation",
143
+ "name": "Lack of Password Confirmation",
144
+ "type": "subcategory",
145
+ "children": [
146
+ {
147
+ "id": "change_email_address",
148
+ "name": "Change Email Address",
149
+ "type": "variant",
150
+ "priority": 5
151
+ },
152
+ {
153
+ "id": "change_password",
154
+ "name": "Change Password",
155
+ "type": "variant",
156
+ "priority": 5
157
+ },
158
+ {
159
+ "id": "delete_account",
160
+ "name": "Delete Account",
161
+ "type": "variant",
162
+ "priority": 4
163
+ },
164
+ {
165
+ "id": "manage_two_fa",
166
+ "name": "Manage 2FA",
167
+ "type": "variant",
168
+ "priority": 5
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ "id": "no_rate_limiting_on_form",
174
+ "name": "No Rate Limiting on Form",
175
+ "type": "subcategory",
176
+ "children": [
177
+ {
178
+ "id": "registration",
179
+ "name": "Registration",
180
+ "type": "variant",
181
+ "priority": 4
182
+ },
183
+ {
184
+ "id": "login",
185
+ "name": "Login",
186
+ "type": "variant",
187
+ "priority": 4
188
+ },
189
+ {
190
+ "id": "email_triggering",
191
+ "name": "Email-Triggering",
192
+ "type": "variant",
193
+ "priority": 4
194
+ },
195
+ {
196
+ "id": "sms_triggering",
197
+ "name": "SMS-Triggering",
198
+ "type": "variant",
199
+ "priority": 4
200
+ },
201
+ {
202
+ "id": "change_password",
203
+ "name": "Change Password",
204
+ "type": "variant",
205
+ "priority": 5
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "id": "unsafe_file_upload",
211
+ "name": "Unsafe File Upload",
212
+ "type": "subcategory",
213
+ "children": [
214
+ {
215
+ "id": "no_antivirus",
216
+ "name": "No Antivirus",
217
+ "type": "variant",
218
+ "priority": 5
219
+ },
220
+ {
221
+ "id": "no_size_limit",
222
+ "name": "No Size Limit",
223
+ "type": "variant",
224
+ "priority": 5
225
+ },
226
+ {
227
+ "id": "file_extension_filter_bypass",
228
+ "name": "File Extension Filter Bypass",
229
+ "type": "variant",
230
+ "priority": 5
231
+ }
232
+ ]
233
+ },
234
+ {
235
+ "id": "cookie_scoped_to_parent_domain",
236
+ "name": "Cookie Scoped to Parent Domain",
237
+ "type": "subcategory",
238
+ "priority": 5
239
+ },
240
+ {
241
+ "id": "missing_secure_or_httponly_cookie_flag",
242
+ "name": "Missing Secure or HTTPOnly Cookie Flag",
243
+ "type": "subcategory",
244
+ "children": [
245
+ {
246
+ "id": "session_token",
247
+ "name": "Session Token",
248
+ "type": "variant",
249
+ "priority": 4
250
+ },
251
+ {
252
+ "id": "non_session_cookie",
253
+ "name": "Non-Session Cookie",
254
+ "type": "variant",
255
+ "priority": 5
256
+ }
257
+ ]
258
+ },
259
+ {
260
+ "id": "clickjacking",
261
+ "name": "Clickjacking",
262
+ "type": "subcategory",
263
+ "children": [
264
+ {
265
+ "id": "sensitive_action",
266
+ "name": "Sensitive Click-Based Action",
267
+ "type": "variant",
268
+ "priority": 4
269
+ },
270
+ {
271
+ "id": "form_input",
272
+ "name": "Form Input",
273
+ "type": "variant",
274
+ "priority": 5
275
+ },
276
+ {
277
+ "id": "non_sensitive_action",
278
+ "name": "Non-Sensitive Action",
279
+ "type": "variant",
280
+ "priority": 5
281
+ }
282
+ ]
283
+ },
284
+ {
285
+ "id": "oauth_misconfiguration",
286
+ "name": "OAuth Misconfiguration",
287
+ "type": "subcategory",
288
+ "children": [
289
+ {
290
+ "id": "account_takeover",
291
+ "name": "Account Takeover",
292
+ "type": "variant",
293
+ "priority": 2
294
+ },
295
+ {
296
+ "id": "missing_state_parameter",
297
+ "name": "Missing/Broken State Parameter",
298
+ "type": "variant",
299
+ "priority": null
300
+ },
301
+ {
302
+ "id": "insecure_redirect_uri",
303
+ "name": "Insecure Redirect URI",
304
+ "type": "variant",
305
+ "priority": null
306
+ }
307
+ ]
308
+ },
309
+ {
310
+ "id": "captcha",
311
+ "name": "CAPTCHA",
312
+ "type": "subcategory",
313
+ "children": [
314
+ {
315
+ "id": "implementation_vulnerability",
316
+ "name": "Implementation Vulnerability",
317
+ "type": "variant",
318
+ "priority": 4
319
+ },
320
+ {
321
+ "id": "brute_force",
322
+ "name": "Brute Force",
323
+ "type": "variant",
324
+ "priority": 5
325
+ },
326
+ {
327
+ "id": "missing",
328
+ "name": "Missing",
329
+ "type": "variant",
330
+ "priority": 5
331
+ }
332
+ ]
333
+ },
334
+ {
335
+ "id": "exposed_admin_portal",
336
+ "name": "Exposed Admin Portal",
337
+ "type": "subcategory",
338
+ "children": [
339
+ {
340
+ "id": "to_internet",
341
+ "name": "To Internet",
342
+ "type": "variant",
343
+ "priority": 5
344
+ }
345
+ ]
346
+ },
347
+ {
348
+ "id": "missing_dnssec",
349
+ "name": "Missing DNSSEC",
350
+ "type": "subcategory",
351
+ "priority": 5
352
+ },
353
+ {
354
+ "id": "fingerprinting_banner_disclosure",
355
+ "name": "Fingerprinting/Banner Disclosure",
356
+ "type": "subcategory",
357
+ "priority": 5
358
+ },
359
+ {
360
+ "id": "username_enumeration",
361
+ "name": "Username/Email Enumeration",
362
+ "type": "subcategory",
363
+ "children": [
364
+ {
365
+ "id": "brute_force",
366
+ "name": "Brute Force",
367
+ "type": "variant",
368
+ "priority": 5
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "id": "potentially_unsafe_http_method_enabled",
374
+ "name": "Potentially Unsafe HTTP Method Enabled",
375
+ "type": "subcategory",
376
+ "children": [
377
+ {
378
+ "id": "options",
379
+ "name": "OPTIONS",
380
+ "type": "variant",
381
+ "priority": 5
382
+ },
383
+ {
384
+ "id": "trace",
385
+ "name": "TRACE",
386
+ "type": "variant",
387
+ "priority": 5
388
+ }
389
+ ]
390
+ },
391
+ {
392
+ "id": "insecure_ssl",
393
+ "name": "Insecure SSL",
394
+ "type": "subcategory",
395
+ "children": [
396
+ {
397
+ "id": "lack_of_forward_secrecy",
398
+ "name": "Lack of Forward Secrecy",
399
+ "type": "variant",
400
+ "priority": 5
401
+ },
402
+ {
403
+ "id": "insecure_cipher_suite",
404
+ "name": "Insecure Cipher Suite",
405
+ "type": "variant",
406
+ "priority": 5
407
+ },
408
+ {
409
+ "id": "certificate_error",
410
+ "name": "Certificate Error",
411
+ "type": "variant",
412
+ "priority": 5
413
+ }
414
+ ]
415
+ },
416
+ {
417
+ "id": "rfd",
418
+ "name": "Reflected File Download (RFD)",
419
+ "type": "subcategory",
420
+ "priority": 5
421
+ },
422
+ {
423
+ "id": "lack_of_security_headers",
424
+ "name": "Lack of Security Headers",
425
+ "type": "subcategory",
426
+ "children": [
427
+ {
428
+ "id": "x_frame_options",
429
+ "name": "X-Frame-Options",
430
+ "type": "variant",
431
+ "priority": 5
432
+ },
433
+ {
434
+ "id": "cache_control_for_a_non_sensitive_page",
435
+ "name": "Cache-Control for a Non-Sensitive Page",
436
+ "type": "variant",
437
+ "priority": 5
438
+ },
439
+ {
440
+ "id": "x_xss_protection",
441
+ "name": "X-XSS-Protection",
442
+ "type": "variant",
443
+ "priority": 5
444
+ },
445
+ {
446
+ "id": "strict_transport_security",
447
+ "name": "Strict-Transport-Security",
448
+ "type": "variant",
449
+ "priority": 5
450
+ },
451
+ {
452
+ "id": "x_content_type_options",
453
+ "name": "X-Content-Type-Options",
454
+ "type": "variant",
455
+ "priority": 5
456
+ },
457
+ {
458
+ "id": "content_security_policy",
459
+ "name": "Content-Security-Policy",
460
+ "type": "variant",
461
+ "priority": 5
462
+ },
463
+ {
464
+ "id": "public_key_pins",
465
+ "name": "Public-Key-Pins",
466
+ "type": "variant",
467
+ "priority": 5
468
+ },
469
+ {
470
+ "id": "x_content_security_policy",
471
+ "name": "X-Content-Security-Policy",
472
+ "type": "variant",
473
+ "priority": 5
474
+ },
475
+ {
476
+ "id": "x_webkit_csp",
477
+ "name": "X-Webkit-CSP",
478
+ "type": "variant",
479
+ "priority": 5
480
+ },
481
+ {
482
+ "id": "content_security_policy_report_only",
483
+ "name": "Content-Security-Policy-Report-Only",
484
+ "type": "variant",
485
+ "priority": 5
486
+ },
487
+ {
488
+ "id": "cache_control_for_a_sensitive_page",
489
+ "name": "Cache-Control for a Sensitive Page",
490
+ "type": "variant",
491
+ "priority": 4
492
+ }
493
+ ]
494
+ },
495
+ {
496
+ "id": "waf_bypass",
497
+ "name": "Web Application Firewall (WAF) Bypass",
498
+ "type": "subcategory",
499
+ "children": [
500
+ {
501
+ "id": "direct_server_access",
502
+ "name": "Direct Server Access",
503
+ "type": "variant",
504
+ "priority": 4
505
+ }
506
+ ]
507
+ },
508
+ {
509
+ "id": "race_condition",
510
+ "name": "Race Condition",
511
+ "type": "subcategory",
512
+ "priority": null
513
+ },
514
+ {
515
+ "id": "cache_poisoning",
516
+ "name": "Cache Poisoning",
517
+ "type": "subcategory",
518
+ "priority": null
519
+ },
520
+ {
521
+ "id": "bitsquatting",
522
+ "name": "Bitsquatting",
523
+ "type": "subcategory",
524
+ "priority": 5
525
+ }
526
+ ]
527
+ },
528
+ {
529
+ "id": "server_side_injection",
530
+ "name": "Server-Side Injection",
531
+ "type": "category",
532
+ "children": [
533
+ {
534
+ "id": "file_inclusion",
535
+ "name": "File Inclusion",
536
+ "type": "subcategory",
537
+ "children": [
538
+ {
539
+ "id": "local",
540
+ "name": "Local",
541
+ "type": "variant",
542
+ "priority": 1
543
+ }
544
+ ]
545
+ },
546
+ {
547
+ "id": "parameter_pollution",
548
+ "name": "Parameter Pollution",
549
+ "type": "subcategory",
550
+ "children": [
551
+ {
552
+ "id": "social_media_sharing_buttons",
553
+ "name": "Social Media Sharing Buttons",
554
+ "type": "variant",
555
+ "priority": 5
556
+ }
557
+ ]
558
+ },
559
+ {
560
+ "id": "remote_code_execution_rce",
561
+ "name": "Remote Code Execution (RCE)",
562
+ "type": "subcategory",
563
+ "priority": 1
564
+ },
565
+ {
566
+ "id": "sql_injection",
567
+ "name": "SQL Injection",
568
+ "type": "subcategory",
569
+ "priority": 1
570
+ },
571
+ {
572
+ "id": "xml_external_entity_injection_xxe",
573
+ "name": "XML External Entity Injection (XXE)",
574
+ "type": "subcategory",
575
+ "priority": 1
576
+ },
577
+ {
578
+ "id": "http_response_manipulation",
579
+ "name": "HTTP Response Manipulation",
580
+ "type": "subcategory",
581
+ "children": [
582
+ {
583
+ "id": "response_splitting_crlf",
584
+ "name": "Response Splitting (CRLF)",
585
+ "type": "variant",
586
+ "priority": 3
587
+ }
588
+ ]
589
+ },
590
+ {
591
+ "id": "content_spoofing",
592
+ "name": "Content Spoofing",
593
+ "type": "subcategory",
594
+ "children": [
595
+ {
596
+ "id": "iframe_injection",
597
+ "name": "iframe Injection",
598
+ "type": "variant",
599
+ "priority": 3
600
+ },
601
+ {
602
+ "id": "impersonation_via_broken_link_hijacking",
603
+ "name": "Impersonation via Broken Link Hijacking",
604
+ "type": "variant",
605
+ "priority": 4
606
+ },
607
+ {
608
+ "id": "external_authentication_injection",
609
+ "name": "External Authentication Injection",
610
+ "type": "variant",
611
+ "priority": 4
612
+ },
613
+ {
614
+ "id": "flash_based_external_authentication_injection",
615
+ "name": "Flash Based External Authentication Injection",
616
+ "type": "variant",
617
+ "priority": 5
618
+ },
619
+ {
620
+ "id": "email_html_injection",
621
+ "name": "Email HTML Injection",
622
+ "type": "variant",
623
+ "priority": 4
624
+ },
625
+ {
626
+ "id": "email_hyperlink_injection_based_on_email_provider",
627
+ "name": "Email Hyperlink Injection Based on Email Provider",
628
+ "type": "variant",
629
+ "priority": 5
630
+ },
631
+ {
632
+ "id": "text_injection",
633
+ "name": "Text Injection",
634
+ "type": "variant",
635
+ "priority": 5
636
+ },
637
+ {
638
+ "id": "homograph_idn_based",
639
+ "name": "Homograph/IDN-Based",
640
+ "type": "variant",
641
+ "priority": 5
642
+ },
643
+ {
644
+ "id": "rtlo",
645
+ "name": "Right-to-Left Override (RTLO)",
646
+ "type": "variant",
647
+ "priority": 5
648
+ }
649
+ ]
650
+ },
651
+ {
652
+ "id": "ssti",
653
+ "name": "Server-Side Template Injection (SSTI)",
654
+ "type": "subcategory",
655
+ "children": [
656
+ {
657
+ "id": "basic",
658
+ "name": "Basic",
659
+ "type": "variant",
660
+ "priority": 4
661
+ },
662
+ {
663
+ "id": "custom",
664
+ "name": "Custom",
665
+ "type": "variant",
666
+ "priority": null
667
+ }
668
+ ]
669
+ }
670
+ ]
671
+ },
672
+ {
673
+ "id": "broken_authentication_and_session_management",
674
+ "name": "Broken Authentication and Session Management",
675
+ "type": "category",
676
+ "children": [
677
+ {
678
+ "id": "authentication_bypass",
679
+ "name": "Authentication Bypass",
680
+ "type": "subcategory",
681
+ "priority": 1
682
+ },
683
+ {
684
+ "id": "two_fa_bypass",
685
+ "name": "Second Factor Authentication (2FA) Bypass",
686
+ "type": "subcategory",
687
+ "priority": 3
688
+ },
689
+ {
690
+ "id": "privilege_escalation",
691
+ "name": "Privilege Escalation",
692
+ "type": "subcategory",
693
+ "priority": null
694
+ },
695
+ {
696
+ "id": "cleartext_transmission_of_session_token",
697
+ "name": "Cleartext Transmission of Session Token",
698
+ "type": "subcategory",
699
+ "priority": 4
700
+ },
701
+ {
702
+ "id": "weak_login_function",
703
+ "name": "Weak Login Function",
704
+ "type": "subcategory",
705
+ "children": [
706
+ {
707
+ "id": "not_operational",
708
+ "name": "Not Operational or Intended Public Access",
709
+ "type": "variant",
710
+ "priority": 5
711
+ },
712
+ {
713
+ "id": "other_plaintext_protocol_no_secure_alternative",
714
+ "name": "Other Plaintext Protocol with no Secure Alternative",
715
+ "type": "variant",
716
+ "priority": 4
717
+ },
718
+ {
719
+ "id": "lan_only",
720
+ "name": "LAN Only",
721
+ "type": "variant",
722
+ "priority": 4
723
+ },
724
+ {
725
+ "id": "http_and_https_available",
726
+ "name": "HTTP and HTTPS Available",
727
+ "type": "variant",
728
+ "priority": 4
729
+ },
730
+ {
731
+ "id": "https_not_available_or_http_by_default",
732
+ "name": "HTTPS not Available or HTTP by Default",
733
+ "type": "variant",
734
+ "priority": 3
735
+ }
736
+ ]
737
+ },
738
+ {
739
+ "id": "session_fixation",
740
+ "name": "Session Fixation",
741
+ "type": "subcategory",
742
+ "children": [
743
+ {
744
+ "id": "remote_attack_vector",
745
+ "name": "Remote Attack Vector",
746
+ "type": "variant",
747
+ "priority": 3
748
+ },
749
+ {
750
+ "id": "local_attack_vector",
751
+ "name": "Local Attack Vector",
752
+ "type": "variant",
753
+ "priority": 5
754
+ }
755
+ ]
756
+ },
757
+ {
758
+ "id": "failure_to_invalidate_session",
759
+ "name": "Failure to Invalidate Session",
760
+ "type": "subcategory",
761
+ "children": [
762
+ {
763
+ "id": "on_logout",
764
+ "name": "On Logout (Client and Server-Side)",
765
+ "type": "variant",
766
+ "priority": 4
767
+ },
768
+ {
769
+ "id": "on_logout_server_side_only",
770
+ "name": "On Logout (Server-Side Only)",
771
+ "type": "variant",
772
+ "priority": 5
773
+ },
774
+ {
775
+ "id": "on_password_change",
776
+ "name": "On Password Reset and/or Change",
777
+ "type": "variant",
778
+ "priority": 4
779
+ },
780
+ {
781
+ "id": "all_sessions",
782
+ "name": "Concurrent Sessions On Logout",
783
+ "type": "variant",
784
+ "priority": 5
785
+ },
786
+ {
787
+ "id": "on_email_change",
788
+ "name": "On Email Change",
789
+ "type": "variant",
790
+ "priority": 5
791
+ },
792
+ {
793
+ "id": "on_two_fa_activation_change",
794
+ "name": "On 2FA Activation/Change",
795
+ "type": "variant",
796
+ "priority": 5
797
+ },
798
+ {
799
+ "id": "long_timeout",
800
+ "name": "Long Timeout",
801
+ "type": "variant",
802
+ "priority": 5
803
+ }
804
+ ]
805
+ },
806
+ {
807
+ "id": "concurrent_logins",
808
+ "name": "Concurrent Logins",
809
+ "type": "subcategory",
810
+ "priority": 5
811
+ },
812
+ {
813
+ "id": "weak_registration_implementation",
814
+ "name": "Weak Registration Implementation",
815
+ "type": "subcategory",
816
+ "children": [
817
+ {
818
+ "id": "over_http",
819
+ "name": "Over HTTP",
820
+ "type": "variant",
821
+ "priority": 4
822
+ }
823
+ ]
824
+ }
825
+ ]
826
+ },
827
+ {
828
+ "id": "sensitive_data_exposure",
829
+ "name": "Sensitive Data Exposure",
830
+ "type": "category",
831
+ "children": [
832
+ {
833
+ "id": "disclosure_of_secrets",
834
+ "name": "Disclosure of Secrets",
835
+ "type": "subcategory",
836
+ "children": [
837
+ {
838
+ "id": "for_publicly_accessible_asset",
839
+ "name": "For Publicly Accessible Asset",
840
+ "type": "variant",
841
+ "priority": 1
842
+ },
843
+ {
844
+ "id": "for_internal_asset",
845
+ "name": "For Internal Asset",
846
+ "type": "variant",
847
+ "priority": 3
848
+ },
849
+ {
850
+ "id": "pay_per_use_abuse",
851
+ "name": "Pay-Per-Use Abuse",
852
+ "type": "variant",
853
+ "priority": 4
854
+ },
855
+ {
856
+ "id": "intentionally_public_sample_or_invalid",
857
+ "name": "Intentionally Public, Sample or Invalid",
858
+ "type": "variant",
859
+ "priority": 5
860
+ },
861
+ {
862
+ "id": "data_traffic_spam",
863
+ "name": "Data/Traffic Spam",
864
+ "type": "variant",
865
+ "priority": 5
866
+ },
867
+ {
868
+ "id": "non_corporate_user",
869
+ "name": "Non-Corporate User",
870
+ "type": "variant",
871
+ "priority": 5
872
+ }
873
+ ]
874
+ },
875
+ {
876
+ "id": "exif_geolocation_data_not_stripped_from_uploaded_images",
877
+ "name": "EXIF Geolocation Data Not Stripped From Uploaded Images",
878
+ "type": "subcategory",
879
+ "children": [
880
+ {
881
+ "id": "automatic_user_enumeration",
882
+ "name": "Automatic User Enumeration",
883
+ "type": "variant",
884
+ "priority": 3
885
+ },
886
+ {
887
+ "id": "manual_user_enumeration",
888
+ "name": "Manual User Enumeration",
889
+ "type": "variant",
890
+ "priority": 4
891
+ }
892
+ ]
893
+ },
894
+ {
895
+ "id": "visible_detailed_error_page",
896
+ "name": "Visible Detailed Error/Debug Page",
897
+ "type": "subcategory",
898
+ "children": [
899
+ {
900
+ "id": "detailed_server_configuration",
901
+ "name": "Detailed Server Configuration",
902
+ "type": "variant",
903
+ "priority": 4
904
+ },
905
+ {
906
+ "id": "full_path_disclosure",
907
+ "name": "Full Path Disclosure",
908
+ "type": "variant",
909
+ "priority": 5
910
+ },
911
+ {
912
+ "id": "descriptive_stack_trace",
913
+ "name": "Descriptive Stack Trace",
914
+ "type": "variant",
915
+ "priority": 5
916
+ }
917
+ ]
918
+ },
919
+ {
920
+ "id": "disclosure_of_known_public_information",
921
+ "name": "Disclosure of Known Public Information",
922
+ "type": "subcategory",
923
+ "priority": 5
924
+ },
925
+ {
926
+ "id": "token_leakage_via_referer",
927
+ "name": "Token Leakage via Referer",
928
+ "type": "subcategory",
929
+ "children": [
930
+ {
931
+ "id": "trusted_third_party",
932
+ "name": "Trusted 3rd Party",
933
+ "type": "variant",
934
+ "priority": 5
935
+ },
936
+ {
937
+ "id": "untrusted_third_party",
938
+ "name": "Untrusted 3rd Party",
939
+ "type": "variant",
940
+ "priority": 4
941
+ },
942
+ {
943
+ "id": "over_http",
944
+ "name": "Over HTTP",
945
+ "type": "variant",
946
+ "priority": 4
947
+ }
948
+ ]
949
+ },
950
+ {
951
+ "id": "sensitive_token_in_url",
952
+ "name": "Sensitive Token in URL",
953
+ "type": "subcategory",
954
+ "children": [
955
+ {
956
+ "id": "user_facing",
957
+ "name": "User Facing",
958
+ "type": "variant",
959
+ "priority": 4
960
+ },
961
+ {
962
+ "id": "in_the_background",
963
+ "name": "In the Background",
964
+ "type": "variant",
965
+ "priority": 5
966
+ },
967
+ {
968
+ "id": "on_password_reset",
969
+ "name": "On Password Reset",
970
+ "type": "variant",
971
+ "priority": 5
972
+ }
973
+ ]
974
+ },
975
+ {
976
+ "id": "non_sensitive_token_in_url",
977
+ "name": "Non-Sensitive Token in URL",
978
+ "type": "subcategory",
979
+ "priority": 5
980
+ },
981
+ {
982
+ "id": "weak_password_reset_implementation",
983
+ "name": "Weak Password Reset Implementation",
984
+ "type": "subcategory",
985
+ "children": [
986
+ {
987
+ "id": "password_reset_token_sent_over_http",
988
+ "name": "Password Reset Token Sent Over HTTP",
989
+ "type": "variant",
990
+ "priority": 4
991
+ },
992
+ {
993
+ "id": "token_leakage_via_host_header_poisoning",
994
+ "name": "Token Leakage via Host Header Poisoning",
995
+ "type": "variant",
996
+ "priority": 2
997
+ }
998
+ ]
999
+ },
1000
+ {
1001
+ "id": "mixed_content",
1002
+ "name": "Mixed Content (HTTPS Sourcing HTTP)",
1003
+ "type": "subcategory",
1004
+ "priority": 5
1005
+ },
1006
+ {
1007
+ "id": "sensitive_data_hardcoded",
1008
+ "name": "Sensitive Data Hardcoded",
1009
+ "type": "subcategory",
1010
+ "children": [
1011
+ {
1012
+ "id": "oauth_secret",
1013
+ "name": "OAuth Secret",
1014
+ "type": "variant",
1015
+ "priority": 5
1016
+ },
1017
+ {
1018
+ "id": "file_paths",
1019
+ "name": "File Paths",
1020
+ "type": "variant",
1021
+ "priority": 5
1022
+ }
1023
+ ]
1024
+ },
1025
+ {
1026
+ "id": "internal_ip_disclosure",
1027
+ "name": "Internal IP Disclosure",
1028
+ "type": "subcategory",
1029
+ "priority": 5
1030
+ },
1031
+ {
1032
+ "id": "xssi",
1033
+ "name": "Cross Site Script Inclusion (XSSI)",
1034
+ "type": "subcategory",
1035
+ "priority": null
1036
+ },
1037
+ {
1038
+ "id": "json_hijacking",
1039
+ "name": "JSON Hijacking",
1040
+ "type": "subcategory",
1041
+ "priority": 5
1042
+ },
1043
+ {
1044
+ "id": "via_localstorage_sessionstorage",
1045
+ "name": "Via localStorage/sessionStorage",
1046
+ "type": "subcategory",
1047
+ "children": [
1048
+ {
1049
+ "id": "sensitive_token",
1050
+ "name": "Sensitive Token",
1051
+ "type": "variant",
1052
+ "priority": 4
1053
+ },
1054
+ {
1055
+ "id": "non_sensitive_token",
1056
+ "name": "Non-Sensitive Token",
1057
+ "type": "variant",
1058
+ "priority": 5
1059
+ }
1060
+ ]
1061
+ }
1062
+ ]
1063
+ },
1064
+ {
1065
+ "id": "cross_site_scripting_xss",
1066
+ "name": "Cross-Site Scripting (XSS)",
1067
+ "type": "category",
1068
+ "children": [
1069
+ {
1070
+ "id": "stored",
1071
+ "name": "Stored",
1072
+ "type": "subcategory",
1073
+ "children": [
1074
+ {
1075
+ "id": "non_admin_to_anyone",
1076
+ "name": "Non-Privileged User to Anyone",
1077
+ "type": "variant",
1078
+ "priority": 2
1079
+ },
1080
+ {
1081
+ "id": "privileged_user_to_privilege_elevation",
1082
+ "name": "Privileged User to Privilege Elevation",
1083
+ "type": "variant",
1084
+ "priority": 3
1085
+ },
1086
+ {
1087
+ "id": "privileged_user_to_no_privilege_elevation",
1088
+ "name": "Privileged User to No Privilege Elevation",
1089
+ "type": "variant",
1090
+ "priority": 4
1091
+ },
1092
+ {
1093
+ "id": "url_based",
1094
+ "name": "CSRF/URL-Based",
1095
+ "type": "variant",
1096
+ "priority": 3
1097
+ },
1098
+ {
1099
+ "id": "self",
1100
+ "name": "Self",
1101
+ "type": "variant",
1102
+ "priority": 5
1103
+ }
1104
+ ]
1105
+ },
1106
+ {
1107
+ "id": "reflected",
1108
+ "name": "Reflected",
1109
+ "type": "subcategory",
1110
+ "children": [
1111
+ {
1112
+ "id": "non_self",
1113
+ "name": "Non-Self",
1114
+ "type": "variant",
1115
+ "priority": 3
1116
+ },
1117
+ {
1118
+ "id": "self",
1119
+ "name": "Self",
1120
+ "type": "variant",
1121
+ "priority": 5
1122
+ }
1123
+ ]
1124
+ },
1125
+ {
1126
+ "id": "flash_based",
1127
+ "name": "Flash-Based",
1128
+ "type": "subcategory",
1129
+ "priority": 4
1130
+ },
1131
+ {
1132
+ "id": "cookie_based",
1133
+ "name": "Cookie-Based",
1134
+ "type": "subcategory",
1135
+ "priority": 5
1136
+ },
1137
+ {
1138
+ "id": "ie_only",
1139
+ "name": "IE-Only",
1140
+ "type": "subcategory",
1141
+ "children": [
1142
+ {
1143
+ "id": "ie_eleven",
1144
+ "name": "IE11",
1145
+ "type": "variant",
1146
+ "priority": 4
1147
+ },
1148
+ {
1149
+ "id": "xss_filter_disabled",
1150
+ "name": "XSS Filter Disabled",
1151
+ "type": "variant",
1152
+ "priority": 5
1153
+ },
1154
+ {
1155
+ "id": "older_version_ie_eleven",
1156
+ "name": "Older Version (< IE11)",
1157
+ "type": "variant",
1158
+ "priority": 5
1159
+ }
1160
+ ]
1161
+ },
1162
+ {
1163
+ "id": "referer",
1164
+ "name": "Referer",
1165
+ "type": "subcategory",
1166
+ "priority": 4
1167
+ },
1168
+ {
1169
+ "id": "trace_method",
1170
+ "name": "TRACE Method",
1171
+ "type": "subcategory",
1172
+ "priority": 5
1173
+ },
1174
+ {
1175
+ "id": "universal_uxss",
1176
+ "name": "Universal (UXSS)",
1177
+ "type": "subcategory",
1178
+ "priority": 4
1179
+ },
1180
+ {
1181
+ "id": "off_domain",
1182
+ "name": "Off-Domain",
1183
+ "type": "subcategory",
1184
+ "children": [
1185
+ {
1186
+ "id": "data_uri",
1187
+ "name": "Data URI",
1188
+ "type": "variant",
1189
+ "priority": 4
1190
+ }
1191
+ ]
1192
+ }
1193
+ ]
1194
+ },
1195
+ {
1196
+ "id": "broken_access_control",
1197
+ "name": "Broken Access Control (BAC)",
1198
+ "type": "category",
1199
+ "children": [
1200
+ {
1201
+ "id": "idor",
1202
+ "name": "Insecure Direct Object References (IDOR)",
1203
+ "type": "subcategory",
1204
+ "priority": null
1205
+ },
1206
+ {
1207
+ "id": "server_side_request_forgery_ssrf",
1208
+ "name": "Server-Side Request Forgery (SSRF)",
1209
+ "type": "subcategory",
1210
+ "children": [
1211
+ {
1212
+ "id": "internal_high_impact",
1213
+ "name": "Internal High Impact",
1214
+ "type": "variant",
1215
+ "priority": 2
1216
+ },
1217
+ {
1218
+ "id": "internal_scan_and_or_medium_impact",
1219
+ "name": "Internal Scan and/or Medium Impact",
1220
+ "type": "variant",
1221
+ "priority": 3
1222
+ },
1223
+ {
1224
+ "id": "external",
1225
+ "name": "External",
1226
+ "type": "variant",
1227
+ "priority": 4
1228
+ },
1229
+ {
1230
+ "id": "dns_query_only",
1231
+ "name": "DNS Query Only",
1232
+ "type": "variant",
1233
+ "priority": 5
1234
+ }
1235
+ ]
1236
+ },
1237
+ {
1238
+ "id": "username_enumeration",
1239
+ "name": "Username/Email Enumeration",
1240
+ "type": "subcategory",
1241
+ "children": [
1242
+ {
1243
+ "id": "non_brute_force",
1244
+ "name": "Non-Brute Force",
1245
+ "type": "variant",
1246
+ "priority": 4
1247
+ }
1248
+ ]
1249
+ },
1250
+ {
1251
+ "id": "exposed_sensitive_android_intent",
1252
+ "name": "Exposed Sensitive Android Intent",
1253
+ "type": "subcategory",
1254
+ "priority": null
1255
+ },
1256
+ {
1257
+ "id": "exposed_sensitive_ios_url_scheme",
1258
+ "name": "Exposed Sensitive iOS URL Scheme",
1259
+ "type": "subcategory",
1260
+ "priority": null
1261
+ }
1262
+ ]
1263
+ },
1264
+ {
1265
+ "id": "cross_site_request_forgery_csrf",
1266
+ "name": "Cross-Site Request Forgery (CSRF)",
1267
+ "type": "category",
1268
+ "children": [
1269
+ {
1270
+ "id": "application_wide",
1271
+ "name": "Application-Wide",
1272
+ "type": "subcategory",
1273
+ "priority": 2
1274
+ },
1275
+ {
1276
+ "id": "action_specific",
1277
+ "name": "Action-Specific",
1278
+ "type": "subcategory",
1279
+ "children": [
1280
+ {
1281
+ "id": "authenticated_action",
1282
+ "name": "Authenticated Action",
1283
+ "type": "variant",
1284
+ "priority": null
1285
+ },
1286
+ {
1287
+ "id": "unauthenticated_action",
1288
+ "name": "Unauthenticated Action",
1289
+ "type": "variant",
1290
+ "priority": null
1291
+ },
1292
+ {
1293
+ "id": "logout",
1294
+ "name": "Logout",
1295
+ "type": "variant",
1296
+ "priority": 5
1297
+ }
1298
+ ]
1299
+ },
1300
+ {
1301
+ "id": "csrf_token_not_unique_per_request",
1302
+ "name": "CSRF Token Not Unique Per Request",
1303
+ "type": "subcategory",
1304
+ "priority": 5
1305
+ },
1306
+ {
1307
+ "id": "flash_based",
1308
+ "name": "Flash-Based",
1309
+ "type": "subcategory",
1310
+ "children": [
1311
+ {
1312
+ "id": "high_impact",
1313
+ "name": "High Impact",
1314
+ "type": "variant",
1315
+ "priority": 4
1316
+ },
1317
+ {
1318
+ "id": "low_impact",
1319
+ "name": "Low Impact",
1320
+ "type": "variant",
1321
+ "priority": 5
1322
+ }
1323
+ ]
1324
+ }
1325
+ ]
1326
+ },
1327
+ {
1328
+ "id": "application_level_denial_of_service_dos",
1329
+ "name": "Application-Level Denial-of-Service (DoS)",
1330
+ "type": "category",
1331
+ "children": [
1332
+ {
1333
+ "id": "critical_impact_and_or_easy_difficulty",
1334
+ "name": "Critical Impact and/or Easy Difficulty",
1335
+ "type": "subcategory",
1336
+ "priority": 2
1337
+ },
1338
+ {
1339
+ "id": "high_impact_and_or_medium_difficulty",
1340
+ "name": "High Impact and/or Medium Difficulty",
1341
+ "type": "subcategory",
1342
+ "priority": 3
1343
+ },
1344
+ {
1345
+ "id": "app_crash",
1346
+ "name": "App Crash",
1347
+ "type": "subcategory",
1348
+ "children": [
1349
+ {
1350
+ "id": "malformed_android_intents",
1351
+ "name": "Malformed Android Intents",
1352
+ "type": "variant",
1353
+ "priority": 5
1354
+ },
1355
+ {
1356
+ "id": "malformed_ios_url_schemes",
1357
+ "name": "Malformed iOS URL Schemes",
1358
+ "type": "variant",
1359
+ "priority": 5
1360
+ }
1361
+ ]
1362
+ }
1363
+ ]
1364
+ },
1365
+ {
1366
+ "id": "unvalidated_redirects_and_forwards",
1367
+ "name": "Unvalidated Redirects and Forwards",
1368
+ "type": "category",
1369
+ "children": [
1370
+ {
1371
+ "id": "open_redirect",
1372
+ "name": "Open Redirect",
1373
+ "type": "subcategory",
1374
+ "children": [
1375
+ {
1376
+ "id": "get_based",
1377
+ "name": "GET-Based",
1378
+ "type": "variant",
1379
+ "priority": 4
1380
+ },
1381
+ {
1382
+ "id": "post_based",
1383
+ "name": "POST-Based",
1384
+ "type": "variant",
1385
+ "priority": 5
1386
+ },
1387
+ {
1388
+ "id": "header_based",
1389
+ "name": "Header-Based",
1390
+ "type": "variant",
1391
+ "priority": 5
1392
+ },
1393
+ {
1394
+ "id": "flash_based",
1395
+ "name": "Flash-Based",
1396
+ "type": "variant",
1397
+ "priority": 5
1398
+ }
1399
+ ]
1400
+ },
1401
+ {
1402
+ "id": "tabnabbing",
1403
+ "name": "Tabnabbing",
1404
+ "type": "subcategory",
1405
+ "priority": 5
1406
+ },
1407
+ {
1408
+ "id": "lack_of_security_speed_bump_page",
1409
+ "name": "Lack of Security Speed Bump Page",
1410
+ "type": "subcategory",
1411
+ "priority": 5
1412
+ }
1413
+ ]
1414
+ },
1415
+ {
1416
+ "id": "external_behavior",
1417
+ "name": "External Behavior",
1418
+ "type": "category",
1419
+ "children": [
1420
+ {
1421
+ "id": "browser_feature",
1422
+ "name": "Browser Feature",
1423
+ "type": "subcategory",
1424
+ "children": [
1425
+ {
1426
+ "id": "plaintext_password_field",
1427
+ "name": "Plaintext Password Field",
1428
+ "type": "variant",
1429
+ "priority": 5
1430
+ },
1431
+ {
1432
+ "id": "save_password",
1433
+ "name": "Save Password",
1434
+ "type": "variant",
1435
+ "priority": 5
1436
+ },
1437
+ {
1438
+ "id": "autocomplete_enabled",
1439
+ "name": "Autocomplete Enabled",
1440
+ "type": "variant",
1441
+ "priority": 5
1442
+ },
1443
+ {
1444
+ "id": "autocorrect_enabled",
1445
+ "name": "Autocorrect Enabled",
1446
+ "type": "variant",
1447
+ "priority": 5
1448
+ },
1449
+ {
1450
+ "id": "aggressive_offline_caching",
1451
+ "name": "Aggressive Offline Caching",
1452
+ "type": "variant",
1453
+ "priority": 5
1454
+ }
1455
+ ]
1456
+ },
1457
+ {
1458
+ "id": "csv_injection",
1459
+ "name": "CSV Injection",
1460
+ "type": "subcategory",
1461
+ "priority": 5
1462
+ },
1463
+ {
1464
+ "id": "captcha_bypass",
1465
+ "name": "Captcha Bypass",
1466
+ "type": "subcategory",
1467
+ "children": [
1468
+ {
1469
+ "id": "crowdsourcing",
1470
+ "name": "Crowdsourcing",
1471
+ "type": "variant",
1472
+ "priority": 5
1473
+ }
1474
+ ]
1475
+ },
1476
+ {
1477
+ "id": "system_clipboard_leak",
1478
+ "name": "System Clipboard Leak",
1479
+ "type": "subcategory",
1480
+ "children": [
1481
+ {
1482
+ "id": "shared_links",
1483
+ "name": "Shared Links",
1484
+ "type": "variant",
1485
+ "priority": 5
1486
+ }
1487
+ ]
1488
+ },
1489
+ {
1490
+ "id": "user_password_persisted_in_memory",
1491
+ "name": "User Password Persisted in Memory",
1492
+ "type": "subcategory",
1493
+ "priority": 5
1494
+ }
1495
+ ]
1496
+ },
1497
+ {
1498
+ "id": "insufficient_security_configurability",
1499
+ "name": "Insufficient Security Configurability",
1500
+ "type": "category",
1501
+ "children": [
1502
+ {
1503
+ "id": "weak_password_policy",
1504
+ "name": "Weak Password Policy",
1505
+ "type": "subcategory",
1506
+ "priority": 5
1507
+ },
1508
+ {
1509
+ "id": "no_password_policy",
1510
+ "name": "No Password Policy",
1511
+ "type": "subcategory",
1512
+ "priority": 4
1513
+ },
1514
+ {
1515
+ "id": "password_policy_bypass",
1516
+ "name": "Password Policy Bypass",
1517
+ "type": "subcategory",
1518
+ "priority": 5
1519
+ },
1520
+ {
1521
+ "id": "weak_password_reset_implementation",
1522
+ "name": "Weak Password Reset Implementation",
1523
+ "type": "subcategory",
1524
+ "children": [
1525
+ {
1526
+ "id": "token_is_not_invalidated_after_use",
1527
+ "name": "Token is Not Invalidated After Use",
1528
+ "type": "variant",
1529
+ "priority": 4
1530
+ },
1531
+ {
1532
+ "id": "token_is_not_invalidated_after_email_change",
1533
+ "name": "Token is Not Invalidated After Email Change",
1534
+ "type": "variant",
1535
+ "priority": 5
1536
+ },
1537
+ {
1538
+ "id": "token_is_not_invalidated_after_password_change",
1539
+ "name": "Token is Not Invalidated After Password Change",
1540
+ "type": "variant",
1541
+ "priority": 5
1542
+ },
1543
+ {
1544
+ "id": "token_has_long_timed_expiry",
1545
+ "name": "Token Has Long Timed Expiry",
1546
+ "type": "variant",
1547
+ "priority": 5
1548
+ },
1549
+ {
1550
+ "id": "token_is_not_invalidated_after_new_token_is_requested",
1551
+ "name": "Token is Not Invalidated After New Token is Requested",
1552
+ "type": "variant",
1553
+ "priority": 5
1554
+ },
1555
+ {
1556
+ "id": "token_is_not_invalidated_after_login",
1557
+ "name": "Token is Not Invalidated After Login",
1558
+ "type": "variant",
1559
+ "priority": 5
1560
+ }
1561
+ ]
1562
+ },
1563
+ {
1564
+ "id": "lack_of_verification_email",
1565
+ "name": "Lack of Verification Email",
1566
+ "type": "subcategory",
1567
+ "priority": 5
1568
+ },
1569
+ {
1570
+ "id": "lack_of_notification_email",
1571
+ "name": "Lack of Notification Email",
1572
+ "type": "subcategory",
1573
+ "priority": 5
1574
+ },
1575
+ {
1576
+ "id": "weak_registration_implementation",
1577
+ "name": "Weak Registration Implementation",
1578
+ "type": "subcategory",
1579
+ "children": [
1580
+ {
1581
+ "id": "allows_disposable_email_addresses",
1582
+ "name": "Allows Disposable Email Addresses",
1583
+ "type": "variant",
1584
+ "priority": 5
1585
+ }
1586
+ ]
1587
+ },
1588
+ {
1589
+ "id": "weak_two_fa_implementation",
1590
+ "name": "Weak 2FA Implementation",
1591
+ "type": "subcategory",
1592
+ "children": [
1593
+ {
1594
+ "id": "two_fa_secret_cannot_be_rotated",
1595
+ "name": "2FA Secret Cannot be Rotated",
1596
+ "type": "variant",
1597
+ "priority": 4
1598
+ },
1599
+ {
1600
+ "id": "two_fa_secret_remains_obtainable_after_two_fa_is_enabled",
1601
+ "name": "2FA Secret Remains Obtainable After 2FA is Enabled",
1602
+ "type": "variant",
1603
+ "priority": 4
1604
+ },
1605
+ {
1606
+ "id": "missing_failsafe",
1607
+ "name": "Missing Failsafe",
1608
+ "type": "variant",
1609
+ "priority": 5
1610
+ }
1611
+ ]
1612
+ }
1613
+ ]
1614
+ },
1615
+ {
1616
+ "id": "using_components_with_known_vulnerabilities",
1617
+ "name": "Using Components with Known Vulnerabilities",
1618
+ "type": "category",
1619
+ "children": [
1620
+ {
1621
+ "id": "rosetta_flash",
1622
+ "name": "Rosetta Flash",
1623
+ "type": "subcategory",
1624
+ "priority": 4
1625
+ },
1626
+ {
1627
+ "id": "outdated_software_version",
1628
+ "name": "Outdated Software Version",
1629
+ "type": "subcategory",
1630
+ "priority": 5
1631
+ },
1632
+ {
1633
+ "id": "captcha_bypass",
1634
+ "name": "Captcha Bypass",
1635
+ "type": "subcategory",
1636
+ "children": [
1637
+ {
1638
+ "id": "ocr_optical_character_recognition",
1639
+ "name": "OCR (Optical Character Recognition)",
1640
+ "type": "variant",
1641
+ "priority": 5
1642
+ }
1643
+ ]
1644
+ }
1645
+ ]
1646
+ },
1647
+ {
1648
+ "id": "insecure_data_storage",
1649
+ "name": "Insecure Data Storage",
1650
+ "type": "category",
1651
+ "children": [
1652
+ {
1653
+ "id": "sensitive_application_data_stored_unencrypted",
1654
+ "name": "Sensitive Application Data Stored Unencrypted",
1655
+ "type": "subcategory",
1656
+ "children": [
1657
+ {
1658
+ "id": "on_external_storage",
1659
+ "name": "On External Storage",
1660
+ "type": "variant",
1661
+ "priority": 4
1662
+ },
1663
+ {
1664
+ "id": "on_internal_storage",
1665
+ "name": "On Internal Storage",
1666
+ "type": "variant",
1667
+ "priority": 5
1668
+ }
1669
+ ]
1670
+ },
1671
+ {
1672
+ "id": "server_side_credentials_storage",
1673
+ "name": "Server-Side Credentials Storage",
1674
+ "type": "subcategory",
1675
+ "children": [
1676
+ {
1677
+ "id": "plaintext",
1678
+ "name": "Plaintext",
1679
+ "type": "variant",
1680
+ "priority": 4
1681
+ }
1682
+ ]
1683
+ },
1684
+ {
1685
+ "id": "non_sensitive_application_data_stored_unencrypted",
1686
+ "name": "Non-Sensitive Application Data Stored Unencrypted",
1687
+ "type": "subcategory",
1688
+ "priority": 5
1689
+ },
1690
+ {
1691
+ "id": "screen_caching_enabled",
1692
+ "name": "Screen Caching Enabled",
1693
+ "type": "subcategory",
1694
+ "priority": 5
1695
+ }
1696
+ ]
1697
+ },
1698
+ {
1699
+ "id": "lack_of_binary_hardening",
1700
+ "name": "Lack of Binary Hardening",
1701
+ "type": "category",
1702
+ "children": [
1703
+ {
1704
+ "id": "lack_of_exploit_mitigations",
1705
+ "name": "Lack of Exploit Mitigations",
1706
+ "type": "subcategory",
1707
+ "priority": 5
1708
+ },
1709
+ {
1710
+ "id": "lack_of_jailbreak_detection",
1711
+ "name": "Lack of Jailbreak Detection",
1712
+ "type": "subcategory",
1713
+ "priority": 5
1714
+ },
1715
+ {
1716
+ "id": "lack_of_obfuscation",
1717
+ "name": "Lack of Obfuscation",
1718
+ "type": "subcategory",
1719
+ "priority": 5
1720
+ },
1721
+ {
1722
+ "id": "runtime_instrumentation_based",
1723
+ "name": "Runtime Instrumentation-Based",
1724
+ "type": "subcategory",
1725
+ "priority": 5
1726
+ }
1727
+ ]
1728
+ },
1729
+ {
1730
+ "id": "insecure_data_transport",
1731
+ "name": "Insecure Data Transport",
1732
+ "type": "category",
1733
+ "children": [
1734
+ {
1735
+ "id": "cleartext_transmission_of_sensitive_data",
1736
+ "name": "Cleartext Transmission of Sensitive Data",
1737
+ "type": "subcategory",
1738
+ "priority": null
1739
+ },
1740
+ {
1741
+ "id": "executable_download",
1742
+ "name": "Executable Download",
1743
+ "type": "subcategory",
1744
+ "children": [
1745
+ {
1746
+ "id": "no_secure_integrity_check",
1747
+ "name": "No Secure Integrity Check",
1748
+ "type": "variant",
1749
+ "priority": 4
1750
+ },
1751
+ {
1752
+ "id": "secure_integrity_check",
1753
+ "name": "Secure Integrity Check",
1754
+ "type": "variant",
1755
+ "priority": 5
1756
+ }
1757
+ ]
1758
+ }
1759
+ ]
1760
+ },
1761
+ {
1762
+ "id": "insecure_os_firmware",
1763
+ "name": "Insecure OS/Firmware",
1764
+ "type": "category",
1765
+ "children": [
1766
+ {
1767
+ "id": "command_injection",
1768
+ "name": "Command Injection",
1769
+ "type": "subcategory",
1770
+ "priority": 1
1771
+ },
1772
+ {
1773
+ "id": "hardcoded_password",
1774
+ "name": "Hardcoded Password",
1775
+ "type": "subcategory",
1776
+ "children": [
1777
+ {
1778
+ "id": "privileged_user",
1779
+ "name": "Privileged User",
1780
+ "type": "variant",
1781
+ "priority": 1
1782
+ },
1783
+ {
1784
+ "id": "non_privileged_user",
1785
+ "name": "Non-Privileged User",
1786
+ "type": "variant",
1787
+ "priority": 2
1788
+ }
1789
+ ]
1790
+ }
1791
+ ]
1792
+ },
1793
+ {
1794
+ "id": "broken_cryptography",
1795
+ "name": "Broken Cryptography",
1796
+ "type": "category",
1797
+ "children": [
1798
+ {
1799
+ "id": "cryptographic_flaw",
1800
+ "name": "Cryptographic Flaw",
1801
+ "type": "subcategory",
1802
+ "children": [
1803
+ {
1804
+ "id": "incorrect_usage",
1805
+ "name": "Incorrect Usage",
1806
+ "type": "variant",
1807
+ "priority": 1
1808
+ }
1809
+ ]
1810
+ }
1811
+ ]
1812
+ },
1813
+ {
1814
+ "id": "privacy_concerns",
1815
+ "name": "Privacy Concerns",
1816
+ "type": "category",
1817
+ "children": [
1818
+ {
1819
+ "id": "unnecessary_data_collection",
1820
+ "name": "Unnecessary Data Collection",
1821
+ "type": "subcategory",
1822
+ "children": [
1823
+ {
1824
+ "id": "wifi_ssid_password",
1825
+ "name": "WiFi SSID+Password",
1826
+ "type": "variant",
1827
+ "priority": 4
1828
+ }
1829
+ ]
1830
+ }
1831
+ ]
1832
+ },
1833
+ {
1834
+ "id": "network_security_misconfiguration",
1835
+ "name": "Network Security Misconfiguration",
1836
+ "type": "category",
1837
+ "children": [
1838
+ {
1839
+ "id": "telnet_enabled",
1840
+ "name": "Telnet Enabled",
1841
+ "type": "subcategory",
1842
+ "priority": 5
1843
+ }
1844
+ ]
1845
+ },
1846
+ {
1847
+ "id": "mobile_security_misconfiguration",
1848
+ "name": "Mobile Security Misconfiguration",
1849
+ "type": "category",
1850
+ "children": [
1851
+ {
1852
+ "id": "ssl_certificate_pinning",
1853
+ "name": "SSL Certificate Pinning",
1854
+ "type": "subcategory",
1855
+ "children": [
1856
+ {
1857
+ "id": "absent",
1858
+ "name": "Absent",
1859
+ "type": "variant",
1860
+ "priority": 5
1861
+ },
1862
+ {
1863
+ "id": "defeatable",
1864
+ "name": "Defeatable",
1865
+ "type": "variant",
1866
+ "priority": 5
1867
+ }
1868
+ ]
1869
+ },
1870
+ {
1871
+ "id": "tapjacking",
1872
+ "name": "Tapjacking",
1873
+ "type": "subcategory",
1874
+ "priority": 5
1875
+ },
1876
+ {
1877
+ "id": "clipboard_enabled",
1878
+ "name": "Clipboard Enabled",
1879
+ "type": "subcategory",
1880
+ "priority": 5
1881
+ },
1882
+ {
1883
+ "id": "auto_backup_allowed_by_default",
1884
+ "name": "Auto Backup Allowed by Default",
1885
+ "type": "subcategory",
1886
+ "priority": 5
1887
+ }
1888
+ ]
1889
+ },
1890
+ {
1891
+ "id": "client_side_injection",
1892
+ "name": "Client-Side Injection",
1893
+ "type": "category",
1894
+ "children": [
1895
+ {
1896
+ "id": "binary_planting",
1897
+ "name": "Binary Planting",
1898
+ "type": "subcategory",
1899
+ "children": [
1900
+ {
1901
+ "id": "privilege_escalation",
1902
+ "name": "Default Folder Privilege Escalation",
1903
+ "type": "variant",
1904
+ "priority": 3
1905
+ },
1906
+ {
1907
+ "id": "non_default_folder_privilege_escalation",
1908
+ "name": "Non-Default Folder Privilege Escalation",
1909
+ "type": "variant",
1910
+ "priority": 5
1911
+ },
1912
+ {
1913
+ "id": "no_privilege_escalation",
1914
+ "name": "No Privilege Escalation",
1915
+ "type": "variant",
1916
+ "priority": 5
1917
+ }
1918
+ ]
1919
+ }
1920
+ ]
1921
+ },
1922
+ {
1923
+ "id": "automotive_security_misconfiguration",
1924
+ "name": "Automotive Security Misconfiguration",
1925
+ "type": "category",
1926
+ "children": [
1927
+ {
1928
+ "id": "infotainment",
1929
+ "name": "Infotainment",
1930
+ "type": "subcategory",
1931
+ "children": [
1932
+ {
1933
+ "id": "pii_leakage",
1934
+ "name": "PII Leakage",
1935
+ "type": "variant",
1936
+ "priority": 1
1937
+ },
1938
+ {
1939
+ "id": "code_execution_can_bus_pivot",
1940
+ "name": "Code Execution (CAN Bus Pivot)",
1941
+ "type": "variant",
1942
+ "priority": 2
1943
+ },
1944
+ {
1945
+ "id": "code_execution_no_can_bus_pivot",
1946
+ "name": "Code Execution (No CAN Bus Pivot)",
1947
+ "type": "variant",
1948
+ "priority": 3
1949
+ },
1950
+ {
1951
+ "id": "unauthorized_access_to_services",
1952
+ "name": "Unauthorized Access to Services (API / Endpoints)",
1953
+ "type": "variant",
1954
+ "priority": 3
1955
+ },
1956
+ {
1957
+ "id": "source_code_dump",
1958
+ "name": "Source Code Dump",
1959
+ "type": "variant",
1960
+ "priority": 4
1961
+ },
1962
+ {
1963
+ "id": "dos_brick",
1964
+ "name": "Denial of Service (DoS / Brick)",
1965
+ "type": "variant",
1966
+ "priority": 4
1967
+ },
1968
+ {
1969
+ "id": "default_credentials",
1970
+ "name": "Default Credentials",
1971
+ "type": "variant",
1972
+ "priority": 4
1973
+ }
1974
+ ]
1975
+ },
1976
+ {
1977
+ "id": "rf_hub",
1978
+ "name": "RF Hub",
1979
+ "type": "subcategory",
1980
+ "children": [
1981
+ {
1982
+ "id": "key_fob_cloning",
1983
+ "name": "Key Fob Cloning",
1984
+ "type": "variant",
1985
+ "priority": 1
1986
+ },
1987
+ {
1988
+ "id": "can_injection_interaction",
1989
+ "name": "CAN Injection / Interaction",
1990
+ "type": "variant",
1991
+ "priority": 2
1992
+ },
1993
+ {
1994
+ "id": "data_leakage_pull_encryption_mechanism",
1995
+ "name": "Data Leakage / Pull Encryption Mechanism",
1996
+ "type": "variant",
1997
+ "priority": 3
1998
+ },
1999
+ {
2000
+ "id": "unauthorized_access_turn_on",
2001
+ "name": "Unauthorized Access / Turn On",
2002
+ "type": "variant",
2003
+ "priority": 4
2004
+ },
2005
+ {
2006
+ "id": "roll_jam",
2007
+ "name": "Roll Jam",
2008
+ "type": "variant",
2009
+ "priority": 5
2010
+ },
2011
+ {
2012
+ "id": "replay",
2013
+ "name": "Replay",
2014
+ "type": "variant",
2015
+ "priority": 5
2016
+ },
2017
+ {
2018
+ "id": "relay",
2019
+ "name": "Relay",
2020
+ "type": "variant",
2021
+ "priority": 5
2022
+ }
2023
+ ]
2024
+ },
2025
+ {
2026
+ "id": "can",
2027
+ "name": "CAN",
2028
+ "type": "subcategory",
2029
+ "children": [
2030
+ {
2031
+ "id": "injection_disallowed_messages",
2032
+ "name": "Injection (Disallowed Messages)",
2033
+ "type": "variant",
2034
+ "priority": 4
2035
+ },
2036
+ {
2037
+ "id": "injection_dos",
2038
+ "name": "Injection (DoS)",
2039
+ "type": "variant",
2040
+ "priority": 4
2041
+ }
2042
+ ]
2043
+ }
2044
+ ]
2045
+ },
2046
+ {
2047
+ "id": "indicators_of_compromise",
2048
+ "name": "Indicators of Compromise",
2049
+ "type": "category",
2050
+ "priority": null
2051
+ }
2052
+ ]
2053
+ }