@zerothreatai/vulnerability-registry 4.0.0 → 6.0.0

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.
Files changed (99) hide show
  1. package/dist/categories/authentication.js +17 -17
  2. package/dist/categories/configuration.js +80 -80
  3. package/dist/categories/injection.js +34 -34
  4. package/dist/categories/sensitive-paths.js +84 -84
  5. package/dist/categories/ssrf.js +11 -11
  6. package/dist/categories/xss.js +15 -15
  7. package/dist/compliance-codes.d.ts +207 -0
  8. package/dist/compliance-codes.js +213 -0
  9. package/dist/compliances/gdpr.d.ts +2 -0
  10. package/dist/compliances/gdpr.js +252 -0
  11. package/dist/compliances/helpers.d.ts +6 -0
  12. package/dist/compliances/helpers.js +11 -0
  13. package/dist/compliances/hipaa.d.ts +2 -0
  14. package/dist/compliances/hipaa.js +187 -0
  15. package/dist/compliances/index.d.ts +5 -0
  16. package/dist/compliances/index.js +5 -0
  17. package/dist/compliances/owasp.d.ts +2 -0
  18. package/dist/compliances/owasp.js +127 -0
  19. package/dist/compliances/pci-dss.d.ts +2 -0
  20. package/dist/compliances/pci-dss.js +260 -0
  21. package/dist/compliances/sans-top-25.d.ts +2 -0
  22. package/dist/compliances/sans-top-25.js +242 -0
  23. package/dist/index.d.ts +7 -1
  24. package/dist/index.js +7 -1
  25. package/dist/types.d.ts +33 -0
  26. package/dist/types.js +11 -1
  27. package/dist-cjs/categories/authentication.js +17 -17
  28. package/dist-cjs/categories/configuration.js +80 -80
  29. package/dist-cjs/categories/injection.js +34 -34
  30. package/dist-cjs/categories/sensitive-paths.js +84 -84
  31. package/dist-cjs/categories/ssrf.js +11 -11
  32. package/dist-cjs/categories/xss.js +15 -15
  33. package/dist-cjs/compliance-codes.js +216 -0
  34. package/dist-cjs/compliances/gdpr.js +255 -0
  35. package/dist-cjs/compliances/helpers.js +19 -0
  36. package/dist-cjs/compliances/hipaa.js +190 -0
  37. package/dist-cjs/compliances/index.js +13 -0
  38. package/dist-cjs/compliances/owasp.js +130 -0
  39. package/dist-cjs/compliances/pci-dss.js +263 -0
  40. package/dist-cjs/compliances/sans-top-25.js +245 -0
  41. package/dist-cjs/index.js +12 -1
  42. package/dist-cjs/types.js +12 -0
  43. package/package.json +40 -32
  44. package/scripts/assign-ids.ts +105 -0
  45. package/scripts/check-duplicate-ids.ts +45 -0
  46. package/src/categories/authentication.ts +17 -17
  47. package/src/categories/configuration.ts +80 -80
  48. package/src/categories/injection.ts +34 -34
  49. package/src/categories/sensitive-paths.ts +84 -84
  50. package/src/categories/ssrf.ts +11 -11
  51. package/src/categories/xss.ts +15 -15
  52. package/src/compliance-codes.ts +216 -0
  53. package/src/compliances/README.md +82 -0
  54. package/src/compliances/gdpr.ts +258 -0
  55. package/src/compliances/helpers.ts +29 -0
  56. package/src/compliances/hipaa.ts +193 -0
  57. package/src/compliances/index.ts +5 -0
  58. package/src/compliances/owasp.ts +133 -0
  59. package/src/compliances/pci-dss.ts +266 -0
  60. package/src/compliances/sans-top-25.ts +246 -0
  61. package/src/id-registry.json +1235 -0
  62. package/src/index.ts +12 -1
  63. package/src/types.ts +40 -4
  64. package/src/categories/authentication.d.ts +0 -8
  65. package/src/categories/authentication.d.ts.map +0 -1
  66. package/src/categories/authentication.js +0 -392
  67. package/src/categories/authentication.js.map +0 -1
  68. package/src/categories/configuration.d.ts +0 -8
  69. package/src/categories/configuration.d.ts.map +0 -1
  70. package/src/categories/configuration.js +0 -1782
  71. package/src/categories/configuration.js.map +0 -1
  72. package/src/categories/injection.d.ts +0 -8
  73. package/src/categories/injection.d.ts.map +0 -1
  74. package/src/categories/injection.js +0 -781
  75. package/src/categories/injection.js.map +0 -1
  76. package/src/categories/sensitive-paths.d.ts +0 -9
  77. package/src/categories/sensitive-paths.d.ts.map +0 -1
  78. package/src/categories/sensitive-paths.js +0 -1872
  79. package/src/categories/sensitive-paths.js.map +0 -1
  80. package/src/categories/ssrf.d.ts +0 -8
  81. package/src/categories/ssrf.d.ts.map +0 -1
  82. package/src/categories/ssrf.js +0 -258
  83. package/src/categories/ssrf.js.map +0 -1
  84. package/src/categories/xss.d.ts +0 -7
  85. package/src/categories/xss.d.ts.map +0 -1
  86. package/src/categories/xss.js +0 -340
  87. package/src/categories/xss.js.map +0 -1
  88. package/src/error-codes.d.ts +0 -280
  89. package/src/error-codes.d.ts.map +0 -1
  90. package/src/error-codes.js +0 -350
  91. package/src/error-codes.js.map +0 -1
  92. package/src/index.d.ts +0 -60
  93. package/src/index.d.ts.map +0 -1
  94. package/src/index.js +0 -92
  95. package/src/index.js.map +0 -1
  96. package/src/types.d.ts +0 -88
  97. package/src/types.d.ts.map +0 -1
  98. package/src/types.js +0 -6
  99. package/src/types.js.map +0 -1
@@ -0,0 +1,213 @@
1
+ export var ComplianceCode;
2
+ (function (ComplianceCode) {
3
+ // --- OWASP (ComplianceId: 1) ---
4
+ ComplianceCode["OWASP_A1_BROKEN_ACCESS_CONTROL"] = "OWASP_A1_BROKEN_ACCESS_CONTROL";
5
+ ComplianceCode["OWASP_A2_CRYPTOGRAPHIC_FAILURES"] = "OWASP_A2_CRYPTOGRAPHIC_FAILURES";
6
+ ComplianceCode["OWASP_A3_INJECTION_FLAWS"] = "OWASP_A3_INJECTION_FLAWS";
7
+ ComplianceCode["OWASP_A4_INSECURE_DESIGN"] = "OWASP_A4_INSECURE_DESIGN";
8
+ ComplianceCode["OWASP_A5_SECURITY_MISCONFIGURATION"] = "OWASP_A5_SECURITY_MISCONFIGURATION";
9
+ ComplianceCode["OWASP_A6_VULNERABLE_OUTDATED_COMPONENTS"] = "OWASP_A6_VULNERABLE_OUTDATED_COMPONENTS";
10
+ ComplianceCode["OWASP_A7_IDENTIFICATION_AUTH_FAILURE"] = "OWASP_A7_IDENTIFICATION_AUTH_FAILURE";
11
+ ComplianceCode["OWASP_A8_SOFTWARE_DATA_INTEGRITY_FAILURE"] = "OWASP_A8_SOFTWARE_DATA_INTEGRITY_FAILURE";
12
+ ComplianceCode["OWASP_A9_LOGGING_MONITORING_FAILURES"] = "OWASP_A9_LOGGING_MONITORING_FAILURES";
13
+ ComplianceCode["OWASP_A10_SSRF"] = "OWASP_A10_SSRF";
14
+ // --- HIPAA (ComplianceId: 2) ---
15
+ ComplianceCode["HIPAA_164_105_PROTECT_PRIVATE_HEALTH_INFO"] = "HIPAA_164_105_PROTECT_PRIVATE_HEALTH_INFO";
16
+ ComplianceCode["HIPAA_164_306_A_1_KEEP_INFO_SAFE"] = "HIPAA_164_306_A_1_KEEP_INFO_SAFE";
17
+ ComplianceCode["HIPAA_164_306_A_2_PROTECT_AGAINST_THREATS"] = "HIPAA_164_306_A_2_PROTECT_AGAINST_THREATS";
18
+ ComplianceCode["HIPAA_164_306_A_3_STOP_UNAUTHORIZED_ACCESS"] = "HIPAA_164_306_A_3_STOP_UNAUTHORIZED_ACCESS";
19
+ ComplianceCode["HIPAA_164_308_A_1_I_PREVENT_FIX_PROBLEMS"] = "HIPAA_164_308_A_1_I_PREVENT_FIX_PROBLEMS";
20
+ ComplianceCode["HIPAA_164_308_A_1_II_B_LOWER_SECURITY_RISKS"] = "HIPAA_164_308_A_1_II_B_LOWER_SECURITY_RISKS";
21
+ ComplianceCode["HIPAA_164_308_A_5_II_B_BLOCK_MALWARE"] = "HIPAA_164_308_A_5_II_B_BLOCK_MALWARE";
22
+ ComplianceCode["HIPAA_164_308_A_5_II_C_WATCH_LOGINS"] = "HIPAA_164_308_A_5_II_C_WATCH_LOGINS";
23
+ ComplianceCode["HIPAA_164_308_A_5_II_D_PROTECT_PASSWORDS"] = "HIPAA_164_308_A_5_II_D_PROTECT_PASSWORDS";
24
+ ComplianceCode["HIPAA_164_308_A_7_I_PLAN_EMERGENCIES"] = "HIPAA_164_308_A_7_I_PLAN_EMERGENCIES";
25
+ ComplianceCode["HIPAA_164_312_A_1_CONTROL_ACCESS"] = "HIPAA_164_312_A_1_CONTROL_ACCESS";
26
+ ComplianceCode["HIPAA_164_312_C_1_PREVENT_CHANGES"] = "HIPAA_164_312_C_1_PREVENT_CHANGES";
27
+ ComplianceCode["HIPAA_164_312_D_VERIFY_IDENTITY"] = "HIPAA_164_312_D_VERIFY_IDENTITY";
28
+ ComplianceCode["HIPAA_164_312_E_1_PROTECT_ONLINE_INFO"] = "HIPAA_164_312_E_1_PROTECT_ONLINE_INFO";
29
+ ComplianceCode["HIPAA_164_312_E_2_I_PREVENT_UNAUTHORIZED_CHANGES"] = "HIPAA_164_312_E_2_I_PREVENT_UNAUTHORIZED_CHANGES";
30
+ ComplianceCode["HIPAA_164_312_E_2_II_USE_ENCRYPTION"] = "HIPAA_164_312_E_2_II_USE_ENCRYPTION";
31
+ ComplianceCode["HIPAA_164_530_C_2_I_KEEP_INFO_SHARED"] = "HIPAA_164_530_C_2_I_KEEP_INFO_SHARED";
32
+ // --- GDPR (ComplianceId: 3) ---
33
+ ComplianceCode["GDPR_A_10_1_1_DOCUMENTED_OPERATING_PROCEDURES"] = "GDPR_A_10_1_1_DOCUMENTED_OPERATING_PROCEDURES";
34
+ ComplianceCode["GDPR_A_10_1_2_CHANGE_MANAGEMENT"] = "GDPR_A_10_1_2_CHANGE_MANAGEMENT";
35
+ ComplianceCode["GDPR_A_10_1_3_SEGREGATION_OF_DUTIES"] = "GDPR_A_10_1_3_SEGREGATION_OF_DUTIES";
36
+ ComplianceCode["GDPR_A_10_1_4_SEPARATION_DEV_TEST_OPS"] = "GDPR_A_10_1_4_SEPARATION_DEV_TEST_OPS";
37
+ ComplianceCode["GDPR_A_10_2_1_SERVICE_DELIVERY"] = "GDPR_A_10_2_1_SERVICE_DELIVERY";
38
+ ComplianceCode["GDPR_A_10_2_2_MONITORING_THIRD_PARTY_SERVICES"] = "GDPR_A_10_2_2_MONITORING_THIRD_PARTY_SERVICES";
39
+ ComplianceCode["GDPR_A_10_2_3_MANAGING_CHANGES_THIRD_PARTY"] = "GDPR_A_10_2_3_MANAGING_CHANGES_THIRD_PARTY";
40
+ ComplianceCode["GDPR_A_10_3_1_CAPACITY_MANAGEMENT"] = "GDPR_A_10_3_1_CAPACITY_MANAGEMENT";
41
+ ComplianceCode["GDPR_A_10_3_2_SYSTEM_ACCEPTANCE"] = "GDPR_A_10_3_2_SYSTEM_ACCEPTANCE";
42
+ ComplianceCode["GDPR_A_10_4_1_CONTROLS_AGAINST_MALICIOUS_CODE"] = "GDPR_A_10_4_1_CONTROLS_AGAINST_MALICIOUS_CODE";
43
+ ComplianceCode["GDPR_A_10_4_2_CONTROLS_AGAINST_MOBILE_CODE"] = "GDPR_A_10_4_2_CONTROLS_AGAINST_MOBILE_CODE";
44
+ ComplianceCode["GDPR_A_10_5_1_INFORMATION_BACK_UP"] = "GDPR_A_10_5_1_INFORMATION_BACK_UP";
45
+ ComplianceCode["GDPR_A_10_6_1_NETWORK_CONTROLS"] = "GDPR_A_10_6_1_NETWORK_CONTROLS";
46
+ ComplianceCode["GDPR_A_10_6_2_SECURITY_OF_NETWORK_SERVICES"] = "GDPR_A_10_6_2_SECURITY_OF_NETWORK_SERVICES";
47
+ ComplianceCode["GDPR_A_10_7_1_MANAGEMENT_REMOVABLE_MEDIA"] = "GDPR_A_10_7_1_MANAGEMENT_REMOVABLE_MEDIA";
48
+ ComplianceCode["GDPR_A_10_7_2_DISPOSAL_OF_MEDIA"] = "GDPR_A_10_7_2_DISPOSAL_OF_MEDIA";
49
+ ComplianceCode["GDPR_A_10_7_3_INFORMATION_HANDLING_PROCEDURES"] = "GDPR_A_10_7_3_INFORMATION_HANDLING_PROCEDURES";
50
+ ComplianceCode["GDPR_A_10_7_4_SECURITY_SYSTEM_DOCUMENTATION"] = "GDPR_A_10_7_4_SECURITY_SYSTEM_DOCUMENTATION";
51
+ ComplianceCode["GDPR_A_10_8_1_INFO_EXCHANGE_POLICIES"] = "GDPR_A_10_8_1_INFO_EXCHANGE_POLICIES";
52
+ ComplianceCode["GDPR_A_10_8_2_EXCHANGE_AGREEMENTS"] = "GDPR_A_10_8_2_EXCHANGE_AGREEMENTS";
53
+ ComplianceCode["GDPR_A_10_8_3_PHYSICAL_MEDIA_IN_TRANSIT"] = "GDPR_A_10_8_3_PHYSICAL_MEDIA_IN_TRANSIT";
54
+ ComplianceCode["GDPR_A_10_8_4_ELECTRONIC_MESSAGING"] = "GDPR_A_10_8_4_ELECTRONIC_MESSAGING";
55
+ ComplianceCode["GDPR_A_10_8_5_BUSINESS_INFORMATION_SYSTEMS"] = "GDPR_A_10_8_5_BUSINESS_INFORMATION_SYSTEMS";
56
+ ComplianceCode["GDPR_A_10_9_1_ELECTRONIC_COMMERCE"] = "GDPR_A_10_9_1_ELECTRONIC_COMMERCE";
57
+ ComplianceCode["GDPR_A_10_9_2_ONLINE_TRANSACTIONS"] = "GDPR_A_10_9_2_ONLINE_TRANSACTIONS";
58
+ ComplianceCode["GDPR_A_10_9_3_PUBLICLY_AVAILABLE"] = "GDPR_A_10_9_3_PUBLICLY_AVAILABLE";
59
+ ComplianceCode["GDPR_A_10_10_1_AUDIT_LOGGING"] = "GDPR_A_10_10_1_AUDIT_LOGGING";
60
+ ComplianceCode["GDPR_A_10_10_2_MONITORING_SYSTEM_USE"] = "GDPR_A_10_10_2_MONITORING_SYSTEM_USE";
61
+ ComplianceCode["GDPR_A_10_10_3_PROTECTION_OF_LOG_INFORMATION"] = "GDPR_A_10_10_3_PROTECTION_OF_LOG_INFORMATION";
62
+ ComplianceCode["GDPR_A_10_10_4_ADMINISTRATOR_OPERATOR_LOGS"] = "GDPR_A_10_10_4_ADMINISTRATOR_OPERATOR_LOGS";
63
+ ComplianceCode["GDPR_A_10_10_5_FAULT_LOGGING"] = "GDPR_A_10_10_5_FAULT_LOGGING";
64
+ ComplianceCode["GDPR_A_10_10_6_CLOCK_SYNCHRONIZATION"] = "GDPR_A_10_10_6_CLOCK_SYNCHRONIZATION";
65
+ ComplianceCode["GDPR_A_11_1_1_ACCESS_CONTROL_POLICY"] = "GDPR_A_11_1_1_ACCESS_CONTROL_POLICY";
66
+ ComplianceCode["GDPR_A_11_2_1_USER_REGISTRATION"] = "GDPR_A_11_2_1_USER_REGISTRATION";
67
+ ComplianceCode["GDPR_A_11_2_2_PRIVILEGE_MANAGEMENT"] = "GDPR_A_11_2_2_PRIVILEGE_MANAGEMENT";
68
+ ComplianceCode["GDPR_A_11_2_3_USER_PASSWORD_MANAGEMENT"] = "GDPR_A_11_2_3_USER_PASSWORD_MANAGEMENT";
69
+ ComplianceCode["GDPR_A_11_2_4_REVIEW_USER_ACCESS_RIGHTS"] = "GDPR_A_11_2_4_REVIEW_USER_ACCESS_RIGHTS";
70
+ ComplianceCode["GDPR_A_11_3_1_PASSWORD_USE"] = "GDPR_A_11_3_1_PASSWORD_USE";
71
+ ComplianceCode["GDPR_A_11_3_2_UNATTENDED_USER_EQUIPMENT"] = "GDPR_A_11_3_2_UNATTENDED_USER_EQUIPMENT";
72
+ ComplianceCode["GDPR_A_11_3_3_CLEAR_DESK_SCREEN_POLICY"] = "GDPR_A_11_3_3_CLEAR_DESK_SCREEN_POLICY";
73
+ ComplianceCode["GDPR_A_11_4_1_POLICY_USE_NETWORK_SERVICES"] = "GDPR_A_11_4_1_POLICY_USE_NETWORK_SERVICES";
74
+ ComplianceCode["GDPR_A_11_4_2_USER_AUTH_EXTERNAL_CONNECTIONS"] = "GDPR_A_11_4_2_USER_AUTH_EXTERNAL_CONNECTIONS";
75
+ ComplianceCode["GDPR_A_11_4_3_EQUIPMENT_IDENTIFICATION"] = "GDPR_A_11_4_3_EQUIPMENT_IDENTIFICATION";
76
+ ComplianceCode["GDPR_A_11_4_4_REMOTE_DIAGNOSTIC_PORT_PROTECTION"] = "GDPR_A_11_4_4_REMOTE_DIAGNOSTIC_PORT_PROTECTION";
77
+ ComplianceCode["GDPR_A_11_4_5_SEGREGATION_IN_NETWORKS"] = "GDPR_A_11_4_5_SEGREGATION_IN_NETWORKS";
78
+ ComplianceCode["GDPR_A_11_4_6_NETWORK_CONNECTION_CONTROL"] = "GDPR_A_11_4_6_NETWORK_CONNECTION_CONTROL";
79
+ ComplianceCode["GDPR_A_11_4_7_NETWORK_ROUTING_CONTROL"] = "GDPR_A_11_4_7_NETWORK_ROUTING_CONTROL";
80
+ ComplianceCode["GDPR_A_11_5_1_SECURE_LOG_ON"] = "GDPR_A_11_5_1_SECURE_LOG_ON";
81
+ ComplianceCode["GDPR_A_11_5_2_USER_ID_AND_AUTH"] = "GDPR_A_11_5_2_USER_ID_AND_AUTH";
82
+ ComplianceCode["GDPR_A_11_5_3_PASSWORD_MANAGEMENT_SYSTEM"] = "GDPR_A_11_5_3_PASSWORD_MANAGEMENT_SYSTEM";
83
+ ComplianceCode["GDPR_A_11_5_4_USE_OF_SYSTEM_UTILITIES"] = "GDPR_A_11_5_4_USE_OF_SYSTEM_UTILITIES";
84
+ ComplianceCode["GDPR_A_11_5_5_SESSION_TIMEOUT"] = "GDPR_A_11_5_5_SESSION_TIMEOUT";
85
+ ComplianceCode["GDPR_A_11_5_6_LIMITATION_CONNECTION_TIME"] = "GDPR_A_11_5_6_LIMITATION_CONNECTION_TIME";
86
+ ComplianceCode["GDPR_A_11_6_1_INFORMATION_ACCESS_RESTRICTION"] = "GDPR_A_11_6_1_INFORMATION_ACCESS_RESTRICTION";
87
+ ComplianceCode["GDPR_A_11_6_2_SENSITIVE_SYSTEM_ISOLATION"] = "GDPR_A_11_6_2_SENSITIVE_SYSTEM_ISOLATION";
88
+ ComplianceCode["GDPR_A_11_7_1_MOBILE_COMPUTING"] = "GDPR_A_11_7_1_MOBILE_COMPUTING";
89
+ ComplianceCode["GDPR_A_11_7_2_TELEWORKING"] = "GDPR_A_11_7_2_TELEWORKING";
90
+ ComplianceCode["GDPR_A_12_1_1_SECURITY_REQUIREMENTS_ANALYSIS"] = "GDPR_A_12_1_1_SECURITY_REQUIREMENTS_ANALYSIS";
91
+ ComplianceCode["GDPR_A_12_2_1_INPUT_DATA_VALIDATION"] = "GDPR_A_12_2_1_INPUT_DATA_VALIDATION";
92
+ ComplianceCode["GDPR_A_12_2_2_CONTROL_INTERNAL_PROCESSING"] = "GDPR_A_12_2_2_CONTROL_INTERNAL_PROCESSING";
93
+ ComplianceCode["GDPR_A_12_2_3_MESSAGE_INTEGRITY"] = "GDPR_A_12_2_3_MESSAGE_INTEGRITY";
94
+ ComplianceCode["GDPR_A_12_2_4_OUTPUT_DATA_VALIDATION"] = "GDPR_A_12_2_4_OUTPUT_DATA_VALIDATION";
95
+ ComplianceCode["GDPR_A_12_3_1_POLICY_CRYPTOGRAPHIC_CONTROLS"] = "GDPR_A_12_3_1_POLICY_CRYPTOGRAPHIC_CONTROLS";
96
+ ComplianceCode["GDPR_A_12_3_2_KEY_MANAGEMENT"] = "GDPR_A_12_3_2_KEY_MANAGEMENT";
97
+ ComplianceCode["GDPR_A_12_4_1_CONTROL_OPERATIONAL_SOFTWARE"] = "GDPR_A_12_4_1_CONTROL_OPERATIONAL_SOFTWARE";
98
+ ComplianceCode["GDPR_A_12_4_2_PROTECTION_SYSTEM_TEST_DATA"] = "GDPR_A_12_4_2_PROTECTION_SYSTEM_TEST_DATA";
99
+ ComplianceCode["GDPR_A_12_4_3_ACCESS_CONTROL_SOURCE_CODE"] = "GDPR_A_12_4_3_ACCESS_CONTROL_SOURCE_CODE";
100
+ ComplianceCode["GDPR_A_12_5_1_CHANGE_CONTROL_PROCEDURES"] = "GDPR_A_12_5_1_CHANGE_CONTROL_PROCEDURES";
101
+ ComplianceCode["GDPR_A_12_5_2_TECHNICAL_REVIEW_APPS"] = "GDPR_A_12_5_2_TECHNICAL_REVIEW_APPS";
102
+ ComplianceCode["GDPR_A_12_5_3_RESTRICTIONS_CHANGES_SOFTWARE"] = "GDPR_A_12_5_3_RESTRICTIONS_CHANGES_SOFTWARE";
103
+ ComplianceCode["GDPR_A_12_5_4_INFORMATION_LEAKAGE"] = "GDPR_A_12_5_4_INFORMATION_LEAKAGE";
104
+ ComplianceCode["GDPR_A_12_5_5_OUTSOURCED_SOFTWARE_DEV"] = "GDPR_A_12_5_5_OUTSOURCED_SOFTWARE_DEV";
105
+ ComplianceCode["GDPR_A_12_6_1_CONTROL_TECHNICAL_VULNERABILITIES"] = "GDPR_A_12_6_1_CONTROL_TECHNICAL_VULNERABILITIES";
106
+ // --- PCI DSS (ComplianceId: 4) ---
107
+ ComplianceCode["PCI_REQ_1_INSTALL_FIREWALL"] = "PCI_REQ_1_INSTALL_FIREWALL";
108
+ ComplianceCode["PCI_REQ_2_1_CHANGE_DEFAULT_PASSWORDS"] = "PCI_REQ_2_1_CHANGE_DEFAULT_PASSWORDS";
109
+ ComplianceCode["PCI_REQ_2_2_1_ONE_PRIMARY_FUNCTION"] = "PCI_REQ_2_2_1_ONE_PRIMARY_FUNCTION";
110
+ ComplianceCode["PCI_REQ_2_2_2_ENABLE_NECESSARY_SERVICES"] = "PCI_REQ_2_2_2_ENABLE_NECESSARY_SERVICES";
111
+ ComplianceCode["PCI_REQ_2_2_3_SECURE_INSECURE_SERVICES"] = "PCI_REQ_2_2_3_SECURE_INSECURE_SERVICES";
112
+ ComplianceCode["PCI_REQ_2_2_4_CONFIGURE_SYSTEM_PARAMETERS"] = "PCI_REQ_2_2_4_CONFIGURE_SYSTEM_PARAMETERS";
113
+ ComplianceCode["PCI_REQ_2_2_5_STRENGTHEN_INSECURE_SERVICES"] = "PCI_REQ_2_2_5_STRENGTHEN_INSECURE_SERVICES";
114
+ ComplianceCode["PCI_REQ_2_3_ENCRYPT_NON_CONSOLE_ADMIN"] = "PCI_REQ_2_3_ENCRYPT_NON_CONSOLE_ADMIN";
115
+ ComplianceCode["PCI_REQ_A_1_1_ISOLATE_PROCESSES_CDE"] = "PCI_REQ_A_1_1_ISOLATE_PROCESSES_CDE";
116
+ ComplianceCode["PCI_REQ_A_1_2_RESTRICT_ENTITY_ACCESS"] = "PCI_REQ_A_1_2_RESTRICT_ENTITY_ACCESS";
117
+ ComplianceCode["PCI_REQ_A_1_3_ENABLE_UNIQUE_LOGGING"] = "PCI_REQ_A_1_3_ENABLE_UNIQUE_LOGGING";
118
+ ComplianceCode["PCI_REQ_A_1_4_ENABLE_FORENSIC_INVESTIGATION"] = "PCI_REQ_A_1_4_ENABLE_FORENSIC_INVESTIGATION";
119
+ ComplianceCode["PCI_REQ_3_1_MINIMIZE_DATA_STORAGE"] = "PCI_REQ_3_1_MINIMIZE_DATA_STORAGE";
120
+ ComplianceCode["PCI_REQ_3_2_1_NO_FULL_TRACK_DATA"] = "PCI_REQ_3_2_1_NO_FULL_TRACK_DATA";
121
+ ComplianceCode["PCI_REQ_3_2_2_NO_CVV_STORAGE"] = "PCI_REQ_3_2_2_NO_CVV_STORAGE";
122
+ ComplianceCode["PCI_REQ_3_2_3_NO_PIN_STORAGE"] = "PCI_REQ_3_2_3_NO_PIN_STORAGE";
123
+ ComplianceCode["PCI_REQ_3_3_MASK_PAN"] = "PCI_REQ_3_3_MASK_PAN";
124
+ ComplianceCode["PCI_REQ_3_4_RENDER_PAN_UNREADABLE"] = "PCI_REQ_3_4_RENDER_PAN_UNREADABLE";
125
+ ComplianceCode["PCI_REQ_3_5_PROTECT_ENCRYPTION_KEYS"] = "PCI_REQ_3_5_PROTECT_ENCRYPTION_KEYS";
126
+ ComplianceCode["PCI_REQ_3_6_KEY_MANAGEMENT_PROCESSES"] = "PCI_REQ_3_6_KEY_MANAGEMENT_PROCESSES";
127
+ ComplianceCode["PCI_REQ_3_7_DOCUMENT_POLICIES_STORED_DATA"] = "PCI_REQ_3_7_DOCUMENT_POLICIES_STORED_DATA";
128
+ ComplianceCode["PCI_REQ_4_1_STRONG_CRYPTO_TRANSMISSION"] = "PCI_REQ_4_1_STRONG_CRYPTO_TRANSMISSION";
129
+ ComplianceCode["PCI_REQ_4_2_NO_UNPROTECTED_PAN_MESSAGING"] = "PCI_REQ_4_2_NO_UNPROTECTED_PAN_MESSAGING";
130
+ ComplianceCode["PCI_REQ_4_3_ENCRYPTION_POLICIES_TRANSMISSION"] = "PCI_REQ_4_3_ENCRYPTION_POLICIES_TRANSMISSION";
131
+ ComplianceCode["PCI_REQ_5_PROTECT_MALWARE_ANTIVIRUS"] = "PCI_REQ_5_PROTECT_MALWARE_ANTIVIRUS";
132
+ ComplianceCode["PCI_REQ_6_1_IDENTIFY_RANK_VULNERABILITIES"] = "PCI_REQ_6_1_IDENTIFY_RANK_VULNERABILITIES";
133
+ ComplianceCode["PCI_REQ_6_2_INSTALL_SECURITY_PATCHES"] = "PCI_REQ_6_2_INSTALL_SECURITY_PATCHES";
134
+ ComplianceCode["PCI_REQ_6_3_1_SECURE_SOFTWARE_DEVELOPMENT"] = "PCI_REQ_6_3_1_SECURE_SOFTWARE_DEVELOPMENT";
135
+ ComplianceCode["PCI_REQ_6_3_2_CODE_REVIEW"] = "PCI_REQ_6_3_2_CODE_REVIEW";
136
+ ComplianceCode["PCI_REQ_6_4_1_SEPARATE_DEV_PROD"] = "PCI_REQ_6_4_1_SEPARATE_DEV_PROD";
137
+ ComplianceCode["PCI_REQ_6_4_2_SEPARATION_OF_DUTIES"] = "PCI_REQ_6_4_2_SEPARATION_OF_DUTIES";
138
+ ComplianceCode["PCI_REQ_6_4_3_NO_LIVE_DATA_TESTING"] = "PCI_REQ_6_4_3_NO_LIVE_DATA_TESTING";
139
+ ComplianceCode["PCI_REQ_6_4_4_REMOVE_TEST_DATA"] = "PCI_REQ_6_4_4_REMOVE_TEST_DATA";
140
+ ComplianceCode["PCI_REQ_6_5_1_PREVENT_INJECTION"] = "PCI_REQ_6_5_1_PREVENT_INJECTION";
141
+ ComplianceCode["PCI_REQ_6_5_2_PREVENT_BUFFER_OVERFLOW"] = "PCI_REQ_6_5_2_PREVENT_BUFFER_OVERFLOW";
142
+ ComplianceCode["PCI_REQ_6_5_3_SECURE_CRYPTOGRAPHIC_STORAGE"] = "PCI_REQ_6_5_3_SECURE_CRYPTOGRAPHIC_STORAGE";
143
+ ComplianceCode["PCI_REQ_6_5_4_SECURE_COMM_CHANNELS"] = "PCI_REQ_6_5_4_SECURE_COMM_CHANNELS";
144
+ ComplianceCode["PCI_REQ_6_5_5_PROPER_ERROR_HANDLING"] = "PCI_REQ_6_5_5_PROPER_ERROR_HANDLING";
145
+ ComplianceCode["PCI_REQ_6_5_6_ADDRESS_HIGH_RISK_VULNS"] = "PCI_REQ_6_5_6_ADDRESS_HIGH_RISK_VULNS";
146
+ ComplianceCode["PCI_REQ_6_5_7_PREVENT_XSS"] = "PCI_REQ_6_5_7_PREVENT_XSS";
147
+ ComplianceCode["PCI_REQ_6_5_8_PREVENT_ACCESS_CONTROL_VULNS"] = "PCI_REQ_6_5_8_PREVENT_ACCESS_CONTROL_VULNS";
148
+ ComplianceCode["PCI_REQ_6_5_9_PREVENT_CSRF"] = "PCI_REQ_6_5_9_PREVENT_CSRF";
149
+ ComplianceCode["PCI_REQ_6_5_10_PREVENT_BROKEN_AUTH"] = "PCI_REQ_6_5_10_PREVENT_BROKEN_AUTH";
150
+ ComplianceCode["PCI_REQ_6_6_PROTECT_PUBLIC_WEB_APPS"] = "PCI_REQ_6_6_PROTECT_PUBLIC_WEB_APPS";
151
+ ComplianceCode["PCI_REQ_6_7_DOCUMENT_POLICIES_SECURE_SYSTEMS"] = "PCI_REQ_6_7_DOCUMENT_POLICIES_SECURE_SYSTEMS";
152
+ ComplianceCode["PCI_REQ_7_RESTRICT_ACCESS_NEED_TO_KNOW"] = "PCI_REQ_7_RESTRICT_ACCESS_NEED_TO_KNOW";
153
+ ComplianceCode["PCI_REQ_7_1_1_DEFINE_ROLE_BASED_ACCESS"] = "PCI_REQ_7_1_1_DEFINE_ROLE_BASED_ACCESS";
154
+ ComplianceCode["PCI_REQ_7_1_2_RESTRICT_PRIVILEGED_USER"] = "PCI_REQ_7_1_2_RESTRICT_PRIVILEGED_USER";
155
+ ComplianceCode["PCI_REQ_7_1_3_ASSIGN_ACCESS_BY_ROLE"] = "PCI_REQ_7_1_3_ASSIGN_ACCESS_BY_ROLE";
156
+ ComplianceCode["PCI_REQ_7_1_4_DOCUMENTED_APPROVAL"] = "PCI_REQ_7_1_4_DOCUMENTED_APPROVAL";
157
+ ComplianceCode["PCI_REQ_7_2_ACCESS_CONTROL_NEED_TO_KNOW"] = "PCI_REQ_7_2_ACCESS_CONTROL_NEED_TO_KNOW";
158
+ ComplianceCode["PCI_REQ_7_3_DOCUMENT_POLICIES_CARDHOLDER_DATA"] = "PCI_REQ_7_3_DOCUMENT_POLICIES_CARDHOLDER_DATA";
159
+ ComplianceCode["PCI_REQ_8_1_1_ASSIGN_UNIQUE_IDS"] = "PCI_REQ_8_1_1_ASSIGN_UNIQUE_IDS";
160
+ ComplianceCode["PCI_REQ_8_1_2_CONTROL_USER_ID_MANAGEMENT"] = "PCI_REQ_8_1_2_CONTROL_USER_ID_MANAGEMENT";
161
+ ComplianceCode["PCI_REQ_8_1_3_REVOKE_TERMINATED_USERS"] = "PCI_REQ_8_1_3_REVOKE_TERMINATED_USERS";
162
+ ComplianceCode["PCI_REQ_8_1_4_REMOVE_INACTIVE_ACCOUNTS"] = "PCI_REQ_8_1_4_REMOVE_INACTIVE_ACCOUNTS";
163
+ ComplianceCode["PCI_REQ_8_1_5_MANAGE_THIRD_PARTY_IDS"] = "PCI_REQ_8_1_5_MANAGE_THIRD_PARTY_IDS";
164
+ ComplianceCode["PCI_REQ_8_1_6_LIMIT_REPEATED_ACCESS_ATTEMPTS"] = "PCI_REQ_8_1_6_LIMIT_REPEATED_ACCESS_ATTEMPTS";
165
+ ComplianceCode["PCI_REQ_8_1_7_ACCOUNT_LOCKOUT_DURATION"] = "PCI_REQ_8_1_7_ACCOUNT_LOCKOUT_DURATION";
166
+ ComplianceCode["PCI_REQ_8_1_8_SESSION_RE_AUTH_IDLE"] = "PCI_REQ_8_1_8_SESSION_RE_AUTH_IDLE";
167
+ ComplianceCode["PCI_REQ_8_2_1_ENCRYPT_CREDENTIALS"] = "PCI_REQ_8_2_1_ENCRYPT_CREDENTIALS";
168
+ ComplianceCode["PCI_REQ_8_2_2_VERIFY_IDENTITY_BEFORE_CHANGE"] = "PCI_REQ_8_2_2_VERIFY_IDENTITY_BEFORE_CHANGE";
169
+ ComplianceCode["PCI_REQ_8_2_3_PASSWORD_STRENGTH"] = "PCI_REQ_8_2_3_PASSWORD_STRENGTH";
170
+ ComplianceCode["PCI_REQ_8_2_4_PASSWORD_EXPIRATION"] = "PCI_REQ_8_2_4_PASSWORD_EXPIRATION";
171
+ ComplianceCode["PCI_REQ_8_2_5_PASSWORD_REUSE"] = "PCI_REQ_8_2_5_PASSWORD_REUSE";
172
+ ComplianceCode["PCI_REQ_8_2_6_UNIQUE_INITIAL_PASSWORD"] = "PCI_REQ_8_2_6_UNIQUE_INITIAL_PASSWORD";
173
+ ComplianceCode["PCI_REQ_8_3_SECURE_REMOTE_ACCESS_MFA"] = "PCI_REQ_8_3_SECURE_REMOTE_ACCESS_MFA";
174
+ ComplianceCode["PCI_REQ_8_4_DOCUMENT_AUTH_POLICIES"] = "PCI_REQ_8_4_DOCUMENT_AUTH_POLICIES";
175
+ ComplianceCode["PCI_REQ_8_5_1_UNIQUE_CREDS_SERVICE_PROVIDERS"] = "PCI_REQ_8_5_1_UNIQUE_CREDS_SERVICE_PROVIDERS";
176
+ ComplianceCode["PCI_REQ_8_6_AUTH_MECHANISMS_INDIVIDUAL"] = "PCI_REQ_8_6_AUTH_MECHANISMS_INDIVIDUAL";
177
+ ComplianceCode["PCI_REQ_8_7_RESTRICT_DB_ACCESS"] = "PCI_REQ_8_7_RESTRICT_DB_ACCESS";
178
+ ComplianceCode["PCI_REQ_8_8_DOCUMENT_AUTH_POLICIES_COMM"] = "PCI_REQ_8_8_DOCUMENT_AUTH_POLICIES_COMM";
179
+ ComplianceCode["PCI_REQ_9_RESTRICT_PHYSICAL_ACCESS"] = "PCI_REQ_9_RESTRICT_PHYSICAL_ACCESS";
180
+ ComplianceCode["PCI_REQ_10_4_SYNCHRONIZE_CLOCKS"] = "PCI_REQ_10_4_SYNCHRONIZE_CLOCKS";
181
+ ComplianceCode["PCI_REQ_10_5_SECURE_AUDIT_TRAILS"] = "PCI_REQ_10_5_SECURE_AUDIT_TRAILS";
182
+ ComplianceCode["PCI_REQ_10_6_REVIEW_LOGS"] = "PCI_REQ_10_6_REVIEW_LOGS";
183
+ ComplianceCode["PCI_REQ_10_7_RETAIN_AUDIT_TRAIL"] = "PCI_REQ_10_7_RETAIN_AUDIT_TRAIL";
184
+ ComplianceCode["PCI_REQ_10_9_DOCUMENT_ACCESS_MONITORING"] = "PCI_REQ_10_9_DOCUMENT_ACCESS_MONITORING";
185
+ ComplianceCode["PCI_REQ_11_REGULAR_TESTING"] = "PCI_REQ_11_REGULAR_TESTING";
186
+ ComplianceCode["PCI_REQ_12_INFO_SEC_POLICY"] = "PCI_REQ_12_INFO_SEC_POLICY";
187
+ // --- SANS/CWE Top 25 (ComplianceId: 5) ---
188
+ ComplianceCode["SANS_TOP_25_CWE_79_XSS"] = "SANS_TOP_25_CWE_79_XSS";
189
+ ComplianceCode["SANS_TOP_25_CWE_787_OOB_WRITE"] = "SANS_TOP_25_CWE_787_OOB_WRITE";
190
+ ComplianceCode["SANS_TOP_25_CWE_89_SQLI"] = "SANS_TOP_25_CWE_89_SQLI";
191
+ ComplianceCode["SANS_TOP_25_CWE_352_CSRF"] = "SANS_TOP_25_CWE_352_CSRF";
192
+ ComplianceCode["SANS_TOP_25_CWE_22_PATH_TRAVERSAL"] = "SANS_TOP_25_CWE_22_PATH_TRAVERSAL";
193
+ ComplianceCode["SANS_TOP_25_CWE_125_OOB_READ"] = "SANS_TOP_25_CWE_125_OOB_READ";
194
+ ComplianceCode["SANS_TOP_25_CWE_78_OS_COMMAND_INJECTION"] = "SANS_TOP_25_CWE_78_OS_COMMAND_INJECTION";
195
+ ComplianceCode["SANS_TOP_25_CWE_416_USE_AFTER_FREE"] = "SANS_TOP_25_CWE_416_USE_AFTER_FREE";
196
+ ComplianceCode["SANS_TOP_25_CWE_862_MISSING_AUTHZ"] = "SANS_TOP_25_CWE_862_MISSING_AUTHZ";
197
+ ComplianceCode["SANS_TOP_25_CWE_434_UNRESTRICTED_UPLOAD"] = "SANS_TOP_25_CWE_434_UNRESTRICTED_UPLOAD";
198
+ ComplianceCode["SANS_TOP_25_CWE_94_CODE_INJECTION"] = "SANS_TOP_25_CWE_94_CODE_INJECTION";
199
+ ComplianceCode["SANS_TOP_25_CWE_20_INPUT_VALIDATION"] = "SANS_TOP_25_CWE_20_INPUT_VALIDATION";
200
+ ComplianceCode["SANS_TOP_25_CWE_77_COMMAND_INJECTION"] = "SANS_TOP_25_CWE_77_COMMAND_INJECTION";
201
+ ComplianceCode["SANS_TOP_25_CWE_287_IMPROPER_AUTH"] = "SANS_TOP_25_CWE_287_IMPROPER_AUTH";
202
+ ComplianceCode["SANS_TOP_25_CWE_269_PRIVILEGE_MGMT"] = "SANS_TOP_25_CWE_269_PRIVILEGE_MGMT";
203
+ ComplianceCode["SANS_TOP_25_CWE_502_UNTRUSTED_DESER"] = "SANS_TOP_25_CWE_502_UNTRUSTED_DESER";
204
+ ComplianceCode["SANS_TOP_25_CWE_200_INFO_EXPOSURE"] = "SANS_TOP_25_CWE_200_INFO_EXPOSURE";
205
+ ComplianceCode["SANS_TOP_25_CWE_863_INCORRECT_AUTHZ"] = "SANS_TOP_25_CWE_863_INCORRECT_AUTHZ";
206
+ ComplianceCode["SANS_TOP_25_CWE_918_SSRF"] = "SANS_TOP_25_CWE_918_SSRF";
207
+ ComplianceCode["SANS_TOP_25_CWE_119_MEMORY_BOUNDS"] = "SANS_TOP_25_CWE_119_MEMORY_BOUNDS";
208
+ ComplianceCode["SANS_TOP_25_CWE_476_NULL_DEREF"] = "SANS_TOP_25_CWE_476_NULL_DEREF";
209
+ ComplianceCode["SANS_TOP_25_CWE_798_HARDCODED_CREDS"] = "SANS_TOP_25_CWE_798_HARDCODED_CREDS";
210
+ ComplianceCode["SANS_TOP_25_CWE_190_INTEGER_OVERFLOW"] = "SANS_TOP_25_CWE_190_INTEGER_OVERFLOW";
211
+ ComplianceCode["SANS_TOP_25_CWE_400_RESOURCE_CONSUMPTION"] = "SANS_TOP_25_CWE_400_RESOURCE_CONSUMPTION";
212
+ ComplianceCode["SANS_TOP_25_CWE_306_MISSING_AUTH"] = "SANS_TOP_25_CWE_306_MISSING_AUTH";
213
+ })(ComplianceCode || (ComplianceCode = {}));
@@ -0,0 +1,2 @@
1
+ import { ComplianceRegistry } from '../types';
2
+ export declare const GDPR_COMPLIANCE: ComplianceRegistry;
@@ -0,0 +1,252 @@
1
+ import { ComplianceCode } from '../compliance-codes';
2
+ import { ComplianceCategory } from '../types';
3
+ import { idsByCategory, idsByCodes, idsByCodePrefix, mergeIds } from './helpers.js';
4
+ const authIds = idsByCategory('authentication');
5
+ const injectionIds = idsByCategory('injection');
6
+ const xssIds = idsByCategory('xss');
7
+ const ssrfIds = idsByCategory('ssrf');
8
+ const configIds = idsByCategory('configuration');
9
+ const disclosureIds = idsByCategory('information_disclosure');
10
+ const cookieIds = idsByCodePrefix(['COOKIE_']);
11
+ const dirbrowseIds = idsByCodePrefix(['DIRBROWSE_']);
12
+ const jwtIds = idsByCodePrefix(['JWT_']);
13
+ const hstsIds = idsByCodes([
14
+ 'HEADER_MISSING_HSTS',
15
+ 'HEADER_HSTS_BAD_MAX_AGE',
16
+ 'HEADER_HSTS_SHORT_MAX_AGE',
17
+ 'HEADER_HSTS_NO_INCLUDESUBDOMAINS',
18
+ 'HEADER_HSTS_PRELOAD_LOW_MAX_AGE',
19
+ 'HEADER_DRIFT_HSTS',
20
+ ]);
21
+ const cookieSecureIds = idsByCodes([
22
+ 'COOKIE_SAMESITE_NONE_WITHOUT_SECURE',
23
+ 'COOKIE_SESSION_MISSING_SECURE',
24
+ 'COOKIE_MISSING_SECURE',
25
+ 'COOKIE_HOST_PREFIX_INVALID',
26
+ 'COOKIE_SECURE_PREFIX_INVALID',
27
+ ]);
28
+ const allAppSecIds = mergeIds(authIds, injectionIds, xssIds, ssrfIds, configIds, disclosureIds);
29
+ const authAndCookieIds = mergeIds(authIds, cookieIds);
30
+ const accessRestrictionIds = mergeIds(authIds, cookieIds, dirbrowseIds, disclosureIds);
31
+ const cryptoPolicyIds = mergeIds(jwtIds, hstsIds, cookieSecureIds);
32
+ const inputValidationIds = mergeIds(injectionIds, xssIds, ssrfIds);
33
+ const outputValidationIds = mergeIds(injectionIds, xssIds);
34
+ const infoLeakageIds = mergeIds(configIds, disclosureIds);
35
+ export const GDPR_COMPLIANCE = {
36
+ [ComplianceCode.GDPR_A_10_1_1_DOCUMENTED_OPERATING_PROCEDURES]: {
37
+ id: 1,
38
+ code: ComplianceCode.GDPR_A_10_1_1_DOCUMENTED_OPERATING_PROCEDURES,
39
+ title: 'A.10.1.1 Documented Operating Procedures',
40
+ description: 'Clear instructions for how systems and processes work should be written down, kept up to date, and shared with anyone who needs them.',
41
+ complianceStandard: ComplianceCategory.GDPR,
42
+ relatedVulnerabilityIds: [],
43
+ isNotApplicable: true,
44
+ },
45
+ [ComplianceCode.GDPR_A_10_1_2_CHANGE_MANAGEMENT]: {
46
+ id: 2,
47
+ code: ComplianceCode.GDPR_A_10_1_2_CHANGE_MANAGEMENT,
48
+ title: 'A.10.1.2 Change Management',
49
+ description: 'Any updates or changes to systems and IT infrastructure should be carefully managed and monitored to avoid problems.',
50
+ complianceStandard: ComplianceCategory.GDPR,
51
+ relatedVulnerabilityIds: [],
52
+ isNotApplicable: true,
53
+ },
54
+ [ComplianceCode.GDPR_A_10_1_3_SEGREGATION_OF_DUTIES]: {
55
+ id: 3,
56
+ code: ComplianceCode.GDPR_A_10_1_3_SEGREGATION_OF_DUTIES,
57
+ title: 'A.10.1.3 Segregation of Duties',
58
+ description: 'Responsibilities should be divided among different people to prevent unauthorized actions or mistakes that could harm the organization.',
59
+ complianceStandard: ComplianceCategory.GDPR,
60
+ relatedVulnerabilityIds: [],
61
+ isNotApplicable: true,
62
+ },
63
+ [ComplianceCode.GDPR_A_10_1_4_SEPARATION_DEV_TEST_OPS]: {
64
+ id: 4,
65
+ code: ComplianceCode.GDPR_A_10_1_4_SEPARATION_DEV_TEST_OPS,
66
+ title: 'A.10.1.4 Separation of Development, Testing, and Operations',
67
+ description: 'The environments for creating, testing, and running software should be kept separate to minimize risks like unauthorized access or accidental changes to live systems.',
68
+ complianceStandard: ComplianceCategory.GDPR,
69
+ relatedVulnerabilityIds: [],
70
+ isNotApplicable: true,
71
+ },
72
+ [ComplianceCode.GDPR_A_10_2_1_SERVICE_DELIVERY]: {
73
+ id: 5,
74
+ code: ComplianceCode.GDPR_A_10_2_1_SERVICE_DELIVERY,
75
+ title: 'A.10.2.1 Service delivery',
76
+ description: 'Make sure that any security rules, service standards, and delivery expectations agreed with a third party are followed and maintained by them.',
77
+ complianceStandard: ComplianceCategory.GDPR,
78
+ relatedVulnerabilityIds: [],
79
+ isNotApplicable: true,
80
+ },
81
+ [ComplianceCode.GDPR_A_10_3_2_SYSTEM_ACCEPTANCE]: {
82
+ id: 9,
83
+ code: ComplianceCode.GDPR_A_10_3_2_SYSTEM_ACCEPTANCE,
84
+ title: 'A.10.3.2 System acceptance',
85
+ description: 'Before fully using updated systems, ensure they meet security and performance standards through thorough testing.',
86
+ complianceStandard: ComplianceCategory.GDPR,
87
+ relatedVulnerabilityIds: allAppSecIds,
88
+ isNotApplicable: false,
89
+ },
90
+ [ComplianceCode.GDPR_A_11_2_3_USER_PASSWORD_MANAGEMENT]: {
91
+ id: 36,
92
+ code: ComplianceCode.GDPR_A_11_2_3_USER_PASSWORD_MANAGEMENT,
93
+ title: 'A.11.2.3 User Password Management',
94
+ description: 'Manage password distribution securely through a formal process.',
95
+ complianceStandard: ComplianceCategory.GDPR,
96
+ relatedVulnerabilityIds: authAndCookieIds,
97
+ isNotApplicable: true,
98
+ },
99
+ [ComplianceCode.GDPR_A_11_3_1_PASSWORD_USE]: {
100
+ id: 38,
101
+ code: ComplianceCode.GDPR_A_11_3_1_PASSWORD_USE,
102
+ title: 'A.11.3.1 Password Use',
103
+ description: 'Users must follow strong security practices when creating and using passwords.',
104
+ complianceStandard: ComplianceCategory.GDPR,
105
+ relatedVulnerabilityIds: authAndCookieIds,
106
+ isNotApplicable: true,
107
+ },
108
+ [ComplianceCode.GDPR_A_11_4_4_REMOTE_DIAGNOSTIC_PORT_PROTECTION]: {
109
+ id: 44,
110
+ code: ComplianceCode.GDPR_A_11_4_4_REMOTE_DIAGNOSTIC_PORT_PROTECTION,
111
+ title: 'A.11.4.4 Remote Diagnostic and Configuration Port Protection',
112
+ description: 'Control both physical and logical access to ports used for remote diagnostics and system configuration.',
113
+ complianceStandard: ComplianceCategory.GDPR,
114
+ relatedVulnerabilityIds: disclosureIds,
115
+ isNotApplicable: false,
116
+ },
117
+ [ComplianceCode.GDPR_A_11_5_3_PASSWORD_MANAGEMENT_SYSTEM]: {
118
+ id: 50,
119
+ code: ComplianceCode.GDPR_A_11_5_3_PASSWORD_MANAGEMENT_SYSTEM,
120
+ title: 'A.11.5.3 Password Management System',
121
+ description: 'Use an interactive system to manage passwords, ensuring they are strong and meet security standards.',
122
+ complianceStandard: ComplianceCategory.GDPR,
123
+ relatedVulnerabilityIds: authAndCookieIds,
124
+ isNotApplicable: true,
125
+ },
126
+ [ComplianceCode.GDPR_A_11_5_4_USE_OF_SYSTEM_UTILITIES]: {
127
+ id: 51,
128
+ code: ComplianceCode.GDPR_A_11_5_4_USE_OF_SYSTEM_UTILITIES,
129
+ title: 'A.11.5.4 Use of System Utilities',
130
+ description: 'Restrict and control the use of utility programs that can bypass system or application security.',
131
+ complianceStandard: ComplianceCategory.GDPR,
132
+ relatedVulnerabilityIds: accessRestrictionIds,
133
+ isNotApplicable: true,
134
+ },
135
+ [ComplianceCode.GDPR_A_11_5_5_SESSION_TIMEOUT]: {
136
+ id: 52,
137
+ code: ComplianceCode.GDPR_A_11_5_5_SESSION_TIMEOUT,
138
+ title: 'A.11.5.5 Session Time-out',
139
+ description: 'Automatically log users out after a period of inactivity to protect the system.',
140
+ complianceStandard: ComplianceCategory.GDPR,
141
+ relatedVulnerabilityIds: authAndCookieIds,
142
+ isNotApplicable: true,
143
+ },
144
+ [ComplianceCode.GDPR_A_11_5_6_LIMITATION_CONNECTION_TIME]: {
145
+ id: 53,
146
+ code: ComplianceCode.GDPR_A_11_5_6_LIMITATION_CONNECTION_TIME,
147
+ title: 'A.11.5.6 Limitation of Connection Time',
148
+ description: 'Limit connection times, especially for high-risk applications, to enhance security.',
149
+ complianceStandard: ComplianceCategory.GDPR,
150
+ relatedVulnerabilityIds: authAndCookieIds,
151
+ isNotApplicable: true,
152
+ },
153
+ [ComplianceCode.GDPR_A_11_6_1_INFORMATION_ACCESS_RESTRICTION]: {
154
+ id: 54,
155
+ code: ComplianceCode.GDPR_A_11_6_1_INFORMATION_ACCESS_RESTRICTION,
156
+ title: 'A.11.6.1 Information Access Restriction',
157
+ description: 'Limit access to information and system functions based on the access control policy for users and support staff.',
158
+ complianceStandard: ComplianceCategory.GDPR,
159
+ relatedVulnerabilityIds: accessRestrictionIds,
160
+ isNotApplicable: false,
161
+ },
162
+ [ComplianceCode.GDPR_A_12_1_1_SECURITY_REQUIREMENTS_ANALYSIS]: {
163
+ id: 58,
164
+ code: ComplianceCode.GDPR_A_12_1_1_SECURITY_REQUIREMENTS_ANALYSIS,
165
+ title: 'A.12.1.1 Security Requirements Analysis and Specification',
166
+ description: 'When defining business requirements for new or updated information systems, include specific security control requirements to ensure protection.',
167
+ complianceStandard: ComplianceCategory.GDPR,
168
+ relatedVulnerabilityIds: [],
169
+ isNotApplicable: true,
170
+ },
171
+ [ComplianceCode.GDPR_A_12_2_1_INPUT_DATA_VALIDATION]: {
172
+ id: 59,
173
+ code: ComplianceCode.GDPR_A_12_2_1_INPUT_DATA_VALIDATION,
174
+ title: 'A.12.2.1 Input Data Validation',
175
+ description: 'Validate all data entered into applications to ensure it\'s accurate and appropriate.',
176
+ complianceStandard: ComplianceCategory.GDPR,
177
+ relatedVulnerabilityIds: inputValidationIds,
178
+ isNotApplicable: false,
179
+ },
180
+ [ComplianceCode.GDPR_A_12_2_4_OUTPUT_DATA_VALIDATION]: {
181
+ id: 62,
182
+ code: ComplianceCode.GDPR_A_12_2_4_OUTPUT_DATA_VALIDATION,
183
+ title: 'A.12.2.4 Output Data Validation',
184
+ description: 'Validate the data output from applications to confirm that the processed information is correct and relevant.',
185
+ complianceStandard: ComplianceCategory.GDPR,
186
+ relatedVulnerabilityIds: outputValidationIds,
187
+ isNotApplicable: false,
188
+ },
189
+ [ComplianceCode.GDPR_A_12_3_1_POLICY_CRYPTOGRAPHIC_CONTROLS]: {
190
+ id: 63,
191
+ code: ComplianceCode.GDPR_A_12_3_1_POLICY_CRYPTOGRAPHIC_CONTROLS,
192
+ title: 'A.12.3.1 Policy on the Use of Cryptographic Controls',
193
+ description: 'Develop and implement a policy for using cryptographic methods to protect information.',
194
+ complianceStandard: ComplianceCategory.GDPR,
195
+ relatedVulnerabilityIds: cryptoPolicyIds,
196
+ isNotApplicable: false,
197
+ },
198
+ [ComplianceCode.GDPR_A_12_3_2_KEY_MANAGEMENT]: {
199
+ id: 64,
200
+ code: ComplianceCode.GDPR_A_12_3_2_KEY_MANAGEMENT,
201
+ title: 'A.12.3.2 Key Management',
202
+ description: 'Establish a key management system to support the organization\'s use of encryption and cryptographic techniques.',
203
+ complianceStandard: ComplianceCategory.GDPR,
204
+ relatedVulnerabilityIds: cryptoPolicyIds,
205
+ isNotApplicable: false,
206
+ },
207
+ [ComplianceCode.GDPR_A_12_4_3_ACCESS_CONTROL_SOURCE_CODE]: {
208
+ id: 67,
209
+ code: ComplianceCode.GDPR_A_12_4_3_ACCESS_CONTROL_SOURCE_CODE,
210
+ title: 'A.12.4.3 Access Control to Program Source Code',
211
+ description: 'Restrict access to the source code of programs to authorized personnel only.',
212
+ complianceStandard: ComplianceCategory.GDPR,
213
+ relatedVulnerabilityIds: accessRestrictionIds,
214
+ isNotApplicable: true,
215
+ },
216
+ [ComplianceCode.GDPR_A_12_5_3_RESTRICTIONS_CHANGES_SOFTWARE]: {
217
+ id: 70,
218
+ code: ComplianceCode.GDPR_A_12_5_3_RESTRICTIONS_CHANGES_SOFTWARE,
219
+ title: 'A.12.5.3 Restrictions on Changes to Software Packages',
220
+ description: 'Limit modifications to software packages to necessary changes only, and tightly control all adjustments.',
221
+ complianceStandard: ComplianceCategory.GDPR,
222
+ relatedVulnerabilityIds: accessRestrictionIds,
223
+ isNotApplicable: true,
224
+ },
225
+ [ComplianceCode.GDPR_A_12_5_4_INFORMATION_LEAKAGE]: {
226
+ id: 71,
227
+ code: ComplianceCode.GDPR_A_12_5_4_INFORMATION_LEAKAGE,
228
+ title: 'A.12.5.4 Information Leakage',
229
+ description: 'Prevent any opportunities that could lead to unauthorized information leakage.',
230
+ complianceStandard: ComplianceCategory.GDPR,
231
+ relatedVulnerabilityIds: infoLeakageIds,
232
+ isNotApplicable: true,
233
+ },
234
+ [ComplianceCode.GDPR_A_12_5_5_OUTSOURCED_SOFTWARE_DEV]: {
235
+ id: 72,
236
+ code: ComplianceCode.GDPR_A_12_5_5_OUTSOURCED_SOFTWARE_DEV,
237
+ title: 'A.12.5.5 Outsourced Software Development',
238
+ description: 'Supervise and monitor outsourced software development activities to ensure they meet the organization s security and quality standards.',
239
+ complianceStandard: ComplianceCategory.GDPR,
240
+ relatedVulnerabilityIds: [],
241
+ isNotApplicable: false,
242
+ },
243
+ [ComplianceCode.GDPR_A_12_6_1_CONTROL_TECHNICAL_VULNERABILITIES]: {
244
+ id: 73,
245
+ code: ComplianceCode.GDPR_A_12_6_1_CONTROL_TECHNICAL_VULNERABILITIES,
246
+ title: 'A.12.6.1 Control of Technical Vulnerabilities',
247
+ description: 'Stay informed about technical vulnerabilities in the systems being used, assess the organization\'s exposure to them, and take necessary actions to manage the associated risks.',
248
+ complianceStandard: ComplianceCategory.GDPR,
249
+ relatedVulnerabilityIds: allAppSecIds,
250
+ isNotApplicable: true,
251
+ },
252
+ };
@@ -0,0 +1,6 @@
1
+ import type { VulnerabilityCategory } from '../types.js';
2
+ export declare const allVulnerabilityIds: () => number[];
3
+ export declare const idsByCategory: (category: VulnerabilityCategory) => number[];
4
+ export declare const idsByCodes: (codes: string[]) => number[];
5
+ export declare const idsByCodePrefix: (prefixes: string[]) => number[];
6
+ export declare const mergeIds: (...lists: number[][]) => number[];
@@ -0,0 +1,11 @@
1
+ import { VULNERABILITY_REGISTRY } from '../index.js';
2
+ const ALL_VULNERABILITIES = Object.values(VULNERABILITY_REGISTRY);
3
+ const uniqueSorted = (ids) => Array.from(new Set(ids)).sort((a, b) => a - b);
4
+ export const allVulnerabilityIds = () => uniqueSorted(ALL_VULNERABILITIES.map(v => v.id));
5
+ export const idsByCategory = (category) => uniqueSorted(ALL_VULNERABILITIES.filter(v => v.category === category).map(v => v.id));
6
+ export const idsByCodes = (codes) => uniqueSorted(codes
7
+ .map(code => VULNERABILITY_REGISTRY[code]?.id)
8
+ .filter((id) => typeof id === 'number'));
9
+ export const idsByCodePrefix = (prefixes) => uniqueSorted(ALL_VULNERABILITIES.filter(v => prefixes.some(prefix => v.code.startsWith(prefix)))
10
+ .map(v => v.id));
11
+ export const mergeIds = (...lists) => uniqueSorted(lists.flat());
@@ -0,0 +1,2 @@
1
+ import { ComplianceRegistry } from '../types';
2
+ export declare const HIPAA_COMPLIANCE: ComplianceRegistry;