@zerothreatai/vulnerability-registry 9.0.6 → 9.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -388,5 +388,27 @@ export const AUTH_VULNERABILITIES = {
388
388
  ],
389
389
  remediation: 'Ignore untrusted x5c headers or validate certificate chains against a trusted root store with strict policy. Prefer pinned public keys or JWKS allowlists.',
390
390
  },
391
+ [VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT]: {
392
+ id: 117,
393
+ code: VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT,
394
+ title: 'Session Remains Valid After Logout',
395
+ description: 'Application logout does not invalidate the authenticated server-side session or token. A previously captured authenticated session can be replayed after logout to regain access to protected functionality, allowing attackers with stolen or fixed session material to continue operating as the victim.',
396
+ severity: 'high',
397
+ levelId: 2,
398
+ category: 'authentication',
399
+ scanner: 'session-invalidation',
400
+ cvss: {
401
+ score: 7.1,
402
+ vector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N',
403
+ severity: 'HIGH',
404
+ },
405
+ cwe: [
406
+ { id: 'CWE-613', name: 'Insufficient Session Expiration', url: 'https://cwe.mitre.org/data/definitions/613.html' },
407
+ ],
408
+ owasp: [
409
+ { id: 'A07:2021', name: 'Identification and Authentication Failures', url: 'https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/' },
410
+ ],
411
+ remediation: 'Invalidate sessions and tokens server-side during logout. Rotate session identifiers after login and privilege changes. Ensure logout revokes all session artifacts that can restore authenticated access, including cookies and browser storage tokens.',
412
+ },
391
413
  };
392
414
  export default AUTH_VULNERABILITIES;
@@ -803,5 +803,28 @@ export const INJECTION_VULNERABILITIES = {
803
803
  ],
804
804
  remediation: 'Validate and constrain path parameters with allowlists or route constraints. Normalize and sanitize path inputs before use. Avoid passing raw path segments into file or query handlers.',
805
805
  },
806
+ [VulnerabilityCode.HPP_DUPLICATE_PARAMETER]: {
807
+ id: 335,
808
+ code: VulnerabilityCode.HPP_DUPLICATE_PARAMETER,
809
+ title: 'HTTP Parameter Pollution',
810
+ description: 'HTTP parameter pollution vulnerability detected where duplicate query parameter keys trigger behavior distinct from both single-value control requests, indicating inconsistent duplicate-key handling that may enable logic bypasses or validation mismatches across components.',
811
+ severity: 'medium',
812
+ levelId: 3,
813
+ category: 'injection',
814
+ scanner: 'model-state',
815
+ groupName: 'HTTP Parameter Pollution',
816
+ cvss: {
817
+ score: 5.3,
818
+ vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N',
819
+ severity: 'MEDIUM',
820
+ },
821
+ cwe: [
822
+ { id: 'CWE-235', name: 'Improper Handling of Extra Parameters', url: 'https://cwe.mitre.org/data/definitions/235.html' },
823
+ ],
824
+ owasp: [
825
+ { id: 'A04:2021', name: 'Insecure Design', url: 'https://owasp.org/Top10/A04_2021-Insecure_Design/' },
826
+ ],
827
+ remediation: 'Reject unexpected duplicate parameters or canonicalize them consistently at the edge. Ensure upstream proxies, frameworks, and application code all apply the same duplicate-key handling rules. Prefer strict allowlists for security-sensitive parameters.',
828
+ },
806
829
  };
807
830
  export default INJECTION_VULNERABILITIES;
@@ -337,4 +337,26 @@ export const XSS_VULNERABILITIES = {
337
337
  ],
338
338
  remediation: 'Use v-text instead of v-html for user content. Never compile user input as Vue templates. Use vue-runtime-only build that does not include template compiler. Sanitize mustache syntax.',
339
339
  },
340
+ [VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING]: {
341
+ id: 415,
342
+ code: VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING,
343
+ title: 'Insufficient Output Encoding',
344
+ description: 'Special characters are reflected without proper encoding in the response. While no direct XSS exploitation was confirmed, the incomplete encoding of characters like quotes, ampersands, or parentheses indicates potential encoding gaps that could lead to vulnerabilities in different contexts.',
345
+ severity: 'info',
346
+ levelId: 5,
347
+ category: 'xss',
348
+ scanner: 'xss',
349
+ cvss: {
350
+ score: 2.6,
351
+ vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N',
352
+ severity: 'LOW',
353
+ },
354
+ cwe: [
355
+ { id: 'CWE-116', name: 'Improper Encoding or Escaping of Output', url: 'https://cwe.mitre.org/data/definitions/116.html' },
356
+ ],
357
+ owasp: [
358
+ { id: 'A03:2021', name: 'Injection', url: 'https://owasp.org/Top10/A03_2021-Injection/' },
359
+ ],
360
+ remediation: 'Implement comprehensive output encoding for all special characters including <, >, ", \', &, (, ), /, and \\. Use context-aware encoding based on the output location (HTML body, attributes, JavaScript, URL, CSS).',
361
+ },
340
362
  };
@@ -26,6 +26,7 @@ export declare enum VulnerabilityCode {
26
26
  XSS_CSP_BYPASS = "XSS_CSP_BYPASS",
27
27
  XSS_TEMPLATE_LITERAL = "XSS_TEMPLATE_LITERAL",
28
28
  XSS_MUTATION_BASED = "XSS_MUTATION_BASED",
29
+ XSS_INSUFFICIENT_OUTPUT_ENCODING = "XSS_INSUFFICIENT_OUTPUT_ENCODING",
29
30
  CMDI_OOB_CONFIRMED = "CMDI_OOB_CONFIRMED",
30
31
  CMDI_REFLECTED = "CMDI_REFLECTED",
31
32
  CMDI_TIME_BASED = "CMDI_TIME_BASED",
@@ -70,6 +71,7 @@ export declare enum VulnerabilityCode {
70
71
  JWT_JKU_INJECTION = "JWT_JKU_INJECTION",
71
72
  JWT_EMBEDDED_JWK = "JWT_EMBEDDED_JWK",
72
73
  JWT_X5C_INJECTION = "JWT_X5C_INJECTION",
74
+ AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT = "AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT",
73
75
  REDIRECT_HEADER_INJECTION = "REDIRECT_HEADER_INJECTION",
74
76
  REDIRECT_META_REFRESH = "REDIRECT_META_REFRESH",
75
77
  REDIRECT_JS_NAVIGATION = "REDIRECT_JS_NAVIGATION",
@@ -155,6 +157,7 @@ export declare enum VulnerabilityCode {
155
157
  MASSASSIGN_PROTOTYPE_POLLUTION = "MASSASSIGN_PROTOTYPE_POLLUTION",
156
158
  MASSASSIGN_ROLE_ESCALATION = "MASSASSIGN_ROLE_ESCALATION",
157
159
  MASSASSIGN_HIDDEN_FIELD = "MASSASSIGN_HIDDEN_FIELD",
160
+ HPP_DUPLICATE_PARAMETER = "HPP_DUPLICATE_PARAMETER",
158
161
  DESER_JAVA = "DESER_JAVA",
159
162
  DESER_PHP = "DESER_PHP",
160
163
  DESER_PYTHON = "DESER_PYTHON",
@@ -36,6 +36,7 @@ export var VulnerabilityCode;
36
36
  VulnerabilityCode["XSS_CSP_BYPASS"] = "XSS_CSP_BYPASS";
37
37
  VulnerabilityCode["XSS_TEMPLATE_LITERAL"] = "XSS_TEMPLATE_LITERAL";
38
38
  VulnerabilityCode["XSS_MUTATION_BASED"] = "XSS_MUTATION_BASED";
39
+ VulnerabilityCode["XSS_INSUFFICIENT_OUTPUT_ENCODING"] = "XSS_INSUFFICIENT_OUTPUT_ENCODING";
39
40
  // ========================================
40
41
  // COMMAND INJECTION (CMDI_*)
41
42
  // ========================================
@@ -101,6 +102,7 @@ export var VulnerabilityCode;
101
102
  VulnerabilityCode["JWT_JKU_INJECTION"] = "JWT_JKU_INJECTION";
102
103
  VulnerabilityCode["JWT_EMBEDDED_JWK"] = "JWT_EMBEDDED_JWK";
103
104
  VulnerabilityCode["JWT_X5C_INJECTION"] = "JWT_X5C_INJECTION";
105
+ VulnerabilityCode["AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT"] = "AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT";
104
106
  // ========================================
105
107
  // OPEN REDIRECT (REDIRECT_*)
106
108
  // ========================================
@@ -204,6 +206,7 @@ export var VulnerabilityCode;
204
206
  VulnerabilityCode["MASSASSIGN_PROTOTYPE_POLLUTION"] = "MASSASSIGN_PROTOTYPE_POLLUTION";
205
207
  VulnerabilityCode["MASSASSIGN_ROLE_ESCALATION"] = "MASSASSIGN_ROLE_ESCALATION";
206
208
  VulnerabilityCode["MASSASSIGN_HIDDEN_FIELD"] = "MASSASSIGN_HIDDEN_FIELD";
209
+ VulnerabilityCode["HPP_DUPLICATE_PARAMETER"] = "HPP_DUPLICATE_PARAMETER";
207
210
  // ========================================
208
211
  // DESERIALIZATION (DESER_*)
209
212
  // ========================================
@@ -391,5 +391,27 @@ exports.AUTH_VULNERABILITIES = {
391
391
  ],
392
392
  remediation: 'Ignore untrusted x5c headers or validate certificate chains against a trusted root store with strict policy. Prefer pinned public keys or JWKS allowlists.',
393
393
  },
394
+ [error_codes_js_1.VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT]: {
395
+ id: 117,
396
+ code: error_codes_js_1.VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT,
397
+ title: 'Session Remains Valid After Logout',
398
+ description: 'Application logout does not invalidate the authenticated server-side session or token. A previously captured authenticated session can be replayed after logout to regain access to protected functionality, allowing attackers with stolen or fixed session material to continue operating as the victim.',
399
+ severity: 'high',
400
+ levelId: 2,
401
+ category: 'authentication',
402
+ scanner: 'session-invalidation',
403
+ cvss: {
404
+ score: 7.1,
405
+ vector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N',
406
+ severity: 'HIGH',
407
+ },
408
+ cwe: [
409
+ { id: 'CWE-613', name: 'Insufficient Session Expiration', url: 'https://cwe.mitre.org/data/definitions/613.html' },
410
+ ],
411
+ owasp: [
412
+ { id: 'A07:2021', name: 'Identification and Authentication Failures', url: 'https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/' },
413
+ ],
414
+ remediation: 'Invalidate sessions and tokens server-side during logout. Rotate session identifiers after login and privilege changes. Ensure logout revokes all session artifacts that can restore authenticated access, including cookies and browser storage tokens.',
415
+ },
394
416
  };
395
417
  exports.default = exports.AUTH_VULNERABILITIES;
@@ -806,5 +806,28 @@ exports.INJECTION_VULNERABILITIES = {
806
806
  ],
807
807
  remediation: 'Validate and constrain path parameters with allowlists or route constraints. Normalize and sanitize path inputs before use. Avoid passing raw path segments into file or query handlers.',
808
808
  },
809
+ [error_codes_js_1.VulnerabilityCode.HPP_DUPLICATE_PARAMETER]: {
810
+ id: 335,
811
+ code: error_codes_js_1.VulnerabilityCode.HPP_DUPLICATE_PARAMETER,
812
+ title: 'HTTP Parameter Pollution',
813
+ description: 'HTTP parameter pollution vulnerability detected where duplicate query parameter keys trigger behavior distinct from both single-value control requests, indicating inconsistent duplicate-key handling that may enable logic bypasses or validation mismatches across components.',
814
+ severity: 'medium',
815
+ levelId: 3,
816
+ category: 'injection',
817
+ scanner: 'model-state',
818
+ groupName: 'HTTP Parameter Pollution',
819
+ cvss: {
820
+ score: 5.3,
821
+ vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N',
822
+ severity: 'MEDIUM',
823
+ },
824
+ cwe: [
825
+ { id: 'CWE-235', name: 'Improper Handling of Extra Parameters', url: 'https://cwe.mitre.org/data/definitions/235.html' },
826
+ ],
827
+ owasp: [
828
+ { id: 'A04:2021', name: 'Insecure Design', url: 'https://owasp.org/Top10/A04_2021-Insecure_Design/' },
829
+ ],
830
+ remediation: 'Reject unexpected duplicate parameters or canonicalize them consistently at the edge. Ensure upstream proxies, frameworks, and application code all apply the same duplicate-key handling rules. Prefer strict allowlists for security-sensitive parameters.',
831
+ },
809
832
  };
810
833
  exports.default = exports.INJECTION_VULNERABILITIES;
@@ -340,4 +340,26 @@ exports.XSS_VULNERABILITIES = {
340
340
  ],
341
341
  remediation: 'Use v-text instead of v-html for user content. Never compile user input as Vue templates. Use vue-runtime-only build that does not include template compiler. Sanitize mustache syntax.',
342
342
  },
343
+ [error_codes_js_1.VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING]: {
344
+ id: 415,
345
+ code: error_codes_js_1.VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING,
346
+ title: 'Insufficient Output Encoding',
347
+ description: 'Special characters are reflected without proper encoding in the response. While no direct XSS exploitation was confirmed, the incomplete encoding of characters like quotes, ampersands, or parentheses indicates potential encoding gaps that could lead to vulnerabilities in different contexts.',
348
+ severity: 'info',
349
+ levelId: 5,
350
+ category: 'xss',
351
+ scanner: 'xss',
352
+ cvss: {
353
+ score: 2.6,
354
+ vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N',
355
+ severity: 'LOW',
356
+ },
357
+ cwe: [
358
+ { id: 'CWE-116', name: 'Improper Encoding or Escaping of Output', url: 'https://cwe.mitre.org/data/definitions/116.html' },
359
+ ],
360
+ owasp: [
361
+ { id: 'A03:2021', name: 'Injection', url: 'https://owasp.org/Top10/A03_2021-Injection/' },
362
+ ],
363
+ remediation: 'Implement comprehensive output encoding for all special characters including <, >, ", \', &, (, ), /, and \\. Use context-aware encoding based on the output location (HTML body, attributes, JavaScript, URL, CSS).',
364
+ },
343
365
  };
@@ -39,6 +39,7 @@ var VulnerabilityCode;
39
39
  VulnerabilityCode["XSS_CSP_BYPASS"] = "XSS_CSP_BYPASS";
40
40
  VulnerabilityCode["XSS_TEMPLATE_LITERAL"] = "XSS_TEMPLATE_LITERAL";
41
41
  VulnerabilityCode["XSS_MUTATION_BASED"] = "XSS_MUTATION_BASED";
42
+ VulnerabilityCode["XSS_INSUFFICIENT_OUTPUT_ENCODING"] = "XSS_INSUFFICIENT_OUTPUT_ENCODING";
42
43
  // ========================================
43
44
  // COMMAND INJECTION (CMDI_*)
44
45
  // ========================================
@@ -104,6 +105,7 @@ var VulnerabilityCode;
104
105
  VulnerabilityCode["JWT_JKU_INJECTION"] = "JWT_JKU_INJECTION";
105
106
  VulnerabilityCode["JWT_EMBEDDED_JWK"] = "JWT_EMBEDDED_JWK";
106
107
  VulnerabilityCode["JWT_X5C_INJECTION"] = "JWT_X5C_INJECTION";
108
+ VulnerabilityCode["AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT"] = "AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT";
107
109
  // ========================================
108
110
  // OPEN REDIRECT (REDIRECT_*)
109
111
  // ========================================
@@ -207,6 +209,7 @@ var VulnerabilityCode;
207
209
  VulnerabilityCode["MASSASSIGN_PROTOTYPE_POLLUTION"] = "MASSASSIGN_PROTOTYPE_POLLUTION";
208
210
  VulnerabilityCode["MASSASSIGN_ROLE_ESCALATION"] = "MASSASSIGN_ROLE_ESCALATION";
209
211
  VulnerabilityCode["MASSASSIGN_HIDDEN_FIELD"] = "MASSASSIGN_HIDDEN_FIELD";
212
+ VulnerabilityCode["HPP_DUPLICATE_PARAMETER"] = "HPP_DUPLICATE_PARAMETER";
210
213
  // ========================================
211
214
  // DESERIALIZATION (DESER_*)
212
215
  // ========================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerothreatai/vulnerability-registry",
3
- "version": "9.0.6",
3
+ "version": "9.0.7",
4
4
  "description": "Centralized vulnerability definitions, CVSS scores, and references for ZeroThreat scanners",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -385,11 +385,11 @@ export const AUTH_VULNERABILITIES: Record<string, VulnerabilityDefinitionInput>
385
385
  remediation: 'Reject embedded JWKs from tokens unless explicitly required and validated against a trusted key set. Use pinned keys and strict header validation.',
386
386
  },
387
387
 
388
- [VulnerabilityCode.JWT_X5C_INJECTION]: {
389
- id: 116,
390
- code: VulnerabilityCode.JWT_X5C_INJECTION,
391
- title: 'JWT X5C Header Injection',
392
- description: 'JWT x5c header injection vulnerability where attackers provide an untrusted certificate chain, allowing them to influence key selection or bypass signature validation if certificate trust is not strictly enforced.',
388
+ [VulnerabilityCode.JWT_X5C_INJECTION]: {
389
+ id: 116,
390
+ code: VulnerabilityCode.JWT_X5C_INJECTION,
391
+ title: 'JWT X5C Header Injection',
392
+ description: 'JWT x5c header injection vulnerability where attackers provide an untrusted certificate chain, allowing them to influence key selection or bypass signature validation if certificate trust is not strictly enforced.',
393
393
  severity: 'high',
394
394
  levelId: 2,
395
395
  category: 'authentication',
@@ -404,9 +404,32 @@ export const AUTH_VULNERABILITIES: Record<string, VulnerabilityDefinitionInput>
404
404
  ],
405
405
  owasp: [
406
406
  { id: 'A07:2021', name: 'Identification and Authentication Failures', url: 'https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/' },
407
- ],
408
- remediation: 'Ignore untrusted x5c headers or validate certificate chains against a trusted root store with strict policy. Prefer pinned public keys or JWKS allowlists.',
409
- },
410
- };
411
-
412
- export default AUTH_VULNERABILITIES;
407
+ ],
408
+ remediation: 'Ignore untrusted x5c headers or validate certificate chains against a trusted root store with strict policy. Prefer pinned public keys or JWKS allowlists.',
409
+ },
410
+
411
+ [VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT]: {
412
+ id: 117,
413
+ code: VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT,
414
+ title: 'Session Remains Valid After Logout',
415
+ description: 'Application logout does not invalidate the authenticated server-side session or token. A previously captured authenticated session can be replayed after logout to regain access to protected functionality, allowing attackers with stolen or fixed session material to continue operating as the victim.',
416
+ severity: 'high',
417
+ levelId: 2,
418
+ category: 'authentication',
419
+ scanner: 'session-invalidation',
420
+ cvss: {
421
+ score: 7.1,
422
+ vector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N',
423
+ severity: 'HIGH',
424
+ },
425
+ cwe: [
426
+ { id: 'CWE-613', name: 'Insufficient Session Expiration', url: 'https://cwe.mitre.org/data/definitions/613.html' },
427
+ ],
428
+ owasp: [
429
+ { id: 'A07:2021', name: 'Identification and Authentication Failures', url: 'https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/' },
430
+ ],
431
+ remediation: 'Invalidate sessions and tokens server-side during logout. Rotate session identifiers after login and privilege changes. Ensure logout revokes all session artifacts that can restore authenticated access, including cookies and browser storage tokens.',
432
+ },
433
+ };
434
+
435
+ export default AUTH_VULNERABILITIES;
@@ -840,6 +840,30 @@ export const INJECTION_VULNERABILITIES: Record<string, VulnerabilityDefinitionIn
840
840
  ],
841
841
  remediation: 'Validate and constrain path parameters with allowlists or route constraints. Normalize and sanitize path inputs before use. Avoid passing raw path segments into file or query handlers.',
842
842
  },
843
+
844
+ [VulnerabilityCode.HPP_DUPLICATE_PARAMETER]: {
845
+ id: 335,
846
+ code: VulnerabilityCode.HPP_DUPLICATE_PARAMETER,
847
+ title: 'HTTP Parameter Pollution',
848
+ description: 'HTTP parameter pollution vulnerability detected where duplicate query parameter keys trigger behavior distinct from both single-value control requests, indicating inconsistent duplicate-key handling that may enable logic bypasses or validation mismatches across components.',
849
+ severity: 'medium',
850
+ levelId: 3,
851
+ category: 'injection',
852
+ scanner: 'model-state',
853
+ groupName: 'HTTP Parameter Pollution',
854
+ cvss: {
855
+ score: 5.3,
856
+ vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N',
857
+ severity: 'MEDIUM',
858
+ },
859
+ cwe: [
860
+ { id: 'CWE-235', name: 'Improper Handling of Extra Parameters', url: 'https://cwe.mitre.org/data/definitions/235.html' },
861
+ ],
862
+ owasp: [
863
+ { id: 'A04:2021', name: 'Insecure Design', url: 'https://owasp.org/Top10/A04_2021-Insecure_Design/' },
864
+ ],
865
+ remediation: 'Reject unexpected duplicate parameters or canonicalize them consistently at the edge. Ensure upstream proxies, frameworks, and application code all apply the same duplicate-key handling rules. Prefer strict allowlists for security-sensitive parameters.',
866
+ },
843
867
  };
844
868
 
845
869
  export default INJECTION_VULNERABILITIES;
@@ -354,4 +354,27 @@ export const XSS_VULNERABILITIES: Record<string, VulnerabilityDefinitionInput> =
354
354
  ],
355
355
  remediation: 'Use v-text instead of v-html for user content. Never compile user input as Vue templates. Use vue-runtime-only build that does not include template compiler. Sanitize mustache syntax.',
356
356
  },
357
+
358
+ [VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING]: {
359
+ id: 415,
360
+ code: VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING,
361
+ title: 'Insufficient Output Encoding',
362
+ description: 'Special characters are reflected without proper encoding in the response. While no direct XSS exploitation was confirmed, the incomplete encoding of characters like quotes, ampersands, or parentheses indicates potential encoding gaps that could lead to vulnerabilities in different contexts.',
363
+ severity: 'info',
364
+ levelId: 5,
365
+ category: 'xss',
366
+ scanner: 'xss',
367
+ cvss: {
368
+ score: 2.6,
369
+ vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N',
370
+ severity: 'LOW',
371
+ },
372
+ cwe: [
373
+ { id: 'CWE-116', name: 'Improper Encoding or Escaping of Output', url: 'https://cwe.mitre.org/data/definitions/116.html' },
374
+ ],
375
+ owasp: [
376
+ { id: 'A03:2021', name: 'Injection', url: 'https://owasp.org/Top10/A03_2021-Injection/' },
377
+ ],
378
+ remediation: 'Implement comprehensive output encoding for all special characters including <, >, ", \', &, (, ), /, and \\. Use context-aware encoding based on the output location (HTML body, attributes, JavaScript, URL, CSS).',
379
+ },
357
380
  };
@@ -12,17 +12,17 @@ export enum VulnerabilityCode {
12
12
  SQLI_ERROR_BASED = 'SQLI_ERROR_BASED',
13
13
  SQLI_BOOLEAN_BASED = 'SQLI_BOOLEAN_BASED',
14
14
  SQLI_TIME_BASED = 'SQLI_TIME_BASED',
15
- SQLI_STACK_BASED = 'SQLI_STACK_BASED',
16
- SQLI_UNION_BASED = 'SQLI_UNION_BASED',
17
-
18
- // ========================================
19
- // PATH INJECTION (PATH_*)
20
- // ========================================
21
- PATH_PARAMETER_INJECTION = 'PATH_PARAMETER_INJECTION',
22
-
23
- // ========================================
24
- // CROSS-SITE SCRIPTING (XSS_*)
25
- // ========================================
15
+ SQLI_STACK_BASED = 'SQLI_STACK_BASED',
16
+ SQLI_UNION_BASED = 'SQLI_UNION_BASED',
17
+
18
+ // ========================================
19
+ // PATH INJECTION (PATH_*)
20
+ // ========================================
21
+ PATH_PARAMETER_INJECTION = 'PATH_PARAMETER_INJECTION',
22
+
23
+ // ========================================
24
+ // CROSS-SITE SCRIPTING (XSS_*)
25
+ // ========================================
26
26
  XSS_REFLECTED = 'XSS_REFLECTED',
27
27
  XSS_STORED = 'XSS_STORED',
28
28
  XSS_DOM_BASED = 'XSS_DOM_BASED',
@@ -38,6 +38,7 @@ export enum VulnerabilityCode {
38
38
  XSS_CSP_BYPASS = 'XSS_CSP_BYPASS',
39
39
  XSS_TEMPLATE_LITERAL = 'XSS_TEMPLATE_LITERAL',
40
40
  XSS_MUTATION_BASED = 'XSS_MUTATION_BASED',
41
+ XSS_INSUFFICIENT_OUTPUT_ENCODING = 'XSS_INSUFFICIENT_OUTPUT_ENCODING',
41
42
 
42
43
  // ========================================
43
44
  // COMMAND INJECTION (CMDI_*)
@@ -106,13 +107,14 @@ export enum VulnerabilityCode {
106
107
  JWT_EXPIRED_TOKEN = 'JWT_EXPIRED_TOKEN',
107
108
  JWT_MISSING_CLAIMS = 'JWT_MISSING_CLAIMS',
108
109
  JWT_CLAIM_TAMPERING = 'JWT_CLAIM_TAMPERING',
109
- JWT_KID_INJECTION = 'JWT_KID_INJECTION',
110
- JWT_JKU_INJECTION = 'JWT_JKU_INJECTION',
111
- JWT_EMBEDDED_JWK = 'JWT_EMBEDDED_JWK',
112
- JWT_X5C_INJECTION = 'JWT_X5C_INJECTION',
113
-
114
- // ========================================
115
- // OPEN REDIRECT (REDIRECT_*)
110
+ JWT_KID_INJECTION = 'JWT_KID_INJECTION',
111
+ JWT_JKU_INJECTION = 'JWT_JKU_INJECTION',
112
+ JWT_EMBEDDED_JWK = 'JWT_EMBEDDED_JWK',
113
+ JWT_X5C_INJECTION = 'JWT_X5C_INJECTION',
114
+ AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT = 'AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT',
115
+
116
+ // ========================================
117
+ // OPEN REDIRECT (REDIRECT_*)
116
118
  // ========================================
117
119
  REDIRECT_HEADER_INJECTION = 'REDIRECT_HEADER_INJECTION',
118
120
  REDIRECT_META_REFRESH = 'REDIRECT_META_REFRESH',
@@ -133,36 +135,36 @@ export enum VulnerabilityCode {
133
135
  HEADER_MISSING_HSTS = 'HEADER_MISSING_HSTS',
134
136
  HEADER_MISSING_XFRAME = 'HEADER_MISSING_XFRAME',
135
137
  HEADER_MISSING_XCONTENT_TYPE = 'HEADER_MISSING_XCONTENT_TYPE',
136
- HEADER_MISSING_XSS_PROTECTION = 'HEADER_MISSING_XSS_PROTECTION',
137
- HEADER_MISSING_REFERRER_POLICY = 'HEADER_MISSING_REFERRER_POLICY',
138
- HEADER_MISSING_PERMISSIONS_POLICY = 'HEADER_MISSING_PERMISSIONS_POLICY',
139
- HEADER_WEAK_CSP = 'HEADER_WEAK_CSP',
140
- HEADER_CSP_REPORT_ONLY = 'HEADER_CSP_REPORT_ONLY',
141
- HEADER_CSP_WEAK_DIRECTIVES = 'HEADER_CSP_WEAK_DIRECTIVES',
142
- HEADER_CSP_DATA_URI_SCRIPT = 'HEADER_CSP_DATA_URI_SCRIPT',
143
- HEADER_CSP_BLOB_URI_SCRIPT = 'HEADER_CSP_BLOB_URI_SCRIPT',
144
- HEADER_CSP_WILDCARD_DEFAULT = 'HEADER_CSP_WILDCARD_DEFAULT',
145
- HEADER_CSP_NO_BASE_URI = 'HEADER_CSP_NO_BASE_URI',
146
- HEADER_CSP_NO_OBJECT_SRC = 'HEADER_CSP_NO_OBJECT_SRC',
147
- HEADER_CSP_NO_FRAME_ANCESTORS = 'HEADER_CSP_NO_FRAME_ANCESTORS',
148
- HEADER_CORS_MISCONFIGURED = 'HEADER_CORS_MISCONFIGURED',
149
- HEADER_CORS_STAR_WITH_CREDENTIALS = 'HEADER_CORS_STAR_WITH_CREDENTIALS',
150
- HEADER_CORS_ORIGIN_REFLECT_NO_VARY = 'HEADER_CORS_ORIGIN_REFLECT_NO_VARY',
151
- HEADER_CORS_NULL_ORIGIN = 'HEADER_CORS_NULL_ORIGIN',
152
- HEADER_CORS_WILDCARD_SUBDOMAIN = 'HEADER_CORS_WILDCARD_SUBDOMAIN',
153
- HEADER_COEP_WITHOUT_COOP = 'HEADER_COEP_WITHOUT_COOP',
154
- HEADER_CORP_UNUSUAL = 'HEADER_CORP_UNUSUAL',
155
- HEADER_EXPECT_CT_PRESENT = 'HEADER_EXPECT_CT_PRESENT',
156
- HEADER_SERVER_HEADER_PRESENT = 'HEADER_SERVER_HEADER_PRESENT',
157
- HEADER_X_POWERED_BY_PRESENT = 'HEADER_X_POWERED_BY_PRESENT',
158
- HEADER_X_XSS_PROTECTION_ENABLED = 'HEADER_X_XSS_PROTECTION_ENABLED',
159
- HEADER_XCONTENT_TYPE_INVALID = 'HEADER_XCONTENT_TYPE_INVALID',
160
- HEADER_REFERRER_POLICY_UNSAFE = 'HEADER_REFERRER_POLICY_UNSAFE',
161
- HEADER_HSTS_BAD_MAX_AGE = 'HEADER_HSTS_BAD_MAX_AGE',
162
- HEADER_HSTS_SHORT_MAX_AGE = 'HEADER_HSTS_SHORT_MAX_AGE',
163
- HEADER_HSTS_NO_INCLUDESUBDOMAINS = 'HEADER_HSTS_NO_INCLUDESUBDOMAINS',
164
- HEADER_HSTS_PRELOAD_LOW_MAX_AGE = 'HEADER_HSTS_PRELOAD_LOW_MAX_AGE',
165
- COOKIE_SAMESITE_NONE_WITHOUT_SECURE = 'COOKIE_SAMESITE_NONE_WITHOUT_SECURE',
138
+ HEADER_MISSING_XSS_PROTECTION = 'HEADER_MISSING_XSS_PROTECTION',
139
+ HEADER_MISSING_REFERRER_POLICY = 'HEADER_MISSING_REFERRER_POLICY',
140
+ HEADER_MISSING_PERMISSIONS_POLICY = 'HEADER_MISSING_PERMISSIONS_POLICY',
141
+ HEADER_WEAK_CSP = 'HEADER_WEAK_CSP',
142
+ HEADER_CSP_REPORT_ONLY = 'HEADER_CSP_REPORT_ONLY',
143
+ HEADER_CSP_WEAK_DIRECTIVES = 'HEADER_CSP_WEAK_DIRECTIVES',
144
+ HEADER_CSP_DATA_URI_SCRIPT = 'HEADER_CSP_DATA_URI_SCRIPT',
145
+ HEADER_CSP_BLOB_URI_SCRIPT = 'HEADER_CSP_BLOB_URI_SCRIPT',
146
+ HEADER_CSP_WILDCARD_DEFAULT = 'HEADER_CSP_WILDCARD_DEFAULT',
147
+ HEADER_CSP_NO_BASE_URI = 'HEADER_CSP_NO_BASE_URI',
148
+ HEADER_CSP_NO_OBJECT_SRC = 'HEADER_CSP_NO_OBJECT_SRC',
149
+ HEADER_CSP_NO_FRAME_ANCESTORS = 'HEADER_CSP_NO_FRAME_ANCESTORS',
150
+ HEADER_CORS_MISCONFIGURED = 'HEADER_CORS_MISCONFIGURED',
151
+ HEADER_CORS_STAR_WITH_CREDENTIALS = 'HEADER_CORS_STAR_WITH_CREDENTIALS',
152
+ HEADER_CORS_ORIGIN_REFLECT_NO_VARY = 'HEADER_CORS_ORIGIN_REFLECT_NO_VARY',
153
+ HEADER_CORS_NULL_ORIGIN = 'HEADER_CORS_NULL_ORIGIN',
154
+ HEADER_CORS_WILDCARD_SUBDOMAIN = 'HEADER_CORS_WILDCARD_SUBDOMAIN',
155
+ HEADER_COEP_WITHOUT_COOP = 'HEADER_COEP_WITHOUT_COOP',
156
+ HEADER_CORP_UNUSUAL = 'HEADER_CORP_UNUSUAL',
157
+ HEADER_EXPECT_CT_PRESENT = 'HEADER_EXPECT_CT_PRESENT',
158
+ HEADER_SERVER_HEADER_PRESENT = 'HEADER_SERVER_HEADER_PRESENT',
159
+ HEADER_X_POWERED_BY_PRESENT = 'HEADER_X_POWERED_BY_PRESENT',
160
+ HEADER_X_XSS_PROTECTION_ENABLED = 'HEADER_X_XSS_PROTECTION_ENABLED',
161
+ HEADER_XCONTENT_TYPE_INVALID = 'HEADER_XCONTENT_TYPE_INVALID',
162
+ HEADER_REFERRER_POLICY_UNSAFE = 'HEADER_REFERRER_POLICY_UNSAFE',
163
+ HEADER_HSTS_BAD_MAX_AGE = 'HEADER_HSTS_BAD_MAX_AGE',
164
+ HEADER_HSTS_SHORT_MAX_AGE = 'HEADER_HSTS_SHORT_MAX_AGE',
165
+ HEADER_HSTS_NO_INCLUDESUBDOMAINS = 'HEADER_HSTS_NO_INCLUDESUBDOMAINS',
166
+ HEADER_HSTS_PRELOAD_LOW_MAX_AGE = 'HEADER_HSTS_PRELOAD_LOW_MAX_AGE',
167
+ COOKIE_SAMESITE_NONE_WITHOUT_SECURE = 'COOKIE_SAMESITE_NONE_WITHOUT_SECURE',
166
168
  COOKIE_SESSION_MISSING_SECURE = 'COOKIE_SESSION_MISSING_SECURE',
167
169
  COOKIE_MISSING_SECURE = 'COOKIE_MISSING_SECURE',
168
170
  COOKIE_SESSION_MISSING_HTTPONLY = 'COOKIE_SESSION_MISSING_HTTPONLY',
@@ -187,41 +189,42 @@ export enum VulnerabilityCode {
187
189
  HOST_PASSWORD_RESET = 'HOST_PASSWORD_RESET',
188
190
  HOST_REDIRECT = 'HOST_REDIRECT',
189
191
 
190
- // ========================================
191
- // DIRECTORY BROWSING (DIRBROWSE_*)
192
- // ========================================
193
- DIRBROWSE_GENERIC = 'DIRBROWSE_GENERIC',
194
- DIRBROWSE_GENERIC_SENSITIVE = 'DIRBROWSE_GENERIC_SENSITIVE',
195
- DIRBROWSE_APACHE = 'DIRBROWSE_APACHE',
196
- DIRBROWSE_APACHE_SENSITIVE = 'DIRBROWSE_APACHE_SENSITIVE',
197
- DIRBROWSE_NGINX = 'DIRBROWSE_NGINX',
198
- DIRBROWSE_NGINX_SENSITIVE = 'DIRBROWSE_NGINX_SENSITIVE',
199
- DIRBROWSE_IIS = 'DIRBROWSE_IIS',
200
- DIRBROWSE_IIS_SENSITIVE = 'DIRBROWSE_IIS_SENSITIVE',
201
- DIRBROWSE_TOMCAT = 'DIRBROWSE_TOMCAT',
202
- DIRBROWSE_TOMCAT_SENSITIVE = 'DIRBROWSE_TOMCAT_SENSITIVE',
203
- DIRBROWSE_CADDY = 'DIRBROWSE_CADDY',
204
- DIRBROWSE_CADDY_SENSITIVE = 'DIRBROWSE_CADDY_SENSITIVE',
205
- DIRBROWSE_WEBDAV = 'DIRBROWSE_WEBDAV',
206
- DIRBROWSE_WEBDAV_SENSITIVE = 'DIRBROWSE_WEBDAV_SENSITIVE',
207
- DIRBROWSE_S3 = 'DIRBROWSE_S3',
208
- DIRBROWSE_S3_SENSITIVE = 'DIRBROWSE_S3_SENSITIVE',
209
- DIRBROWSE_GCS = 'DIRBROWSE_GCS',
210
- DIRBROWSE_GCS_SENSITIVE = 'DIRBROWSE_GCS_SENSITIVE',
211
- DIRBROWSE_AZURE_BLOB = 'DIRBROWSE_AZURE_BLOB',
212
- DIRBROWSE_AZURE_BLOB_SENSITIVE = 'DIRBROWSE_AZURE_BLOB_SENSITIVE',
213
- DIRBROWSE_ENABLED = 'DIRBROWSE_ENABLED',
214
- DIRBROWSE_SENSITIVE = 'DIRBROWSE_SENSITIVE',
215
-
216
- // ========================================
217
- // MASS ASSIGNMENT (MASSASSIGN_*)
218
192
  // ========================================
219
- MASSASSIGN_PROTOTYPE_POLLUTION = 'MASSASSIGN_PROTOTYPE_POLLUTION',
220
- MASSASSIGN_ROLE_ESCALATION = 'MASSASSIGN_ROLE_ESCALATION',
221
- MASSASSIGN_HIDDEN_FIELD = 'MASSASSIGN_HIDDEN_FIELD',
193
+ // DIRECTORY BROWSING (DIRBROWSE_*)
194
+ // ========================================
195
+ DIRBROWSE_GENERIC = 'DIRBROWSE_GENERIC',
196
+ DIRBROWSE_GENERIC_SENSITIVE = 'DIRBROWSE_GENERIC_SENSITIVE',
197
+ DIRBROWSE_APACHE = 'DIRBROWSE_APACHE',
198
+ DIRBROWSE_APACHE_SENSITIVE = 'DIRBROWSE_APACHE_SENSITIVE',
199
+ DIRBROWSE_NGINX = 'DIRBROWSE_NGINX',
200
+ DIRBROWSE_NGINX_SENSITIVE = 'DIRBROWSE_NGINX_SENSITIVE',
201
+ DIRBROWSE_IIS = 'DIRBROWSE_IIS',
202
+ DIRBROWSE_IIS_SENSITIVE = 'DIRBROWSE_IIS_SENSITIVE',
203
+ DIRBROWSE_TOMCAT = 'DIRBROWSE_TOMCAT',
204
+ DIRBROWSE_TOMCAT_SENSITIVE = 'DIRBROWSE_TOMCAT_SENSITIVE',
205
+ DIRBROWSE_CADDY = 'DIRBROWSE_CADDY',
206
+ DIRBROWSE_CADDY_SENSITIVE = 'DIRBROWSE_CADDY_SENSITIVE',
207
+ DIRBROWSE_WEBDAV = 'DIRBROWSE_WEBDAV',
208
+ DIRBROWSE_WEBDAV_SENSITIVE = 'DIRBROWSE_WEBDAV_SENSITIVE',
209
+ DIRBROWSE_S3 = 'DIRBROWSE_S3',
210
+ DIRBROWSE_S3_SENSITIVE = 'DIRBROWSE_S3_SENSITIVE',
211
+ DIRBROWSE_GCS = 'DIRBROWSE_GCS',
212
+ DIRBROWSE_GCS_SENSITIVE = 'DIRBROWSE_GCS_SENSITIVE',
213
+ DIRBROWSE_AZURE_BLOB = 'DIRBROWSE_AZURE_BLOB',
214
+ DIRBROWSE_AZURE_BLOB_SENSITIVE = 'DIRBROWSE_AZURE_BLOB_SENSITIVE',
215
+ DIRBROWSE_ENABLED = 'DIRBROWSE_ENABLED',
216
+ DIRBROWSE_SENSITIVE = 'DIRBROWSE_SENSITIVE',
222
217
 
223
- // ========================================
224
- // DESERIALIZATION (DESER_*)
218
+ // ========================================
219
+ // MASS ASSIGNMENT (MASSASSIGN_*)
220
+ // ========================================
221
+ MASSASSIGN_PROTOTYPE_POLLUTION = 'MASSASSIGN_PROTOTYPE_POLLUTION',
222
+ MASSASSIGN_ROLE_ESCALATION = 'MASSASSIGN_ROLE_ESCALATION',
223
+ MASSASSIGN_HIDDEN_FIELD = 'MASSASSIGN_HIDDEN_FIELD',
224
+ HPP_DUPLICATE_PARAMETER = 'HPP_DUPLICATE_PARAMETER',
225
+
226
+ // ========================================
227
+ // DESERIALIZATION (DESER_*)
225
228
  // ========================================
226
229
  DESER_JAVA = 'DESER_JAVA',
227
230
  DESER_PHP = 'DESER_PHP',
@@ -285,10 +288,10 @@ export enum VulnerabilityCode {
285
288
  SENS_MED_SITEMAP = 'SENS_MED_SITEMAP',
286
289
  SENS_MED_CROSSDOMAIN_XML = 'SENS_MED_CROSSDOMAIN_XML',
287
290
 
288
- // ========================================
289
- // SENSITIVE PATH SCOUT - LOW (SENS_LOW_*)
290
- // ========================================
291
- SENS_LOW_TRAVIS_CI = 'SENS_LOW_TRAVIS_CI',
291
+ // ========================================
292
+ // SENSITIVE PATH SCOUT - LOW (SENS_LOW_*)
293
+ // ========================================
294
+ SENS_LOW_TRAVIS_CI = 'SENS_LOW_TRAVIS_CI',
292
295
  SENS_LOW_JENKINSFILE = 'SENS_LOW_JENKINSFILE',
293
296
  SENS_LOW_CIRCLECI = 'SENS_LOW_CIRCLECI',
294
297
  SENS_LOW_GITLAB_CI = 'SENS_LOW_GITLAB_CI',
@@ -364,65 +367,65 @@ export enum VulnerabilityCode {
364
367
  SENS_LOW_VIM_SWAP_FILE_DETECTED = 'SENS_LOW_VIM_SWAP_FILE_DETECTED',
365
368
  SENS_LOW_DIRECTORY_LISTING_ENABLED = 'SENS_LOW_DIRECTORY_LISTING_ENABLED',
366
369
  SENS_LOW_AWSSAM_TEMPLATE_EXPOSED = 'SENS_LOW_AWSSAM_TEMPLATE_EXPOSED',
367
- SENS_LOW_SERVERLESS_CONFIG_EXPOSED = 'SENS_LOW_SERVERLESS_CONFIG_EXPOSED',
368
- SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED = 'SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED',
369
-
370
- // ========================================
371
- // SENSITIVE DATA EXPOSURE (SENS_DATA_*)
372
- // ========================================
373
- SENS_DATA_AWS_ACCESS_KEY_ID = 'SENS_DATA_AWS_ACCESS_KEY_ID',
374
- SENS_DATA_AWS_SECRET_ACCESS_KEY = 'SENS_DATA_AWS_SECRET_ACCESS_KEY',
375
- SENS_DATA_AWS_MWS_AUTH_TOKEN = 'SENS_DATA_AWS_MWS_AUTH_TOKEN',
376
- SENS_DATA_GOOGLE_API_KEY = 'SENS_DATA_GOOGLE_API_KEY',
377
- SENS_DATA_GOOGLE_OAUTH_TOKEN = 'SENS_DATA_GOOGLE_OAUTH_TOKEN',
378
- SENS_DATA_GOOGLE_CLOUD_PRIVATE_KEY_ID = 'SENS_DATA_GOOGLE_CLOUD_PRIVATE_KEY_ID',
379
- SENS_DATA_GITHUB_PAT = 'SENS_DATA_GITHUB_PAT',
380
- SENS_DATA_GITHUB_OAUTH_TOKEN = 'SENS_DATA_GITHUB_OAUTH_TOKEN',
381
- SENS_DATA_GITHUB_APP_TOKEN = 'SENS_DATA_GITHUB_APP_TOKEN',
382
- SENS_DATA_GITHUB_REFRESH_TOKEN = 'SENS_DATA_GITHUB_REFRESH_TOKEN',
383
- SENS_DATA_GITLAB_PAT = 'SENS_DATA_GITLAB_PAT',
384
- SENS_DATA_GITLAB_PIPELINE_TOKEN = 'SENS_DATA_GITLAB_PIPELINE_TOKEN',
385
- SENS_DATA_AZURE_STORAGE_ACCOUNT_KEY = 'SENS_DATA_AZURE_STORAGE_ACCOUNT_KEY',
386
- SENS_DATA_STRIPE_SECRET_KEY = 'SENS_DATA_STRIPE_SECRET_KEY',
387
- SENS_DATA_STRIPE_PUBLISHABLE_KEY = 'SENS_DATA_STRIPE_PUBLISHABLE_KEY',
388
- SENS_DATA_STRIPE_RESTRICTED_KEY = 'SENS_DATA_STRIPE_RESTRICTED_KEY',
389
- SENS_DATA_SLACK_TOKEN = 'SENS_DATA_SLACK_TOKEN',
390
- SENS_DATA_SLACK_WEBHOOK = 'SENS_DATA_SLACK_WEBHOOK',
391
- SENS_DATA_DISCORD_BOT_TOKEN = 'SENS_DATA_DISCORD_BOT_TOKEN',
392
- SENS_DATA_DISCORD_WEBHOOK = 'SENS_DATA_DISCORD_WEBHOOK',
393
- SENS_DATA_TWILIO_ACCOUNT_SID = 'SENS_DATA_TWILIO_ACCOUNT_SID',
394
- SENS_DATA_SENDGRID_API_KEY = 'SENS_DATA_SENDGRID_API_KEY',
395
- SENS_DATA_MAILGUN_API_KEY = 'SENS_DATA_MAILGUN_API_KEY',
396
- SENS_DATA_MAILCHIMP_API_KEY = 'SENS_DATA_MAILCHIMP_API_KEY',
397
- SENS_DATA_NPM_TOKEN = 'SENS_DATA_NPM_TOKEN',
398
- SENS_DATA_PYPI_TOKEN = 'SENS_DATA_PYPI_TOKEN',
399
- SENS_DATA_RSA_PRIVATE_KEY = 'SENS_DATA_RSA_PRIVATE_KEY',
400
- SENS_DATA_OPENSSH_PRIVATE_KEY = 'SENS_DATA_OPENSSH_PRIVATE_KEY',
401
- SENS_DATA_DSA_PRIVATE_KEY = 'SENS_DATA_DSA_PRIVATE_KEY',
402
- SENS_DATA_EC_PRIVATE_KEY = 'SENS_DATA_EC_PRIVATE_KEY',
403
- SENS_DATA_PGP_PRIVATE_KEY = 'SENS_DATA_PGP_PRIVATE_KEY',
404
- SENS_DATA_ENCRYPTED_PRIVATE_KEY = 'SENS_DATA_ENCRYPTED_PRIVATE_KEY',
405
- SENS_DATA_MONGODB_URI = 'SENS_DATA_MONGODB_URI',
406
- SENS_DATA_POSTGRESQL_URI = 'SENS_DATA_POSTGRESQL_URI',
407
- SENS_DATA_MYSQL_URI = 'SENS_DATA_MYSQL_URI',
408
- SENS_DATA_REDIS_URI = 'SENS_DATA_REDIS_URI',
409
- SENS_DATA_MSSQL_URI = 'SENS_DATA_MSSQL_URI',
410
- SENS_DATA_DIGITALOCEAN_TOKEN = 'SENS_DATA_DIGITALOCEAN_TOKEN',
411
- SENS_DATA_ALIBABA_CLOUD_ACCESS_KEY = 'SENS_DATA_ALIBABA_CLOUD_ACCESS_KEY',
412
- SENS_DATA_SQUARE_ACCESS_TOKEN = 'SENS_DATA_SQUARE_ACCESS_TOKEN',
413
- SENS_DATA_SQUARE_OAUTH_SECRET = 'SENS_DATA_SQUARE_OAUTH_SECRET',
414
- SENS_DATA_SHOPIFY_ACCESS_TOKEN = 'SENS_DATA_SHOPIFY_ACCESS_TOKEN',
415
- SENS_DATA_SHOPIFY_CUSTOM_APP_TOKEN = 'SENS_DATA_SHOPIFY_CUSTOM_APP_TOKEN',
416
- SENS_DATA_SHOPIFY_PRIVATE_APP_TOKEN = 'SENS_DATA_SHOPIFY_PRIVATE_APP_TOKEN',
417
- SENS_DATA_SHOPIFY_SHARED_SECRET = 'SENS_DATA_SHOPIFY_SHARED_SECRET',
418
- SENS_DATA_TELEGRAM_BOT_TOKEN = 'SENS_DATA_TELEGRAM_BOT_TOKEN',
419
- SENS_DATA_OPENAI_API_KEY = 'SENS_DATA_OPENAI_API_KEY',
420
- SENS_DATA_SENTRY_DSN = 'SENS_DATA_SENTRY_DSN',
421
-
422
- // ========================================
423
- // CLICKJACKING (CLICK_*)
424
- // ========================================
425
- CLICK_FRAMEABLE = 'CLICK_FRAMEABLE',
370
+ SENS_LOW_SERVERLESS_CONFIG_EXPOSED = 'SENS_LOW_SERVERLESS_CONFIG_EXPOSED',
371
+ SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED = 'SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED',
372
+
373
+ // ========================================
374
+ // SENSITIVE DATA EXPOSURE (SENS_DATA_*)
375
+ // ========================================
376
+ SENS_DATA_AWS_ACCESS_KEY_ID = 'SENS_DATA_AWS_ACCESS_KEY_ID',
377
+ SENS_DATA_AWS_SECRET_ACCESS_KEY = 'SENS_DATA_AWS_SECRET_ACCESS_KEY',
378
+ SENS_DATA_AWS_MWS_AUTH_TOKEN = 'SENS_DATA_AWS_MWS_AUTH_TOKEN',
379
+ SENS_DATA_GOOGLE_API_KEY = 'SENS_DATA_GOOGLE_API_KEY',
380
+ SENS_DATA_GOOGLE_OAUTH_TOKEN = 'SENS_DATA_GOOGLE_OAUTH_TOKEN',
381
+ SENS_DATA_GOOGLE_CLOUD_PRIVATE_KEY_ID = 'SENS_DATA_GOOGLE_CLOUD_PRIVATE_KEY_ID',
382
+ SENS_DATA_GITHUB_PAT = 'SENS_DATA_GITHUB_PAT',
383
+ SENS_DATA_GITHUB_OAUTH_TOKEN = 'SENS_DATA_GITHUB_OAUTH_TOKEN',
384
+ SENS_DATA_GITHUB_APP_TOKEN = 'SENS_DATA_GITHUB_APP_TOKEN',
385
+ SENS_DATA_GITHUB_REFRESH_TOKEN = 'SENS_DATA_GITHUB_REFRESH_TOKEN',
386
+ SENS_DATA_GITLAB_PAT = 'SENS_DATA_GITLAB_PAT',
387
+ SENS_DATA_GITLAB_PIPELINE_TOKEN = 'SENS_DATA_GITLAB_PIPELINE_TOKEN',
388
+ SENS_DATA_AZURE_STORAGE_ACCOUNT_KEY = 'SENS_DATA_AZURE_STORAGE_ACCOUNT_KEY',
389
+ SENS_DATA_STRIPE_SECRET_KEY = 'SENS_DATA_STRIPE_SECRET_KEY',
390
+ SENS_DATA_STRIPE_PUBLISHABLE_KEY = 'SENS_DATA_STRIPE_PUBLISHABLE_KEY',
391
+ SENS_DATA_STRIPE_RESTRICTED_KEY = 'SENS_DATA_STRIPE_RESTRICTED_KEY',
392
+ SENS_DATA_SLACK_TOKEN = 'SENS_DATA_SLACK_TOKEN',
393
+ SENS_DATA_SLACK_WEBHOOK = 'SENS_DATA_SLACK_WEBHOOK',
394
+ SENS_DATA_DISCORD_BOT_TOKEN = 'SENS_DATA_DISCORD_BOT_TOKEN',
395
+ SENS_DATA_DISCORD_WEBHOOK = 'SENS_DATA_DISCORD_WEBHOOK',
396
+ SENS_DATA_TWILIO_ACCOUNT_SID = 'SENS_DATA_TWILIO_ACCOUNT_SID',
397
+ SENS_DATA_SENDGRID_API_KEY = 'SENS_DATA_SENDGRID_API_KEY',
398
+ SENS_DATA_MAILGUN_API_KEY = 'SENS_DATA_MAILGUN_API_KEY',
399
+ SENS_DATA_MAILCHIMP_API_KEY = 'SENS_DATA_MAILCHIMP_API_KEY',
400
+ SENS_DATA_NPM_TOKEN = 'SENS_DATA_NPM_TOKEN',
401
+ SENS_DATA_PYPI_TOKEN = 'SENS_DATA_PYPI_TOKEN',
402
+ SENS_DATA_RSA_PRIVATE_KEY = 'SENS_DATA_RSA_PRIVATE_KEY',
403
+ SENS_DATA_OPENSSH_PRIVATE_KEY = 'SENS_DATA_OPENSSH_PRIVATE_KEY',
404
+ SENS_DATA_DSA_PRIVATE_KEY = 'SENS_DATA_DSA_PRIVATE_KEY',
405
+ SENS_DATA_EC_PRIVATE_KEY = 'SENS_DATA_EC_PRIVATE_KEY',
406
+ SENS_DATA_PGP_PRIVATE_KEY = 'SENS_DATA_PGP_PRIVATE_KEY',
407
+ SENS_DATA_ENCRYPTED_PRIVATE_KEY = 'SENS_DATA_ENCRYPTED_PRIVATE_KEY',
408
+ SENS_DATA_MONGODB_URI = 'SENS_DATA_MONGODB_URI',
409
+ SENS_DATA_POSTGRESQL_URI = 'SENS_DATA_POSTGRESQL_URI',
410
+ SENS_DATA_MYSQL_URI = 'SENS_DATA_MYSQL_URI',
411
+ SENS_DATA_REDIS_URI = 'SENS_DATA_REDIS_URI',
412
+ SENS_DATA_MSSQL_URI = 'SENS_DATA_MSSQL_URI',
413
+ SENS_DATA_DIGITALOCEAN_TOKEN = 'SENS_DATA_DIGITALOCEAN_TOKEN',
414
+ SENS_DATA_ALIBABA_CLOUD_ACCESS_KEY = 'SENS_DATA_ALIBABA_CLOUD_ACCESS_KEY',
415
+ SENS_DATA_SQUARE_ACCESS_TOKEN = 'SENS_DATA_SQUARE_ACCESS_TOKEN',
416
+ SENS_DATA_SQUARE_OAUTH_SECRET = 'SENS_DATA_SQUARE_OAUTH_SECRET',
417
+ SENS_DATA_SHOPIFY_ACCESS_TOKEN = 'SENS_DATA_SHOPIFY_ACCESS_TOKEN',
418
+ SENS_DATA_SHOPIFY_CUSTOM_APP_TOKEN = 'SENS_DATA_SHOPIFY_CUSTOM_APP_TOKEN',
419
+ SENS_DATA_SHOPIFY_PRIVATE_APP_TOKEN = 'SENS_DATA_SHOPIFY_PRIVATE_APP_TOKEN',
420
+ SENS_DATA_SHOPIFY_SHARED_SECRET = 'SENS_DATA_SHOPIFY_SHARED_SECRET',
421
+ SENS_DATA_TELEGRAM_BOT_TOKEN = 'SENS_DATA_TELEGRAM_BOT_TOKEN',
422
+ SENS_DATA_OPENAI_API_KEY = 'SENS_DATA_OPENAI_API_KEY',
423
+ SENS_DATA_SENTRY_DSN = 'SENS_DATA_SENTRY_DSN',
424
+
425
+ // ========================================
426
+ // CLICKJACKING (CLICK_*)
427
+ // ========================================
428
+ CLICK_FRAMEABLE = 'CLICK_FRAMEABLE',
426
429
  CLICK_PARTIAL_PROTECTION = 'CLICK_PARTIAL_PROTECTION',
427
430
  }
428
431