@zerothreatai/vulnerability-registry 5.0.0 → 7.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.
- package/dist/compliance-codes.d.ts +207 -0
- package/dist/compliance-codes.js +213 -0
- package/dist/compliances/gdpr.d.ts +2 -0
- package/dist/compliances/gdpr.js +252 -0
- package/dist/compliances/helpers.d.ts +6 -0
- package/dist/compliances/helpers.js +12 -0
- package/dist/compliances/hipaa.d.ts +2 -0
- package/dist/compliances/hipaa.js +187 -0
- package/dist/compliances/index.d.ts +5 -0
- package/dist/compliances/index.js +5 -0
- package/dist/compliances/owasp.d.ts +2 -0
- package/dist/compliances/owasp.js +127 -0
- package/dist/compliances/pci-dss.d.ts +2 -0
- package/dist/compliances/pci-dss.js +260 -0
- package/dist/compliances/sans-top-25.d.ts +2 -0
- package/dist/compliances/sans-top-25.js +242 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.js +7 -1
- package/dist/types.d.ts +33 -0
- package/dist/types.js +11 -1
- package/dist-cjs/compliance-codes.js +216 -0
- package/dist-cjs/compliances/gdpr.js +255 -0
- package/dist-cjs/compliances/helpers.js +20 -0
- package/dist-cjs/compliances/hipaa.js +190 -0
- package/dist-cjs/compliances/index.js +13 -0
- package/dist-cjs/compliances/owasp.js +130 -0
- package/dist-cjs/compliances/pci-dss.js +263 -0
- package/dist-cjs/compliances/sans-top-25.js +245 -0
- package/dist-cjs/index.js +12 -1
- package/dist-cjs/types.js +12 -0
- package/package.json +6 -1
- package/src/compliance-codes.ts +216 -0
- package/src/compliances/README.md +82 -0
- package/src/compliances/gdpr.ts +258 -0
- package/src/compliances/helpers.ts +31 -0
- package/src/compliances/hipaa.ts +193 -0
- package/src/compliances/index.ts +5 -0
- package/src/compliances/owasp.ts +133 -0
- package/src/compliances/pci-dss.ts +266 -0
- package/src/compliances/sans-top-25.ts +246 -0
- package/src/index.ts +12 -1
- package/src/types.ts +40 -4
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SANS_TOP_25_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 disclosureIds = (0, helpers_js_1.idsByCategory)('information_disclosure');
|
|
12
|
+
const accessControlIds = (0, helpers_js_1.idsByCodePrefix)(['BAC_', 'MASSASSIGN_']);
|
|
13
|
+
const sqliIds = (0, helpers_js_1.idsByCodePrefix)(['SQLI_']);
|
|
14
|
+
const cmdiIds = (0, helpers_js_1.idsByCodePrefix)(['CMDI_']);
|
|
15
|
+
const sstiIds = (0, helpers_js_1.idsByCodePrefix)(['SSTI_']);
|
|
16
|
+
const lfiIds = (0, helpers_js_1.idsByCodePrefix)(['LFI_']);
|
|
17
|
+
const deserializationIds = (0, helpers_js_1.idsByCodePrefix)(['DESER_']);
|
|
18
|
+
const inputValidationIds = (0, helpers_js_1.mergeIds)(injectionIds, xssIds, ssrfIds);
|
|
19
|
+
exports.SANS_TOP_25_COMPLIANCE = {
|
|
20
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_79_XSS]: {
|
|
21
|
+
id: 181,
|
|
22
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_79_XSS,
|
|
23
|
+
title: 'CWE-79 Cross-site Scripting',
|
|
24
|
+
description: 'Improper Neutralization of Input During Web Page Generation (Cross-site Scripting).',
|
|
25
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
26
|
+
relatedVulnerabilityIds: xssIds,
|
|
27
|
+
isNotApplicable: false,
|
|
28
|
+
},
|
|
29
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_787_OOB_WRITE]: {
|
|
30
|
+
id: 182,
|
|
31
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_787_OOB_WRITE,
|
|
32
|
+
title: 'CWE-787 Out-of-bounds Write',
|
|
33
|
+
description: 'Out-of-bounds Write.',
|
|
34
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
35
|
+
relatedVulnerabilityIds: [],
|
|
36
|
+
isNotApplicable: true,
|
|
37
|
+
},
|
|
38
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_89_SQLI]: {
|
|
39
|
+
id: 183,
|
|
40
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_89_SQLI,
|
|
41
|
+
title: 'CWE-89 SQL Injection',
|
|
42
|
+
description: 'Improper Neutralization of Special Elements used in an SQL Command (SQL Injection).',
|
|
43
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
44
|
+
relatedVulnerabilityIds: sqliIds,
|
|
45
|
+
isNotApplicable: false,
|
|
46
|
+
},
|
|
47
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_352_CSRF]: {
|
|
48
|
+
id: 184,
|
|
49
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_352_CSRF,
|
|
50
|
+
title: 'CWE-352 Cross-Site Request Forgery',
|
|
51
|
+
description: 'Cross-Site Request Forgery (CSRF).',
|
|
52
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
53
|
+
relatedVulnerabilityIds: [],
|
|
54
|
+
isNotApplicable: true,
|
|
55
|
+
},
|
|
56
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_22_PATH_TRAVERSAL]: {
|
|
57
|
+
id: 185,
|
|
58
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_22_PATH_TRAVERSAL,
|
|
59
|
+
title: 'CWE-22 Path Traversal',
|
|
60
|
+
description: 'Improper Limitation of a Pathname to a Restricted Directory (Path Traversal).',
|
|
61
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
62
|
+
relatedVulnerabilityIds: lfiIds,
|
|
63
|
+
isNotApplicable: false,
|
|
64
|
+
},
|
|
65
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_125_OOB_READ]: {
|
|
66
|
+
id: 186,
|
|
67
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_125_OOB_READ,
|
|
68
|
+
title: 'CWE-125 Out-of-bounds Read',
|
|
69
|
+
description: 'Out-of-bounds Read.',
|
|
70
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
71
|
+
relatedVulnerabilityIds: [],
|
|
72
|
+
isNotApplicable: true,
|
|
73
|
+
},
|
|
74
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_78_OS_COMMAND_INJECTION]: {
|
|
75
|
+
id: 187,
|
|
76
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_78_OS_COMMAND_INJECTION,
|
|
77
|
+
title: 'CWE-78 OS Command Injection',
|
|
78
|
+
description: 'Improper Neutralization of Special Elements used in an OS Command (OS Command Injection).',
|
|
79
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
80
|
+
relatedVulnerabilityIds: cmdiIds,
|
|
81
|
+
isNotApplicable: false,
|
|
82
|
+
},
|
|
83
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_416_USE_AFTER_FREE]: {
|
|
84
|
+
id: 188,
|
|
85
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_416_USE_AFTER_FREE,
|
|
86
|
+
title: 'CWE-416 Use After Free',
|
|
87
|
+
description: 'Use After Free.',
|
|
88
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
89
|
+
relatedVulnerabilityIds: [],
|
|
90
|
+
isNotApplicable: true,
|
|
91
|
+
},
|
|
92
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_862_MISSING_AUTHZ]: {
|
|
93
|
+
id: 189,
|
|
94
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_862_MISSING_AUTHZ,
|
|
95
|
+
title: 'CWE-862 Missing Authorization',
|
|
96
|
+
description: 'Missing Authorization.',
|
|
97
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
98
|
+
relatedVulnerabilityIds: accessControlIds,
|
|
99
|
+
isNotApplicable: false,
|
|
100
|
+
},
|
|
101
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_434_UNRESTRICTED_UPLOAD]: {
|
|
102
|
+
id: 190,
|
|
103
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_434_UNRESTRICTED_UPLOAD,
|
|
104
|
+
title: 'CWE-434 Unrestricted File Upload',
|
|
105
|
+
description: 'Unrestricted Upload of File with Dangerous Type.',
|
|
106
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
107
|
+
relatedVulnerabilityIds: [],
|
|
108
|
+
isNotApplicable: true,
|
|
109
|
+
},
|
|
110
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_94_CODE_INJECTION]: {
|
|
111
|
+
id: 191,
|
|
112
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_94_CODE_INJECTION,
|
|
113
|
+
title: 'CWE-94 Code Injection',
|
|
114
|
+
description: 'Improper Control of Generation of Code (Code Injection).',
|
|
115
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
116
|
+
relatedVulnerabilityIds: sstiIds,
|
|
117
|
+
isNotApplicable: false,
|
|
118
|
+
},
|
|
119
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_20_INPUT_VALIDATION]: {
|
|
120
|
+
id: 192,
|
|
121
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_20_INPUT_VALIDATION,
|
|
122
|
+
title: 'CWE-20 Improper Input Validation',
|
|
123
|
+
description: 'Improper Input Validation.',
|
|
124
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
125
|
+
relatedVulnerabilityIds: inputValidationIds,
|
|
126
|
+
isNotApplicable: false,
|
|
127
|
+
},
|
|
128
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_77_COMMAND_INJECTION]: {
|
|
129
|
+
id: 193,
|
|
130
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_77_COMMAND_INJECTION,
|
|
131
|
+
title: 'CWE-77 Command Injection',
|
|
132
|
+
description: 'Improper Neutralization of Special Elements used in a Command (Command Injection).',
|
|
133
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
134
|
+
relatedVulnerabilityIds: cmdiIds,
|
|
135
|
+
isNotApplicable: false,
|
|
136
|
+
},
|
|
137
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_287_IMPROPER_AUTH]: {
|
|
138
|
+
id: 194,
|
|
139
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_287_IMPROPER_AUTH,
|
|
140
|
+
title: 'CWE-287 Improper Authentication',
|
|
141
|
+
description: 'Improper Authentication.',
|
|
142
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
143
|
+
relatedVulnerabilityIds: authIds,
|
|
144
|
+
isNotApplicable: false,
|
|
145
|
+
},
|
|
146
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_269_PRIVILEGE_MGMT]: {
|
|
147
|
+
id: 195,
|
|
148
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_269_PRIVILEGE_MGMT,
|
|
149
|
+
title: 'CWE-269 Improper Privilege Management',
|
|
150
|
+
description: 'Improper Privilege Management.',
|
|
151
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
152
|
+
relatedVulnerabilityIds: accessControlIds,
|
|
153
|
+
isNotApplicable: false,
|
|
154
|
+
},
|
|
155
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_502_UNTRUSTED_DESER]: {
|
|
156
|
+
id: 196,
|
|
157
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_502_UNTRUSTED_DESER,
|
|
158
|
+
title: 'CWE-502 Deserialization of Untrusted Data',
|
|
159
|
+
description: 'Deserialization of Untrusted Data.',
|
|
160
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
161
|
+
relatedVulnerabilityIds: deserializationIds,
|
|
162
|
+
isNotApplicable: false,
|
|
163
|
+
},
|
|
164
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_200_INFO_EXPOSURE]: {
|
|
165
|
+
id: 197,
|
|
166
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_200_INFO_EXPOSURE,
|
|
167
|
+
title: 'CWE-200 Exposure of Sensitive Information',
|
|
168
|
+
description: 'Exposure of Sensitive Information to an Unauthorized Actor.',
|
|
169
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
170
|
+
relatedVulnerabilityIds: disclosureIds,
|
|
171
|
+
isNotApplicable: false,
|
|
172
|
+
},
|
|
173
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_863_INCORRECT_AUTHZ]: {
|
|
174
|
+
id: 198,
|
|
175
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_863_INCORRECT_AUTHZ,
|
|
176
|
+
title: 'CWE-863 Incorrect Authorization',
|
|
177
|
+
description: 'Incorrect Authorization.',
|
|
178
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
179
|
+
relatedVulnerabilityIds: accessControlIds,
|
|
180
|
+
isNotApplicable: false,
|
|
181
|
+
},
|
|
182
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_918_SSRF]: {
|
|
183
|
+
id: 199,
|
|
184
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_918_SSRF,
|
|
185
|
+
title: 'CWE-918 Server-Side Request Forgery',
|
|
186
|
+
description: 'Server-Side Request Forgery (SSRF).',
|
|
187
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
188
|
+
relatedVulnerabilityIds: ssrfIds,
|
|
189
|
+
isNotApplicable: false,
|
|
190
|
+
},
|
|
191
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_119_MEMORY_BOUNDS]: {
|
|
192
|
+
id: 200,
|
|
193
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_119_MEMORY_BOUNDS,
|
|
194
|
+
title: 'CWE-119 Memory Buffer Bounds',
|
|
195
|
+
description: 'Improper Restriction of Operations within the Bounds of a Memory Buffer.',
|
|
196
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
197
|
+
relatedVulnerabilityIds: [],
|
|
198
|
+
isNotApplicable: true,
|
|
199
|
+
},
|
|
200
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_476_NULL_DEREF]: {
|
|
201
|
+
id: 201,
|
|
202
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_476_NULL_DEREF,
|
|
203
|
+
title: 'CWE-476 NULL Pointer Dereference',
|
|
204
|
+
description: 'NULL Pointer Dereference.',
|
|
205
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
206
|
+
relatedVulnerabilityIds: [],
|
|
207
|
+
isNotApplicable: true,
|
|
208
|
+
},
|
|
209
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_798_HARDCODED_CREDS]: {
|
|
210
|
+
id: 202,
|
|
211
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_798_HARDCODED_CREDS,
|
|
212
|
+
title: 'CWE-798 Use of Hard-coded Credentials',
|
|
213
|
+
description: 'Use of Hard-coded Credentials.',
|
|
214
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
215
|
+
relatedVulnerabilityIds: [],
|
|
216
|
+
isNotApplicable: true,
|
|
217
|
+
},
|
|
218
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_190_INTEGER_OVERFLOW]: {
|
|
219
|
+
id: 203,
|
|
220
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_190_INTEGER_OVERFLOW,
|
|
221
|
+
title: 'CWE-190 Integer Overflow or Wraparound',
|
|
222
|
+
description: 'Integer Overflow or Wraparound.',
|
|
223
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
224
|
+
relatedVulnerabilityIds: [],
|
|
225
|
+
isNotApplicable: true,
|
|
226
|
+
},
|
|
227
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_400_RESOURCE_CONSUMPTION]: {
|
|
228
|
+
id: 204,
|
|
229
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_400_RESOURCE_CONSUMPTION,
|
|
230
|
+
title: 'CWE-400 Uncontrolled Resource Consumption',
|
|
231
|
+
description: 'Uncontrolled Resource Consumption.',
|
|
232
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
233
|
+
relatedVulnerabilityIds: [],
|
|
234
|
+
isNotApplicable: true,
|
|
235
|
+
},
|
|
236
|
+
[compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_306_MISSING_AUTH]: {
|
|
237
|
+
id: 205,
|
|
238
|
+
code: compliance_codes_1.ComplianceCode.SANS_TOP_25_CWE_306_MISSING_AUTH,
|
|
239
|
+
title: 'CWE-306 Missing Authentication for Critical Function',
|
|
240
|
+
description: 'Missing Authentication for Critical Function.',
|
|
241
|
+
complianceStandard: types_1.ComplianceCategory.SANS_TOP_25,
|
|
242
|
+
relatedVulnerabilityIds: authIds,
|
|
243
|
+
isNotApplicable: true,
|
|
244
|
+
},
|
|
245
|
+
};
|
package/dist-cjs/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Exports all vulnerability codes, definitions, and lookup utilities
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.SCANNER_REGISTRY = exports.CATEGORY_REGISTRY = exports.SENSITIVE_PATH_VULNERABILITIES = exports.CONFIG_VULNERABILITIES = exports.AUTH_VULNERABILITIES = exports.SSRF_VULNERABILITIES = exports.XSS_VULNERABILITIES = exports.INJECTION_VULNERABILITIES = exports.VulnerabilityCode = exports.VULNERABILITY_REGISTRY = void 0;
|
|
8
|
+
exports.SCANNER_REGISTRY = exports.CATEGORY_REGISTRY = exports.SANS_TOP_25_COMPLIANCE = exports.PCI_DSS_COMPLIANCE = exports.GDPR_COMPLIANCE = exports.HIPAA_COMPLIANCE = exports.OWASP_COMPLIANCE = exports.SENSITIVE_PATH_VULNERABILITIES = exports.CONFIG_VULNERABILITIES = exports.AUTH_VULNERABILITIES = exports.SSRF_VULNERABILITIES = exports.XSS_VULNERABILITIES = exports.INJECTION_VULNERABILITIES = exports.VulnerabilityCode = exports.VULNERABILITY_REGISTRY = void 0;
|
|
9
9
|
exports.getVulnerabilityDefinition = getVulnerabilityDefinition;
|
|
10
10
|
exports.getVulnerabilitiesByScanner = getVulnerabilitiesByScanner;
|
|
11
11
|
exports.getVulnerabilitiesByCategory = getVulnerabilitiesByCategory;
|
|
@@ -31,6 +31,12 @@ const category_js_1 = require("./category.js");
|
|
|
31
31
|
Object.defineProperty(exports, "CATEGORY_REGISTRY", { enumerable: true, get: function () { return category_js_1.CATEGORY_REGISTRY; } });
|
|
32
32
|
const scanner_js_1 = require("./scanner.js");
|
|
33
33
|
Object.defineProperty(exports, "SCANNER_REGISTRY", { enumerable: true, get: function () { return scanner_js_1.SCANNER_REGISTRY; } });
|
|
34
|
+
const index_js_1 = require("./compliances/index.js");
|
|
35
|
+
Object.defineProperty(exports, "OWASP_COMPLIANCE", { enumerable: true, get: function () { return index_js_1.OWASP_COMPLIANCE; } });
|
|
36
|
+
Object.defineProperty(exports, "HIPAA_COMPLIANCE", { enumerable: true, get: function () { return index_js_1.HIPAA_COMPLIANCE; } });
|
|
37
|
+
Object.defineProperty(exports, "GDPR_COMPLIANCE", { enumerable: true, get: function () { return index_js_1.GDPR_COMPLIANCE; } });
|
|
38
|
+
Object.defineProperty(exports, "PCI_DSS_COMPLIANCE", { enumerable: true, get: function () { return index_js_1.PCI_DSS_COMPLIANCE; } });
|
|
39
|
+
Object.defineProperty(exports, "SANS_TOP_25_COMPLIANCE", { enumerable: true, get: function () { return index_js_1.SANS_TOP_25_COMPLIANCE; } });
|
|
34
40
|
/**
|
|
35
41
|
* Complete vulnerability registry combining all categories
|
|
36
42
|
*/
|
|
@@ -108,6 +114,11 @@ exports.default = {
|
|
|
108
114
|
getAllVulnerabilityCodes,
|
|
109
115
|
getVulnerabilityCount,
|
|
110
116
|
createFinding,
|
|
117
|
+
OWASP_COMPLIANCE: index_js_1.OWASP_COMPLIANCE,
|
|
118
|
+
HIPAA_COMPLIANCE: index_js_1.HIPAA_COMPLIANCE,
|
|
119
|
+
GDPR_COMPLIANCE: index_js_1.GDPR_COMPLIANCE,
|
|
120
|
+
PCI_DSS_COMPLIANCE: index_js_1.PCI_DSS_COMPLIANCE,
|
|
121
|
+
SANS_TOP_25_COMPLIANCE: index_js_1.SANS_TOP_25_COMPLIANCE,
|
|
111
122
|
CATEGORY_REGISTRY: category_js_1.CATEGORY_REGISTRY,
|
|
112
123
|
SCANNER_REGISTRY: scanner_js_1.SCANNER_REGISTRY,
|
|
113
124
|
};
|
package/dist-cjs/types.js
CHANGED
|
@@ -5,3 +5,15 @@
|
|
|
5
5
|
* Central type definitions for all vulnerability definitions.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ComplianceCategory = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Compliance standards
|
|
11
|
+
*/
|
|
12
|
+
var ComplianceCategory;
|
|
13
|
+
(function (ComplianceCategory) {
|
|
14
|
+
ComplianceCategory["OWASP"] = "OWASP";
|
|
15
|
+
ComplianceCategory["HIPAA"] = "HIPAA";
|
|
16
|
+
ComplianceCategory["GDPR"] = "GDPR";
|
|
17
|
+
ComplianceCategory["PCIDSS"] = "PCIDSS";
|
|
18
|
+
ComplianceCategory["SANS_TOP_25"] = "SANS_TOP_25";
|
|
19
|
+
})(ComplianceCategory || (exports.ComplianceCategory = ComplianceCategory = {}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zerothreatai/vulnerability-registry",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
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",
|
|
@@ -30,6 +30,11 @@
|
|
|
30
30
|
"types": "./dist/error-codes.d.ts",
|
|
31
31
|
"import": "./dist/error-codes.js",
|
|
32
32
|
"require": "./dist-cjs/error-codes.js"
|
|
33
|
+
},
|
|
34
|
+
"./compliances": {
|
|
35
|
+
"types": "./dist/compliances/index.d.ts",
|
|
36
|
+
"import": "./dist/compliances/index.js",
|
|
37
|
+
"require": "./dist-cjs/compliances/index.js"
|
|
33
38
|
}
|
|
34
39
|
},
|
|
35
40
|
"devDependencies": {
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
export enum ComplianceCode {
|
|
2
|
+
// --- OWASP (ComplianceId: 1) ---
|
|
3
|
+
OWASP_A1_BROKEN_ACCESS_CONTROL = 'OWASP_A1_BROKEN_ACCESS_CONTROL',
|
|
4
|
+
OWASP_A2_CRYPTOGRAPHIC_FAILURES = 'OWASP_A2_CRYPTOGRAPHIC_FAILURES',
|
|
5
|
+
OWASP_A3_INJECTION_FLAWS = 'OWASP_A3_INJECTION_FLAWS',
|
|
6
|
+
OWASP_A4_INSECURE_DESIGN = 'OWASP_A4_INSECURE_DESIGN',
|
|
7
|
+
OWASP_A5_SECURITY_MISCONFIGURATION = 'OWASP_A5_SECURITY_MISCONFIGURATION',
|
|
8
|
+
OWASP_A6_VULNERABLE_OUTDATED_COMPONENTS = 'OWASP_A6_VULNERABLE_OUTDATED_COMPONENTS',
|
|
9
|
+
OWASP_A7_IDENTIFICATION_AUTH_FAILURE = 'OWASP_A7_IDENTIFICATION_AUTH_FAILURE',
|
|
10
|
+
OWASP_A8_SOFTWARE_DATA_INTEGRITY_FAILURE = 'OWASP_A8_SOFTWARE_DATA_INTEGRITY_FAILURE',
|
|
11
|
+
OWASP_A9_LOGGING_MONITORING_FAILURES = 'OWASP_A9_LOGGING_MONITORING_FAILURES',
|
|
12
|
+
OWASP_A10_SSRF = 'OWASP_A10_SSRF',
|
|
13
|
+
|
|
14
|
+
// --- HIPAA (ComplianceId: 2) ---
|
|
15
|
+
HIPAA_164_105_PROTECT_PRIVATE_HEALTH_INFO = 'HIPAA_164_105_PROTECT_PRIVATE_HEALTH_INFO',
|
|
16
|
+
HIPAA_164_306_A_1_KEEP_INFO_SAFE = 'HIPAA_164_306_A_1_KEEP_INFO_SAFE',
|
|
17
|
+
HIPAA_164_306_A_2_PROTECT_AGAINST_THREATS = 'HIPAA_164_306_A_2_PROTECT_AGAINST_THREATS',
|
|
18
|
+
HIPAA_164_306_A_3_STOP_UNAUTHORIZED_ACCESS = 'HIPAA_164_306_A_3_STOP_UNAUTHORIZED_ACCESS',
|
|
19
|
+
HIPAA_164_308_A_1_I_PREVENT_FIX_PROBLEMS = 'HIPAA_164_308_A_1_I_PREVENT_FIX_PROBLEMS',
|
|
20
|
+
HIPAA_164_308_A_1_II_B_LOWER_SECURITY_RISKS = 'HIPAA_164_308_A_1_II_B_LOWER_SECURITY_RISKS',
|
|
21
|
+
HIPAA_164_308_A_5_II_B_BLOCK_MALWARE = 'HIPAA_164_308_A_5_II_B_BLOCK_MALWARE',
|
|
22
|
+
HIPAA_164_308_A_5_II_C_WATCH_LOGINS = 'HIPAA_164_308_A_5_II_C_WATCH_LOGINS',
|
|
23
|
+
HIPAA_164_308_A_5_II_D_PROTECT_PASSWORDS = 'HIPAA_164_308_A_5_II_D_PROTECT_PASSWORDS',
|
|
24
|
+
HIPAA_164_308_A_7_I_PLAN_EMERGENCIES = 'HIPAA_164_308_A_7_I_PLAN_EMERGENCIES',
|
|
25
|
+
HIPAA_164_312_A_1_CONTROL_ACCESS = 'HIPAA_164_312_A_1_CONTROL_ACCESS',
|
|
26
|
+
HIPAA_164_312_C_1_PREVENT_CHANGES = 'HIPAA_164_312_C_1_PREVENT_CHANGES',
|
|
27
|
+
HIPAA_164_312_D_VERIFY_IDENTITY = 'HIPAA_164_312_D_VERIFY_IDENTITY',
|
|
28
|
+
HIPAA_164_312_E_1_PROTECT_ONLINE_INFO = 'HIPAA_164_312_E_1_PROTECT_ONLINE_INFO',
|
|
29
|
+
HIPAA_164_312_E_2_I_PREVENT_UNAUTHORIZED_CHANGES = 'HIPAA_164_312_E_2_I_PREVENT_UNAUTHORIZED_CHANGES',
|
|
30
|
+
HIPAA_164_312_E_2_II_USE_ENCRYPTION = 'HIPAA_164_312_E_2_II_USE_ENCRYPTION',
|
|
31
|
+
HIPAA_164_530_C_2_I_KEEP_INFO_SHARED = 'HIPAA_164_530_C_2_I_KEEP_INFO_SHARED',
|
|
32
|
+
|
|
33
|
+
// --- GDPR (ComplianceId: 3) ---
|
|
34
|
+
GDPR_A_10_1_1_DOCUMENTED_OPERATING_PROCEDURES = 'GDPR_A_10_1_1_DOCUMENTED_OPERATING_PROCEDURES',
|
|
35
|
+
GDPR_A_10_1_2_CHANGE_MANAGEMENT = 'GDPR_A_10_1_2_CHANGE_MANAGEMENT',
|
|
36
|
+
GDPR_A_10_1_3_SEGREGATION_OF_DUTIES = 'GDPR_A_10_1_3_SEGREGATION_OF_DUTIES',
|
|
37
|
+
GDPR_A_10_1_4_SEPARATION_DEV_TEST_OPS = 'GDPR_A_10_1_4_SEPARATION_DEV_TEST_OPS',
|
|
38
|
+
GDPR_A_10_2_1_SERVICE_DELIVERY = 'GDPR_A_10_2_1_SERVICE_DELIVERY',
|
|
39
|
+
GDPR_A_10_2_2_MONITORING_THIRD_PARTY_SERVICES = 'GDPR_A_10_2_2_MONITORING_THIRD_PARTY_SERVICES',
|
|
40
|
+
GDPR_A_10_2_3_MANAGING_CHANGES_THIRD_PARTY = 'GDPR_A_10_2_3_MANAGING_CHANGES_THIRD_PARTY',
|
|
41
|
+
GDPR_A_10_3_1_CAPACITY_MANAGEMENT = 'GDPR_A_10_3_1_CAPACITY_MANAGEMENT',
|
|
42
|
+
GDPR_A_10_3_2_SYSTEM_ACCEPTANCE = 'GDPR_A_10_3_2_SYSTEM_ACCEPTANCE',
|
|
43
|
+
GDPR_A_10_4_1_CONTROLS_AGAINST_MALICIOUS_CODE = 'GDPR_A_10_4_1_CONTROLS_AGAINST_MALICIOUS_CODE',
|
|
44
|
+
GDPR_A_10_4_2_CONTROLS_AGAINST_MOBILE_CODE = 'GDPR_A_10_4_2_CONTROLS_AGAINST_MOBILE_CODE',
|
|
45
|
+
GDPR_A_10_5_1_INFORMATION_BACK_UP = 'GDPR_A_10_5_1_INFORMATION_BACK_UP',
|
|
46
|
+
GDPR_A_10_6_1_NETWORK_CONTROLS = 'GDPR_A_10_6_1_NETWORK_CONTROLS',
|
|
47
|
+
GDPR_A_10_6_2_SECURITY_OF_NETWORK_SERVICES = 'GDPR_A_10_6_2_SECURITY_OF_NETWORK_SERVICES',
|
|
48
|
+
GDPR_A_10_7_1_MANAGEMENT_REMOVABLE_MEDIA = 'GDPR_A_10_7_1_MANAGEMENT_REMOVABLE_MEDIA',
|
|
49
|
+
GDPR_A_10_7_2_DISPOSAL_OF_MEDIA = 'GDPR_A_10_7_2_DISPOSAL_OF_MEDIA',
|
|
50
|
+
GDPR_A_10_7_3_INFORMATION_HANDLING_PROCEDURES = 'GDPR_A_10_7_3_INFORMATION_HANDLING_PROCEDURES',
|
|
51
|
+
GDPR_A_10_7_4_SECURITY_SYSTEM_DOCUMENTATION = 'GDPR_A_10_7_4_SECURITY_SYSTEM_DOCUMENTATION',
|
|
52
|
+
GDPR_A_10_8_1_INFO_EXCHANGE_POLICIES = 'GDPR_A_10_8_1_INFO_EXCHANGE_POLICIES',
|
|
53
|
+
GDPR_A_10_8_2_EXCHANGE_AGREEMENTS = 'GDPR_A_10_8_2_EXCHANGE_AGREEMENTS',
|
|
54
|
+
GDPR_A_10_8_3_PHYSICAL_MEDIA_IN_TRANSIT = 'GDPR_A_10_8_3_PHYSICAL_MEDIA_IN_TRANSIT',
|
|
55
|
+
GDPR_A_10_8_4_ELECTRONIC_MESSAGING = 'GDPR_A_10_8_4_ELECTRONIC_MESSAGING',
|
|
56
|
+
GDPR_A_10_8_5_BUSINESS_INFORMATION_SYSTEMS = 'GDPR_A_10_8_5_BUSINESS_INFORMATION_SYSTEMS',
|
|
57
|
+
GDPR_A_10_9_1_ELECTRONIC_COMMERCE = 'GDPR_A_10_9_1_ELECTRONIC_COMMERCE',
|
|
58
|
+
GDPR_A_10_9_2_ONLINE_TRANSACTIONS = 'GDPR_A_10_9_2_ONLINE_TRANSACTIONS',
|
|
59
|
+
GDPR_A_10_9_3_PUBLICLY_AVAILABLE = 'GDPR_A_10_9_3_PUBLICLY_AVAILABLE',
|
|
60
|
+
GDPR_A_10_10_1_AUDIT_LOGGING = 'GDPR_A_10_10_1_AUDIT_LOGGING',
|
|
61
|
+
GDPR_A_10_10_2_MONITORING_SYSTEM_USE = 'GDPR_A_10_10_2_MONITORING_SYSTEM_USE',
|
|
62
|
+
GDPR_A_10_10_3_PROTECTION_OF_LOG_INFORMATION = 'GDPR_A_10_10_3_PROTECTION_OF_LOG_INFORMATION',
|
|
63
|
+
GDPR_A_10_10_4_ADMINISTRATOR_OPERATOR_LOGS = 'GDPR_A_10_10_4_ADMINISTRATOR_OPERATOR_LOGS',
|
|
64
|
+
GDPR_A_10_10_5_FAULT_LOGGING = 'GDPR_A_10_10_5_FAULT_LOGGING',
|
|
65
|
+
GDPR_A_10_10_6_CLOCK_SYNCHRONIZATION = 'GDPR_A_10_10_6_CLOCK_SYNCHRONIZATION',
|
|
66
|
+
GDPR_A_11_1_1_ACCESS_CONTROL_POLICY = 'GDPR_A_11_1_1_ACCESS_CONTROL_POLICY',
|
|
67
|
+
GDPR_A_11_2_1_USER_REGISTRATION = 'GDPR_A_11_2_1_USER_REGISTRATION',
|
|
68
|
+
GDPR_A_11_2_2_PRIVILEGE_MANAGEMENT = 'GDPR_A_11_2_2_PRIVILEGE_MANAGEMENT',
|
|
69
|
+
GDPR_A_11_2_3_USER_PASSWORD_MANAGEMENT = 'GDPR_A_11_2_3_USER_PASSWORD_MANAGEMENT',
|
|
70
|
+
GDPR_A_11_2_4_REVIEW_USER_ACCESS_RIGHTS = 'GDPR_A_11_2_4_REVIEW_USER_ACCESS_RIGHTS',
|
|
71
|
+
GDPR_A_11_3_1_PASSWORD_USE = 'GDPR_A_11_3_1_PASSWORD_USE',
|
|
72
|
+
GDPR_A_11_3_2_UNATTENDED_USER_EQUIPMENT = 'GDPR_A_11_3_2_UNATTENDED_USER_EQUIPMENT',
|
|
73
|
+
GDPR_A_11_3_3_CLEAR_DESK_SCREEN_POLICY = 'GDPR_A_11_3_3_CLEAR_DESK_SCREEN_POLICY',
|
|
74
|
+
GDPR_A_11_4_1_POLICY_USE_NETWORK_SERVICES = 'GDPR_A_11_4_1_POLICY_USE_NETWORK_SERVICES',
|
|
75
|
+
GDPR_A_11_4_2_USER_AUTH_EXTERNAL_CONNECTIONS = 'GDPR_A_11_4_2_USER_AUTH_EXTERNAL_CONNECTIONS',
|
|
76
|
+
GDPR_A_11_4_3_EQUIPMENT_IDENTIFICATION = 'GDPR_A_11_4_3_EQUIPMENT_IDENTIFICATION',
|
|
77
|
+
GDPR_A_11_4_4_REMOTE_DIAGNOSTIC_PORT_PROTECTION = 'GDPR_A_11_4_4_REMOTE_DIAGNOSTIC_PORT_PROTECTION',
|
|
78
|
+
GDPR_A_11_4_5_SEGREGATION_IN_NETWORKS = 'GDPR_A_11_4_5_SEGREGATION_IN_NETWORKS',
|
|
79
|
+
GDPR_A_11_4_6_NETWORK_CONNECTION_CONTROL = 'GDPR_A_11_4_6_NETWORK_CONNECTION_CONTROL',
|
|
80
|
+
GDPR_A_11_4_7_NETWORK_ROUTING_CONTROL = 'GDPR_A_11_4_7_NETWORK_ROUTING_CONTROL',
|
|
81
|
+
GDPR_A_11_5_1_SECURE_LOG_ON = 'GDPR_A_11_5_1_SECURE_LOG_ON',
|
|
82
|
+
GDPR_A_11_5_2_USER_ID_AND_AUTH = 'GDPR_A_11_5_2_USER_ID_AND_AUTH',
|
|
83
|
+
GDPR_A_11_5_3_PASSWORD_MANAGEMENT_SYSTEM = 'GDPR_A_11_5_3_PASSWORD_MANAGEMENT_SYSTEM',
|
|
84
|
+
GDPR_A_11_5_4_USE_OF_SYSTEM_UTILITIES = 'GDPR_A_11_5_4_USE_OF_SYSTEM_UTILITIES',
|
|
85
|
+
GDPR_A_11_5_5_SESSION_TIMEOUT = 'GDPR_A_11_5_5_SESSION_TIMEOUT',
|
|
86
|
+
GDPR_A_11_5_6_LIMITATION_CONNECTION_TIME = 'GDPR_A_11_5_6_LIMITATION_CONNECTION_TIME',
|
|
87
|
+
GDPR_A_11_6_1_INFORMATION_ACCESS_RESTRICTION = 'GDPR_A_11_6_1_INFORMATION_ACCESS_RESTRICTION',
|
|
88
|
+
GDPR_A_11_6_2_SENSITIVE_SYSTEM_ISOLATION = 'GDPR_A_11_6_2_SENSITIVE_SYSTEM_ISOLATION',
|
|
89
|
+
GDPR_A_11_7_1_MOBILE_COMPUTING = 'GDPR_A_11_7_1_MOBILE_COMPUTING',
|
|
90
|
+
GDPR_A_11_7_2_TELEWORKING = 'GDPR_A_11_7_2_TELEWORKING',
|
|
91
|
+
GDPR_A_12_1_1_SECURITY_REQUIREMENTS_ANALYSIS = 'GDPR_A_12_1_1_SECURITY_REQUIREMENTS_ANALYSIS',
|
|
92
|
+
GDPR_A_12_2_1_INPUT_DATA_VALIDATION = 'GDPR_A_12_2_1_INPUT_DATA_VALIDATION',
|
|
93
|
+
GDPR_A_12_2_2_CONTROL_INTERNAL_PROCESSING = 'GDPR_A_12_2_2_CONTROL_INTERNAL_PROCESSING',
|
|
94
|
+
GDPR_A_12_2_3_MESSAGE_INTEGRITY = 'GDPR_A_12_2_3_MESSAGE_INTEGRITY',
|
|
95
|
+
GDPR_A_12_2_4_OUTPUT_DATA_VALIDATION = 'GDPR_A_12_2_4_OUTPUT_DATA_VALIDATION',
|
|
96
|
+
GDPR_A_12_3_1_POLICY_CRYPTOGRAPHIC_CONTROLS = 'GDPR_A_12_3_1_POLICY_CRYPTOGRAPHIC_CONTROLS',
|
|
97
|
+
GDPR_A_12_3_2_KEY_MANAGEMENT = 'GDPR_A_12_3_2_KEY_MANAGEMENT',
|
|
98
|
+
GDPR_A_12_4_1_CONTROL_OPERATIONAL_SOFTWARE = 'GDPR_A_12_4_1_CONTROL_OPERATIONAL_SOFTWARE',
|
|
99
|
+
GDPR_A_12_4_2_PROTECTION_SYSTEM_TEST_DATA = 'GDPR_A_12_4_2_PROTECTION_SYSTEM_TEST_DATA',
|
|
100
|
+
GDPR_A_12_4_3_ACCESS_CONTROL_SOURCE_CODE = 'GDPR_A_12_4_3_ACCESS_CONTROL_SOURCE_CODE',
|
|
101
|
+
GDPR_A_12_5_1_CHANGE_CONTROL_PROCEDURES = 'GDPR_A_12_5_1_CHANGE_CONTROL_PROCEDURES',
|
|
102
|
+
GDPR_A_12_5_2_TECHNICAL_REVIEW_APPS = 'GDPR_A_12_5_2_TECHNICAL_REVIEW_APPS',
|
|
103
|
+
GDPR_A_12_5_3_RESTRICTIONS_CHANGES_SOFTWARE = 'GDPR_A_12_5_3_RESTRICTIONS_CHANGES_SOFTWARE',
|
|
104
|
+
GDPR_A_12_5_4_INFORMATION_LEAKAGE = 'GDPR_A_12_5_4_INFORMATION_LEAKAGE',
|
|
105
|
+
GDPR_A_12_5_5_OUTSOURCED_SOFTWARE_DEV = 'GDPR_A_12_5_5_OUTSOURCED_SOFTWARE_DEV',
|
|
106
|
+
GDPR_A_12_6_1_CONTROL_TECHNICAL_VULNERABILITIES = 'GDPR_A_12_6_1_CONTROL_TECHNICAL_VULNERABILITIES',
|
|
107
|
+
|
|
108
|
+
// --- PCI DSS (ComplianceId: 4) ---
|
|
109
|
+
PCI_REQ_1_INSTALL_FIREWALL = 'PCI_REQ_1_INSTALL_FIREWALL',
|
|
110
|
+
PCI_REQ_2_1_CHANGE_DEFAULT_PASSWORDS = 'PCI_REQ_2_1_CHANGE_DEFAULT_PASSWORDS',
|
|
111
|
+
PCI_REQ_2_2_1_ONE_PRIMARY_FUNCTION = 'PCI_REQ_2_2_1_ONE_PRIMARY_FUNCTION',
|
|
112
|
+
PCI_REQ_2_2_2_ENABLE_NECESSARY_SERVICES = 'PCI_REQ_2_2_2_ENABLE_NECESSARY_SERVICES',
|
|
113
|
+
PCI_REQ_2_2_3_SECURE_INSECURE_SERVICES = 'PCI_REQ_2_2_3_SECURE_INSECURE_SERVICES',
|
|
114
|
+
PCI_REQ_2_2_4_CONFIGURE_SYSTEM_PARAMETERS = 'PCI_REQ_2_2_4_CONFIGURE_SYSTEM_PARAMETERS',
|
|
115
|
+
PCI_REQ_2_2_5_STRENGTHEN_INSECURE_SERVICES = 'PCI_REQ_2_2_5_STRENGTHEN_INSECURE_SERVICES',
|
|
116
|
+
PCI_REQ_2_3_ENCRYPT_NON_CONSOLE_ADMIN = 'PCI_REQ_2_3_ENCRYPT_NON_CONSOLE_ADMIN',
|
|
117
|
+
PCI_REQ_A_1_1_ISOLATE_PROCESSES_CDE = 'PCI_REQ_A_1_1_ISOLATE_PROCESSES_CDE',
|
|
118
|
+
PCI_REQ_A_1_2_RESTRICT_ENTITY_ACCESS = 'PCI_REQ_A_1_2_RESTRICT_ENTITY_ACCESS',
|
|
119
|
+
PCI_REQ_A_1_3_ENABLE_UNIQUE_LOGGING = 'PCI_REQ_A_1_3_ENABLE_UNIQUE_LOGGING',
|
|
120
|
+
PCI_REQ_A_1_4_ENABLE_FORENSIC_INVESTIGATION = 'PCI_REQ_A_1_4_ENABLE_FORENSIC_INVESTIGATION',
|
|
121
|
+
PCI_REQ_3_1_MINIMIZE_DATA_STORAGE = 'PCI_REQ_3_1_MINIMIZE_DATA_STORAGE',
|
|
122
|
+
PCI_REQ_3_2_1_NO_FULL_TRACK_DATA = 'PCI_REQ_3_2_1_NO_FULL_TRACK_DATA',
|
|
123
|
+
PCI_REQ_3_2_2_NO_CVV_STORAGE = 'PCI_REQ_3_2_2_NO_CVV_STORAGE',
|
|
124
|
+
PCI_REQ_3_2_3_NO_PIN_STORAGE = 'PCI_REQ_3_2_3_NO_PIN_STORAGE',
|
|
125
|
+
PCI_REQ_3_3_MASK_PAN = 'PCI_REQ_3_3_MASK_PAN',
|
|
126
|
+
PCI_REQ_3_4_RENDER_PAN_UNREADABLE = 'PCI_REQ_3_4_RENDER_PAN_UNREADABLE',
|
|
127
|
+
PCI_REQ_3_5_PROTECT_ENCRYPTION_KEYS = 'PCI_REQ_3_5_PROTECT_ENCRYPTION_KEYS',
|
|
128
|
+
PCI_REQ_3_6_KEY_MANAGEMENT_PROCESSES = 'PCI_REQ_3_6_KEY_MANAGEMENT_PROCESSES',
|
|
129
|
+
PCI_REQ_3_7_DOCUMENT_POLICIES_STORED_DATA = 'PCI_REQ_3_7_DOCUMENT_POLICIES_STORED_DATA',
|
|
130
|
+
PCI_REQ_4_1_STRONG_CRYPTO_TRANSMISSION = 'PCI_REQ_4_1_STRONG_CRYPTO_TRANSMISSION',
|
|
131
|
+
PCI_REQ_4_2_NO_UNPROTECTED_PAN_MESSAGING = 'PCI_REQ_4_2_NO_UNPROTECTED_PAN_MESSAGING',
|
|
132
|
+
PCI_REQ_4_3_ENCRYPTION_POLICIES_TRANSMISSION = 'PCI_REQ_4_3_ENCRYPTION_POLICIES_TRANSMISSION',
|
|
133
|
+
PCI_REQ_5_PROTECT_MALWARE_ANTIVIRUS = 'PCI_REQ_5_PROTECT_MALWARE_ANTIVIRUS',
|
|
134
|
+
PCI_REQ_6_1_IDENTIFY_RANK_VULNERABILITIES = 'PCI_REQ_6_1_IDENTIFY_RANK_VULNERABILITIES',
|
|
135
|
+
PCI_REQ_6_2_INSTALL_SECURITY_PATCHES = 'PCI_REQ_6_2_INSTALL_SECURITY_PATCHES',
|
|
136
|
+
PCI_REQ_6_3_1_SECURE_SOFTWARE_DEVELOPMENT = 'PCI_REQ_6_3_1_SECURE_SOFTWARE_DEVELOPMENT',
|
|
137
|
+
PCI_REQ_6_3_2_CODE_REVIEW = 'PCI_REQ_6_3_2_CODE_REVIEW',
|
|
138
|
+
PCI_REQ_6_4_1_SEPARATE_DEV_PROD = 'PCI_REQ_6_4_1_SEPARATE_DEV_PROD',
|
|
139
|
+
PCI_REQ_6_4_2_SEPARATION_OF_DUTIES = 'PCI_REQ_6_4_2_SEPARATION_OF_DUTIES',
|
|
140
|
+
PCI_REQ_6_4_3_NO_LIVE_DATA_TESTING = 'PCI_REQ_6_4_3_NO_LIVE_DATA_TESTING',
|
|
141
|
+
PCI_REQ_6_4_4_REMOVE_TEST_DATA = 'PCI_REQ_6_4_4_REMOVE_TEST_DATA',
|
|
142
|
+
PCI_REQ_6_5_1_PREVENT_INJECTION = 'PCI_REQ_6_5_1_PREVENT_INJECTION',
|
|
143
|
+
PCI_REQ_6_5_2_PREVENT_BUFFER_OVERFLOW = 'PCI_REQ_6_5_2_PREVENT_BUFFER_OVERFLOW',
|
|
144
|
+
PCI_REQ_6_5_3_SECURE_CRYPTOGRAPHIC_STORAGE = 'PCI_REQ_6_5_3_SECURE_CRYPTOGRAPHIC_STORAGE',
|
|
145
|
+
PCI_REQ_6_5_4_SECURE_COMM_CHANNELS = 'PCI_REQ_6_5_4_SECURE_COMM_CHANNELS',
|
|
146
|
+
PCI_REQ_6_5_5_PROPER_ERROR_HANDLING = 'PCI_REQ_6_5_5_PROPER_ERROR_HANDLING',
|
|
147
|
+
PCI_REQ_6_5_6_ADDRESS_HIGH_RISK_VULNS = 'PCI_REQ_6_5_6_ADDRESS_HIGH_RISK_VULNS',
|
|
148
|
+
PCI_REQ_6_5_7_PREVENT_XSS = 'PCI_REQ_6_5_7_PREVENT_XSS',
|
|
149
|
+
PCI_REQ_6_5_8_PREVENT_ACCESS_CONTROL_VULNS = 'PCI_REQ_6_5_8_PREVENT_ACCESS_CONTROL_VULNS',
|
|
150
|
+
PCI_REQ_6_5_9_PREVENT_CSRF = 'PCI_REQ_6_5_9_PREVENT_CSRF',
|
|
151
|
+
PCI_REQ_6_5_10_PREVENT_BROKEN_AUTH = 'PCI_REQ_6_5_10_PREVENT_BROKEN_AUTH',
|
|
152
|
+
PCI_REQ_6_6_PROTECT_PUBLIC_WEB_APPS = 'PCI_REQ_6_6_PROTECT_PUBLIC_WEB_APPS',
|
|
153
|
+
PCI_REQ_6_7_DOCUMENT_POLICIES_SECURE_SYSTEMS = 'PCI_REQ_6_7_DOCUMENT_POLICIES_SECURE_SYSTEMS',
|
|
154
|
+
PCI_REQ_7_RESTRICT_ACCESS_NEED_TO_KNOW = 'PCI_REQ_7_RESTRICT_ACCESS_NEED_TO_KNOW',
|
|
155
|
+
PCI_REQ_7_1_1_DEFINE_ROLE_BASED_ACCESS = 'PCI_REQ_7_1_1_DEFINE_ROLE_BASED_ACCESS',
|
|
156
|
+
PCI_REQ_7_1_2_RESTRICT_PRIVILEGED_USER = 'PCI_REQ_7_1_2_RESTRICT_PRIVILEGED_USER',
|
|
157
|
+
PCI_REQ_7_1_3_ASSIGN_ACCESS_BY_ROLE = 'PCI_REQ_7_1_3_ASSIGN_ACCESS_BY_ROLE',
|
|
158
|
+
PCI_REQ_7_1_4_DOCUMENTED_APPROVAL = 'PCI_REQ_7_1_4_DOCUMENTED_APPROVAL',
|
|
159
|
+
PCI_REQ_7_2_ACCESS_CONTROL_NEED_TO_KNOW = 'PCI_REQ_7_2_ACCESS_CONTROL_NEED_TO_KNOW',
|
|
160
|
+
PCI_REQ_7_3_DOCUMENT_POLICIES_CARDHOLDER_DATA = 'PCI_REQ_7_3_DOCUMENT_POLICIES_CARDHOLDER_DATA',
|
|
161
|
+
PCI_REQ_8_1_1_ASSIGN_UNIQUE_IDS = 'PCI_REQ_8_1_1_ASSIGN_UNIQUE_IDS',
|
|
162
|
+
PCI_REQ_8_1_2_CONTROL_USER_ID_MANAGEMENT = 'PCI_REQ_8_1_2_CONTROL_USER_ID_MANAGEMENT',
|
|
163
|
+
PCI_REQ_8_1_3_REVOKE_TERMINATED_USERS = 'PCI_REQ_8_1_3_REVOKE_TERMINATED_USERS',
|
|
164
|
+
PCI_REQ_8_1_4_REMOVE_INACTIVE_ACCOUNTS = 'PCI_REQ_8_1_4_REMOVE_INACTIVE_ACCOUNTS',
|
|
165
|
+
PCI_REQ_8_1_5_MANAGE_THIRD_PARTY_IDS = 'PCI_REQ_8_1_5_MANAGE_THIRD_PARTY_IDS',
|
|
166
|
+
PCI_REQ_8_1_6_LIMIT_REPEATED_ACCESS_ATTEMPTS = 'PCI_REQ_8_1_6_LIMIT_REPEATED_ACCESS_ATTEMPTS',
|
|
167
|
+
PCI_REQ_8_1_7_ACCOUNT_LOCKOUT_DURATION = 'PCI_REQ_8_1_7_ACCOUNT_LOCKOUT_DURATION',
|
|
168
|
+
PCI_REQ_8_1_8_SESSION_RE_AUTH_IDLE = 'PCI_REQ_8_1_8_SESSION_RE_AUTH_IDLE',
|
|
169
|
+
PCI_REQ_8_2_1_ENCRYPT_CREDENTIALS = 'PCI_REQ_8_2_1_ENCRYPT_CREDENTIALS',
|
|
170
|
+
PCI_REQ_8_2_2_VERIFY_IDENTITY_BEFORE_CHANGE = 'PCI_REQ_8_2_2_VERIFY_IDENTITY_BEFORE_CHANGE',
|
|
171
|
+
PCI_REQ_8_2_3_PASSWORD_STRENGTH = 'PCI_REQ_8_2_3_PASSWORD_STRENGTH',
|
|
172
|
+
PCI_REQ_8_2_4_PASSWORD_EXPIRATION = 'PCI_REQ_8_2_4_PASSWORD_EXPIRATION',
|
|
173
|
+
PCI_REQ_8_2_5_PASSWORD_REUSE = 'PCI_REQ_8_2_5_PASSWORD_REUSE',
|
|
174
|
+
PCI_REQ_8_2_6_UNIQUE_INITIAL_PASSWORD = 'PCI_REQ_8_2_6_UNIQUE_INITIAL_PASSWORD',
|
|
175
|
+
PCI_REQ_8_3_SECURE_REMOTE_ACCESS_MFA = 'PCI_REQ_8_3_SECURE_REMOTE_ACCESS_MFA',
|
|
176
|
+
PCI_REQ_8_4_DOCUMENT_AUTH_POLICIES = 'PCI_REQ_8_4_DOCUMENT_AUTH_POLICIES',
|
|
177
|
+
PCI_REQ_8_5_1_UNIQUE_CREDS_SERVICE_PROVIDERS = 'PCI_REQ_8_5_1_UNIQUE_CREDS_SERVICE_PROVIDERS',
|
|
178
|
+
PCI_REQ_8_6_AUTH_MECHANISMS_INDIVIDUAL = 'PCI_REQ_8_6_AUTH_MECHANISMS_INDIVIDUAL',
|
|
179
|
+
PCI_REQ_8_7_RESTRICT_DB_ACCESS = 'PCI_REQ_8_7_RESTRICT_DB_ACCESS',
|
|
180
|
+
PCI_REQ_8_8_DOCUMENT_AUTH_POLICIES_COMM = 'PCI_REQ_8_8_DOCUMENT_AUTH_POLICIES_COMM',
|
|
181
|
+
PCI_REQ_9_RESTRICT_PHYSICAL_ACCESS = 'PCI_REQ_9_RESTRICT_PHYSICAL_ACCESS',
|
|
182
|
+
PCI_REQ_10_4_SYNCHRONIZE_CLOCKS = 'PCI_REQ_10_4_SYNCHRONIZE_CLOCKS',
|
|
183
|
+
PCI_REQ_10_5_SECURE_AUDIT_TRAILS = 'PCI_REQ_10_5_SECURE_AUDIT_TRAILS',
|
|
184
|
+
PCI_REQ_10_6_REVIEW_LOGS = 'PCI_REQ_10_6_REVIEW_LOGS',
|
|
185
|
+
PCI_REQ_10_7_RETAIN_AUDIT_TRAIL = 'PCI_REQ_10_7_RETAIN_AUDIT_TRAIL',
|
|
186
|
+
PCI_REQ_10_9_DOCUMENT_ACCESS_MONITORING = 'PCI_REQ_10_9_DOCUMENT_ACCESS_MONITORING',
|
|
187
|
+
PCI_REQ_11_REGULAR_TESTING = 'PCI_REQ_11_REGULAR_TESTING',
|
|
188
|
+
PCI_REQ_12_INFO_SEC_POLICY = 'PCI_REQ_12_INFO_SEC_POLICY',
|
|
189
|
+
|
|
190
|
+
// --- SANS/CWE Top 25 (ComplianceId: 5) ---
|
|
191
|
+
SANS_TOP_25_CWE_79_XSS = 'SANS_TOP_25_CWE_79_XSS',
|
|
192
|
+
SANS_TOP_25_CWE_787_OOB_WRITE = 'SANS_TOP_25_CWE_787_OOB_WRITE',
|
|
193
|
+
SANS_TOP_25_CWE_89_SQLI = 'SANS_TOP_25_CWE_89_SQLI',
|
|
194
|
+
SANS_TOP_25_CWE_352_CSRF = 'SANS_TOP_25_CWE_352_CSRF',
|
|
195
|
+
SANS_TOP_25_CWE_22_PATH_TRAVERSAL = 'SANS_TOP_25_CWE_22_PATH_TRAVERSAL',
|
|
196
|
+
SANS_TOP_25_CWE_125_OOB_READ = 'SANS_TOP_25_CWE_125_OOB_READ',
|
|
197
|
+
SANS_TOP_25_CWE_78_OS_COMMAND_INJECTION = 'SANS_TOP_25_CWE_78_OS_COMMAND_INJECTION',
|
|
198
|
+
SANS_TOP_25_CWE_416_USE_AFTER_FREE = 'SANS_TOP_25_CWE_416_USE_AFTER_FREE',
|
|
199
|
+
SANS_TOP_25_CWE_862_MISSING_AUTHZ = 'SANS_TOP_25_CWE_862_MISSING_AUTHZ',
|
|
200
|
+
SANS_TOP_25_CWE_434_UNRESTRICTED_UPLOAD = 'SANS_TOP_25_CWE_434_UNRESTRICTED_UPLOAD',
|
|
201
|
+
SANS_TOP_25_CWE_94_CODE_INJECTION = 'SANS_TOP_25_CWE_94_CODE_INJECTION',
|
|
202
|
+
SANS_TOP_25_CWE_20_INPUT_VALIDATION = 'SANS_TOP_25_CWE_20_INPUT_VALIDATION',
|
|
203
|
+
SANS_TOP_25_CWE_77_COMMAND_INJECTION = 'SANS_TOP_25_CWE_77_COMMAND_INJECTION',
|
|
204
|
+
SANS_TOP_25_CWE_287_IMPROPER_AUTH = 'SANS_TOP_25_CWE_287_IMPROPER_AUTH',
|
|
205
|
+
SANS_TOP_25_CWE_269_PRIVILEGE_MGMT = 'SANS_TOP_25_CWE_269_PRIVILEGE_MGMT',
|
|
206
|
+
SANS_TOP_25_CWE_502_UNTRUSTED_DESER = 'SANS_TOP_25_CWE_502_UNTRUSTED_DESER',
|
|
207
|
+
SANS_TOP_25_CWE_200_INFO_EXPOSURE = 'SANS_TOP_25_CWE_200_INFO_EXPOSURE',
|
|
208
|
+
SANS_TOP_25_CWE_863_INCORRECT_AUTHZ = 'SANS_TOP_25_CWE_863_INCORRECT_AUTHZ',
|
|
209
|
+
SANS_TOP_25_CWE_918_SSRF = 'SANS_TOP_25_CWE_918_SSRF',
|
|
210
|
+
SANS_TOP_25_CWE_119_MEMORY_BOUNDS = 'SANS_TOP_25_CWE_119_MEMORY_BOUNDS',
|
|
211
|
+
SANS_TOP_25_CWE_476_NULL_DEREF = 'SANS_TOP_25_CWE_476_NULL_DEREF',
|
|
212
|
+
SANS_TOP_25_CWE_798_HARDCODED_CREDS = 'SANS_TOP_25_CWE_798_HARDCODED_CREDS',
|
|
213
|
+
SANS_TOP_25_CWE_190_INTEGER_OVERFLOW = 'SANS_TOP_25_CWE_190_INTEGER_OVERFLOW',
|
|
214
|
+
SANS_TOP_25_CWE_400_RESOURCE_CONSUMPTION = 'SANS_TOP_25_CWE_400_RESOURCE_CONSUMPTION',
|
|
215
|
+
SANS_TOP_25_CWE_306_MISSING_AUTH = 'SANS_TOP_25_CWE_306_MISSING_AUTH',
|
|
216
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Compliance Mappings
|
|
2
|
+
|
|
3
|
+
This directory maps compliance rules to vulnerability IDs from the registry.
|
|
4
|
+
Mappings now reference the current registry IDs (see `agents/shared/vulnerability-registry/src/id-registry.json`),
|
|
5
|
+
and are derived from code groups in `helpers.ts` to keep them consistent as IDs change.
|
|
6
|
+
|
|
7
|
+
## Mapping Approach (Why These Vulnerabilities Apply)
|
|
8
|
+
|
|
9
|
+
The groups below are used to connect compliance rules to relevant vulnerabilities:
|
|
10
|
+
|
|
11
|
+
- Authentication: all `authentication` category items (JWT, BAC, mass assignment).
|
|
12
|
+
- Injection: all `injection` category items (SQLi, CMDi, SSTI, XXE, LFI, XPath).
|
|
13
|
+
- XSS: all `xss` category items.
|
|
14
|
+
- SSRF: all `ssrf` category items.
|
|
15
|
+
- Configuration: all `configuration` category items (headers, cookies, dirbrowse, deserialization).
|
|
16
|
+
- Information disclosure: all `information_disclosure` category items (sensitive paths).
|
|
17
|
+
- Access control: `BAC_*` + `MASSASSIGN_*` + `DIRBROWSE_*`.
|
|
18
|
+
- Cryptographic / transport: `JWT_*` + HSTS-related header issues + cookie Secure issues.
|
|
19
|
+
- Session/Auth cookies: `COOKIE_*`.
|
|
20
|
+
- Deserialization: `DESER_*`.
|
|
21
|
+
|
|
22
|
+
These align each rule to the most relevant technical findings the scanners can produce.
|
|
23
|
+
|
|
24
|
+
## Rule Mapping Summary
|
|
25
|
+
|
|
26
|
+
### OWASP Top 10
|
|
27
|
+
- A1 Broken Access Control: access control issues + directory browsing.
|
|
28
|
+
- A2 Cryptographic Failures: JWT crypto issues + HSTS + Secure-cookie issues.
|
|
29
|
+
- A3 Injection Flaws: injection + XSS.
|
|
30
|
+
- A4 Insecure Design: no direct scanner evidence (empty).
|
|
31
|
+
- A5 Security Misconfiguration: configuration + information disclosure.
|
|
32
|
+
- A6 Vulnerable/Outdated Components: no direct scanner evidence (empty).
|
|
33
|
+
- A7 Identification/Auth Failures: authentication + cookie issues.
|
|
34
|
+
- A8 Software/Data Integrity Failures: deserialization issues.
|
|
35
|
+
- A9 Logging/Monitoring Failures: no direct scanner evidence (empty).
|
|
36
|
+
- A10 SSRF: SSRF category.
|
|
37
|
+
|
|
38
|
+
### SANS/CWE Top 25 (Latest)
|
|
39
|
+
- Uses the latest CWE Top 25 (2024) titles with CWE IDs.
|
|
40
|
+
- Each entry maps to the closest registry category or code prefix (e.g., CWE-79 → XSS, CWE-89 → SQLi, CWE-918 → SSRF).
|
|
41
|
+
- Items that are not detectable by current scanners are left empty and marked not applicable.
|
|
42
|
+
|
|
43
|
+
### HIPAA
|
|
44
|
+
- 164.105 Protect PHI: all app-sec findings (auth, injection, XSS, SSRF, config, disclosure).
|
|
45
|
+
- 164.306(a)(1)/(a)(2): all app-sec findings.
|
|
46
|
+
- 164.306(a)(3): access control + disclosure.
|
|
47
|
+
- 164.308(a)(1)(i)/(ii)(B): all app-sec findings.
|
|
48
|
+
- 164.308(a)(5)(ii)(D): authentication + cookie issues.
|
|
49
|
+
- 164.312(a)(1): access control + disclosure.
|
|
50
|
+
- 164.312(d): authentication + cookie issues.
|
|
51
|
+
- 164.312(e)(1)/(e)(2)(ii): cryptographic / transport issues.
|
|
52
|
+
- 164.312(e)(2)(i): injection + XSS (integrity).
|
|
53
|
+
- 164.530(c)(2)(i): disclosure + access control.
|
|
54
|
+
- Other HIPAA rules without direct scanner evidence remain empty.
|
|
55
|
+
|
|
56
|
+
### GDPR (ISO 27001-style controls)
|
|
57
|
+
- System acceptance, technical vulnerability control: all app-sec findings.
|
|
58
|
+
- Input/output validation: injection + XSS (+ SSRF for input validation).
|
|
59
|
+
- Cryptographic controls / key management: cryptographic / transport issues.
|
|
60
|
+
- Access restriction / password controls: authentication + cookie issues.
|
|
61
|
+
- Information leakage: configuration + information disclosure.
|
|
62
|
+
- Process-only controls (change management, segregation of duties, etc.) remain empty.
|
|
63
|
+
|
|
64
|
+
### PCI DSS
|
|
65
|
+
- 2.x configuration controls: configuration + disclosure (misconfiguration).
|
|
66
|
+
- 2.3, 4.1, 6.5.3, 6.5.4: cryptographic / transport issues.
|
|
67
|
+
- 3.1: information disclosure.
|
|
68
|
+
- 6.1, 6.2, 6.5.6: all app-sec findings.
|
|
69
|
+
- 6.5.1: injection + XSS.
|
|
70
|
+
- 6.5.7: XSS.
|
|
71
|
+
- 6.5.8, 7, 8.1.1: access control + authentication + cookie issues.
|
|
72
|
+
- Rules without direct scanner evidence remain empty.
|
|
73
|
+
|
|
74
|
+
## ID Changes (Removed/Added)
|
|
75
|
+
|
|
76
|
+
- Removed: legacy ID lists that referenced non-existent IDs (e.g., 1–203, 1000+, 2000+),
|
|
77
|
+
which no longer exist in the current registry.
|
|
78
|
+
- Added: current registry IDs in the 100–699 range, derived from the groups above.
|
|
79
|
+
Exact IDs are computed in the compliance files using `helpers.ts`.
|
|
80
|
+
|
|
81
|
+
If a new vulnerability is added to the registry, it will be included automatically
|
|
82
|
+
in any compliance mapping that references its category or code prefix.
|