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