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