@zerothreatai/vulnerability-registry 1.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/categories/authentication.d.ts +8 -0
- package/dist/categories/authentication.js +375 -0
- package/dist/categories/configuration.d.ts +8 -0
- package/dist/categories/configuration.js +903 -0
- package/dist/categories/injection.d.ts +8 -0
- package/dist/categories/injection.js +747 -0
- package/dist/categories/sensitive-paths.d.ts +9 -0
- package/dist/categories/sensitive-paths.js +1788 -0
- package/dist/categories/ssrf.d.ts +8 -0
- package/dist/categories/ssrf.js +247 -0
- package/dist/categories/xss.d.ts +7 -0
- package/dist/categories/xss.js +325 -0
- package/dist/error-codes.d.ts +242 -0
- package/dist/error-codes.js +312 -0
- package/dist/index.d.ts +60 -0
- package/dist/index.js +92 -0
- package/dist/types.d.ts +86 -0
- package/dist/types.js +6 -0
- package/dist-cjs/categories/authentication.js +378 -0
- package/dist-cjs/categories/configuration.js +906 -0
- package/dist-cjs/categories/injection.js +750 -0
- package/dist-cjs/categories/sensitive-paths.js +1791 -0
- package/dist-cjs/categories/ssrf.js +250 -0
- package/dist-cjs/categories/xss.js +328 -0
- package/dist-cjs/error-codes.js +315 -0
- package/dist-cjs/index.js +107 -0
- package/dist-cjs/types.js +7 -0
- package/package.json +35 -0
- package/src/categories/authentication.d.ts +8 -0
- package/src/categories/authentication.d.ts.map +1 -0
- package/src/categories/authentication.js +378 -0
- package/src/categories/authentication.js.map +1 -0
- package/src/categories/authentication.ts +395 -0
- package/src/categories/configuration.d.ts +8 -0
- package/src/categories/configuration.d.ts.map +1 -0
- package/src/categories/configuration.js +906 -0
- package/src/categories/configuration.js.map +1 -0
- package/src/categories/configuration.ts +948 -0
- package/src/categories/injection.d.ts +8 -0
- package/src/categories/injection.d.ts.map +1 -0
- package/src/categories/injection.js +750 -0
- package/src/categories/injection.js.map +1 -0
- package/src/categories/injection.ts +785 -0
- package/src/categories/sensitive-paths.d.ts +9 -0
- package/src/categories/sensitive-paths.d.ts.map +1 -0
- package/src/categories/sensitive-paths.js +1791 -0
- package/src/categories/sensitive-paths.js.map +1 -0
- package/src/categories/sensitive-paths.ts +1875 -0
- package/src/categories/ssrf.d.ts +8 -0
- package/src/categories/ssrf.d.ts.map +1 -0
- package/src/categories/ssrf.js +250 -0
- package/src/categories/ssrf.js.map +1 -0
- package/src/categories/ssrf.ts +261 -0
- package/src/categories/xss.d.ts +7 -0
- package/src/categories/xss.d.ts.map +1 -0
- package/src/categories/xss.js +328 -0
- package/src/categories/xss.js.map +1 -0
- package/src/categories/xss.ts +342 -0
- package/src/error-codes.d.ts +242 -0
- package/src/error-codes.d.ts.map +1 -0
- package/src/error-codes.js +315 -0
- package/src/error-codes.js.map +1 -0
- package/src/error-codes.ts +334 -0
- package/src/index.d.ts +60 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +107 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +126 -0
- package/src/types.d.ts +86 -0
- package/src/types.d.ts.map +1 -0
- package/src/types.js +7 -0
- package/src/types.js.map +1 -0
- package/src/types.ts +109 -0
- package/tsconfig.cjs.json +8 -0
- package/tsconfig.json +21 -0
- package/vulnerability-registry.zip +0 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vulnerability Registry - Error Codes
|
|
3
|
+
*
|
|
4
|
+
* Central enum containing all vulnerability error codes across all scanners.
|
|
5
|
+
* Each code maps to a complete VulnerabilityDefinition.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export enum VulnerabilityCode {
|
|
9
|
+
// ========================================
|
|
10
|
+
// SQL INJECTION (SQLI_*)
|
|
11
|
+
// ========================================
|
|
12
|
+
SQLI_ERROR_BASED = 'SQLI_ERROR_BASED',
|
|
13
|
+
SQLI_BOOLEAN_BASED = 'SQLI_BOOLEAN_BASED',
|
|
14
|
+
SQLI_TIME_BASED = 'SQLI_TIME_BASED',
|
|
15
|
+
SQLI_STACK_BASED = 'SQLI_STACK_BASED',
|
|
16
|
+
SQLI_UNION_BASED = 'SQLI_UNION_BASED',
|
|
17
|
+
|
|
18
|
+
// ========================================
|
|
19
|
+
// CROSS-SITE SCRIPTING (XSS_*)
|
|
20
|
+
// ========================================
|
|
21
|
+
XSS_REFLECTED = 'XSS_REFLECTED',
|
|
22
|
+
XSS_STORED = 'XSS_STORED',
|
|
23
|
+
XSS_DOM_BASED = 'XSS_DOM_BASED',
|
|
24
|
+
XSS_SVG_INJECTION = 'XSS_SVG_INJECTION',
|
|
25
|
+
XSS_CSTI_ANGULAR = 'XSS_CSTI_ANGULAR',
|
|
26
|
+
XSS_CSTI_VUE = 'XSS_CSTI_VUE',
|
|
27
|
+
XSS_EVENT_HANDLER = 'XSS_EVENT_HANDLER',
|
|
28
|
+
XSS_SCRIPT_INJECTION = 'XSS_SCRIPT_INJECTION',
|
|
29
|
+
XSS_HTML_INJECTION = 'XSS_HTML_INJECTION',
|
|
30
|
+
XSS_ATTRIBUTE_INJECTION = 'XSS_ATTRIBUTE_INJECTION',
|
|
31
|
+
XSS_JS_CONTEXT = 'XSS_JS_CONTEXT',
|
|
32
|
+
XSS_CSS_INJECTION = 'XSS_CSS_INJECTION',
|
|
33
|
+
XSS_CSP_BYPASS = 'XSS_CSP_BYPASS',
|
|
34
|
+
XSS_TEMPLATE_LITERAL = 'XSS_TEMPLATE_LITERAL',
|
|
35
|
+
XSS_MUTATION_BASED = 'XSS_MUTATION_BASED',
|
|
36
|
+
|
|
37
|
+
// ========================================
|
|
38
|
+
// COMMAND INJECTION (CMDI_*)
|
|
39
|
+
// ========================================
|
|
40
|
+
CMDI_OOB_CONFIRMED = 'CMDI_OOB_CONFIRMED',
|
|
41
|
+
CMDI_REFLECTED = 'CMDI_REFLECTED',
|
|
42
|
+
CMDI_TIME_BASED = 'CMDI_TIME_BASED',
|
|
43
|
+
CMDI_ERROR_BASED = 'CMDI_ERROR_BASED',
|
|
44
|
+
|
|
45
|
+
// ========================================
|
|
46
|
+
// SERVER-SIDE REQUEST FORGERY (SSRF_*)
|
|
47
|
+
// ========================================
|
|
48
|
+
SSRF_CLOUD_METADATA = 'SSRF_CLOUD_METADATA',
|
|
49
|
+
SSRF_INTERNAL_SERVICE = 'SSRF_INTERNAL_SERVICE',
|
|
50
|
+
SSRF_PROTOCOL_SMUGGLING = 'SSRF_PROTOCOL_SMUGGLING',
|
|
51
|
+
SSRF_BLIND_OOB = 'SSRF_BLIND_OOB',
|
|
52
|
+
SSRF_FILTER_BYPASS = 'SSRF_FILTER_BYPASS',
|
|
53
|
+
|
|
54
|
+
// ========================================
|
|
55
|
+
// SERVER-SIDE TEMPLATE INJECTION (SSTI_*)
|
|
56
|
+
// ========================================
|
|
57
|
+
SSTI_JINJA2 = 'SSTI_JINJA2',
|
|
58
|
+
SSTI_TWIG = 'SSTI_TWIG',
|
|
59
|
+
SSTI_FREEMARKER = 'SSTI_FREEMARKER',
|
|
60
|
+
SSTI_VELOCITY = 'SSTI_VELOCITY',
|
|
61
|
+
SSTI_THYMELEAF = 'SSTI_THYMELEAF',
|
|
62
|
+
SSTI_ERB = 'SSTI_ERB',
|
|
63
|
+
SSTI_EJS = 'SSTI_EJS',
|
|
64
|
+
SSTI_PUG = 'SSTI_PUG',
|
|
65
|
+
SSTI_SMARTY = 'SSTI_SMARTY',
|
|
66
|
+
SSTI_MAKO = 'SSTI_MAKO',
|
|
67
|
+
SSTI_GENERIC = 'SSTI_GENERIC',
|
|
68
|
+
|
|
69
|
+
// ========================================
|
|
70
|
+
// XML EXTERNAL ENTITY (XXE_*)
|
|
71
|
+
// ========================================
|
|
72
|
+
XXE_CLASSIC = 'XXE_CLASSIC',
|
|
73
|
+
XXE_BLIND = 'XXE_BLIND',
|
|
74
|
+
XXE_OOB = 'XXE_OOB',
|
|
75
|
+
XXE_ERROR_BASED = 'XXE_ERROR_BASED',
|
|
76
|
+
XXE_PARAMETER_ENTITY = 'XXE_PARAMETER_ENTITY',
|
|
77
|
+
|
|
78
|
+
// ========================================
|
|
79
|
+
// XPATH INJECTION (XPATH_*)
|
|
80
|
+
// ========================================
|
|
81
|
+
XPATH_AUTH_BYPASS = 'XPATH_AUTH_BYPASS',
|
|
82
|
+
XPATH_DATA_EXTRACTION = 'XPATH_DATA_EXTRACTION',
|
|
83
|
+
XPATH_BLIND = 'XPATH_BLIND',
|
|
84
|
+
XPATH_ERROR_BASED = 'XPATH_ERROR_BASED',
|
|
85
|
+
|
|
86
|
+
// ========================================
|
|
87
|
+
// LOCAL FILE INCLUSION (LFI_*)
|
|
88
|
+
// ========================================
|
|
89
|
+
LFI_PATH_TRAVERSAL = 'LFI_PATH_TRAVERSAL',
|
|
90
|
+
LFI_FILTER_BYPASS = 'LFI_FILTER_BYPASS',
|
|
91
|
+
LFI_SOURCE_DISCLOSURE = 'LFI_SOURCE_DISCLOSURE',
|
|
92
|
+
LFI_WRAPPER_PROTOCOL = 'LFI_WRAPPER_PROTOCOL',
|
|
93
|
+
LFI_PROC_DISCLOSURE = 'LFI_PROC_DISCLOSURE',
|
|
94
|
+
|
|
95
|
+
// ========================================
|
|
96
|
+
// JWT VULNERABILITIES (JWT_*)
|
|
97
|
+
// ========================================
|
|
98
|
+
JWT_NONE_ALGORITHM = 'JWT_NONE_ALGORITHM',
|
|
99
|
+
JWT_WEAK_SECRET = 'JWT_WEAK_SECRET',
|
|
100
|
+
JWT_KEY_CONFUSION = 'JWT_KEY_CONFUSION',
|
|
101
|
+
JWT_EXPIRED_TOKEN = 'JWT_EXPIRED_TOKEN',
|
|
102
|
+
JWT_MISSING_CLAIMS = 'JWT_MISSING_CLAIMS',
|
|
103
|
+
JWT_CLAIM_TAMPERING = 'JWT_CLAIM_TAMPERING',
|
|
104
|
+
JWT_KID_INJECTION = 'JWT_KID_INJECTION',
|
|
105
|
+
JWT_JKU_INJECTION = 'JWT_JKU_INJECTION',
|
|
106
|
+
JWT_EMBEDDED_JWK = 'JWT_EMBEDDED_JWK',
|
|
107
|
+
JWT_X5C_INJECTION = 'JWT_X5C_INJECTION',
|
|
108
|
+
|
|
109
|
+
// ========================================
|
|
110
|
+
// OPEN REDIRECT (REDIRECT_*)
|
|
111
|
+
// ========================================
|
|
112
|
+
REDIRECT_HEADER_INJECTION = 'REDIRECT_HEADER_INJECTION',
|
|
113
|
+
REDIRECT_META_REFRESH = 'REDIRECT_META_REFRESH',
|
|
114
|
+
REDIRECT_JS_NAVIGATION = 'REDIRECT_JS_NAVIGATION',
|
|
115
|
+
|
|
116
|
+
// ========================================
|
|
117
|
+
// BROKEN ACCESS CONTROL (BAC_*)
|
|
118
|
+
// ========================================
|
|
119
|
+
BAC_ANONYMOUS_ACCESS = 'BAC_ANONYMOUS_ACCESS',
|
|
120
|
+
BAC_HORIZONTAL_PRIVILEGE = 'BAC_HORIZONTAL_PRIVILEGE',
|
|
121
|
+
BAC_VERTICAL_PRIVILEGE = 'BAC_VERTICAL_PRIVILEGE',
|
|
122
|
+
BAC_IDOR = 'BAC_IDOR',
|
|
123
|
+
|
|
124
|
+
// ========================================
|
|
125
|
+
// SECURITY HEADERS (HEADER_*)
|
|
126
|
+
// ========================================
|
|
127
|
+
HEADER_MISSING_CSP = 'HEADER_MISSING_CSP',
|
|
128
|
+
HEADER_MISSING_HSTS = 'HEADER_MISSING_HSTS',
|
|
129
|
+
HEADER_MISSING_XFRAME = 'HEADER_MISSING_XFRAME',
|
|
130
|
+
HEADER_MISSING_XCONTENT_TYPE = 'HEADER_MISSING_XCONTENT_TYPE',
|
|
131
|
+
HEADER_MISSING_XSS_PROTECTION = 'HEADER_MISSING_XSS_PROTECTION',
|
|
132
|
+
HEADER_MISSING_REFERRER_POLICY = 'HEADER_MISSING_REFERRER_POLICY',
|
|
133
|
+
HEADER_MISSING_PERMISSIONS_POLICY = 'HEADER_MISSING_PERMISSIONS_POLICY',
|
|
134
|
+
HEADER_WEAK_CSP = 'HEADER_WEAK_CSP',
|
|
135
|
+
HEADER_CORS_MISCONFIGURED = 'HEADER_CORS_MISCONFIGURED',
|
|
136
|
+
HEADER_COEP_WITHOUT_COOP = 'HEADER_COEP_WITHOUT_COOP',
|
|
137
|
+
HEADER_CORP_UNUSUAL = 'HEADER_CORP_UNUSUAL',
|
|
138
|
+
HEADER_EXPECT_CT_PRESENT = 'HEADER_EXPECT_CT_PRESENT',
|
|
139
|
+
HEADER_SERVER_HEADER_PRESENT = 'HEADER_SERVER_HEADER_PRESENT',
|
|
140
|
+
HEADER_X_POWERED_BY_PRESENT = 'HEADER_X_POWERED_BY_PRESENT',
|
|
141
|
+
HEADER_X_XSS_PROTECTION_ENABLED = 'HEADER_X_XSS_PROTECTION_ENABLED',
|
|
142
|
+
COOKIE_SAMESITE_NONE_WITHOUT_SECURE = 'COOKIE_SAMESITE_NONE_WITHOUT_SECURE',
|
|
143
|
+
COOKIE_SESSION_MISSING_SECURE = 'COOKIE_SESSION_MISSING_SECURE',
|
|
144
|
+
COOKIE_MISSING_SECURE = 'COOKIE_MISSING_SECURE',
|
|
145
|
+
COOKIE_SESSION_MISSING_HTTPONLY = 'COOKIE_SESSION_MISSING_HTTPONLY',
|
|
146
|
+
COOKIE_MISSING_HTTPONLY = 'COOKIE_MISSING_HTTPONLY',
|
|
147
|
+
COOKIE_MISSING_SAMESITE = 'COOKIE_MISSING_SAMESITE',
|
|
148
|
+
COOKIE_HOST_PREFIX_INVALID = 'COOKIE_HOST_PREFIX_INVALID',
|
|
149
|
+
COOKIE_SECURE_PREFIX_INVALID = 'COOKIE_SECURE_PREFIX_INVALID',
|
|
150
|
+
HEADER_DRIFT_CSP = 'HEADER_DRIFT_CSP',
|
|
151
|
+
HEADER_DRIFT_HSTS = 'HEADER_DRIFT_HSTS',
|
|
152
|
+
HEADER_DRIFT_XCONTENT_TYPE = 'HEADER_DRIFT_XCONTENT_TYPE',
|
|
153
|
+
HEADER_DRIFT_REFERRER_POLICY = 'HEADER_DRIFT_REFERRER_POLICY',
|
|
154
|
+
HEADER_DRIFT_XFRAME = 'HEADER_DRIFT_XFRAME',
|
|
155
|
+
HEADER_DRIFT_PERMISSIONS_POLICY = 'HEADER_DRIFT_PERMISSIONS_POLICY',
|
|
156
|
+
HEADER_DRIFT_COOP = 'HEADER_DRIFT_COOP',
|
|
157
|
+
HEADER_DRIFT_COEP = 'HEADER_DRIFT_COEP',
|
|
158
|
+
HEADER_DRIFT_CORP = 'HEADER_DRIFT_CORP',
|
|
159
|
+
|
|
160
|
+
// ========================================
|
|
161
|
+
// HOST HEADER INJECTION (HOST_*)
|
|
162
|
+
// ========================================
|
|
163
|
+
HOST_CACHE_POISONING = 'HOST_CACHE_POISONING',
|
|
164
|
+
HOST_PASSWORD_RESET = 'HOST_PASSWORD_RESET',
|
|
165
|
+
HOST_REDIRECT = 'HOST_REDIRECT',
|
|
166
|
+
|
|
167
|
+
// ========================================
|
|
168
|
+
// DIRECTORY BROWSING (DIRBROWSE_*)
|
|
169
|
+
// ========================================
|
|
170
|
+
DIRBROWSE_ENABLED = 'DIRBROWSE_ENABLED',
|
|
171
|
+
DIRBROWSE_SENSITIVE = 'DIRBROWSE_SENSITIVE',
|
|
172
|
+
|
|
173
|
+
// ========================================
|
|
174
|
+
// MASS ASSIGNMENT (MASSASSIGN_*)
|
|
175
|
+
// ========================================
|
|
176
|
+
MASSASSIGN_PROTOTYPE_POLLUTION = 'MASSASSIGN_PROTOTYPE_POLLUTION',
|
|
177
|
+
MASSASSIGN_ROLE_ESCALATION = 'MASSASSIGN_ROLE_ESCALATION',
|
|
178
|
+
MASSASSIGN_HIDDEN_FIELD = 'MASSASSIGN_HIDDEN_FIELD',
|
|
179
|
+
|
|
180
|
+
// ========================================
|
|
181
|
+
// DESERIALIZATION (DESER_*)
|
|
182
|
+
// ========================================
|
|
183
|
+
DESER_JAVA = 'DESER_JAVA',
|
|
184
|
+
DESER_PHP = 'DESER_PHP',
|
|
185
|
+
DESER_PYTHON = 'DESER_PYTHON',
|
|
186
|
+
DESER_DOTNET = 'DESER_DOTNET',
|
|
187
|
+
DESER_RUBY = 'DESER_RUBY',
|
|
188
|
+
DESER_NODE = 'DESER_NODE',
|
|
189
|
+
|
|
190
|
+
// ========================================
|
|
191
|
+
// SENSITIVE PATH SCOUT - CRITICAL (SENS_CRIT_*)
|
|
192
|
+
// ========================================
|
|
193
|
+
SENS_CRIT_AWS_CREDENTIALS = 'SENS_CRIT_AWS_CREDENTIALS',
|
|
194
|
+
SENS_CRIT_SSH_PRIVATE_KEY = 'SENS_CRIT_SSH_PRIVATE_KEY',
|
|
195
|
+
SENS_CRIT_SSL_PRIVATE_KEY = 'SENS_CRIT_SSL_PRIVATE_KEY',
|
|
196
|
+
SENS_CRIT_RAILS_MASTER_KEY = 'SENS_CRIT_RAILS_MASTER_KEY',
|
|
197
|
+
SENS_CRIT_TERRAFORM_STATE = 'SENS_CRIT_TERRAFORM_STATE',
|
|
198
|
+
SENS_CRIT_FIREBASE_ADMIN_SDK = 'SENS_CRIT_FIREBASE_ADMIN_SDK',
|
|
199
|
+
SENS_CRIT_KUBE_CONFIG = 'SENS_CRIT_KUBE_CONFIG',
|
|
200
|
+
SENS_CRIT_AZURE_STORAGE_KEY = 'SENS_CRIT_AZURE_STORAGE_KEY',
|
|
201
|
+
SENS_CRIT_CONSUL_KV = 'SENS_CRIT_CONSUL_KV',
|
|
202
|
+
SENS_CRIT_VAULT_SECRET = 'SENS_CRIT_VAULT_SECRET',
|
|
203
|
+
SENS_CRIT_DOCKER_SECRET = 'SENS_CRIT_DOCKER_SECRET',
|
|
204
|
+
|
|
205
|
+
// ========================================
|
|
206
|
+
// SENSITIVE PATH SCOUT - HIGH (SENS_HIGH_*)
|
|
207
|
+
// ========================================
|
|
208
|
+
SENS_HIGH_GIT_EXPOSED = 'SENS_HIGH_GIT_EXPOSED',
|
|
209
|
+
SENS_HIGH_GIT_CONFIG = 'SENS_HIGH_GIT_CONFIG',
|
|
210
|
+
SENS_HIGH_WORDPRESS_CONFIG = 'SENS_HIGH_WORDPRESS_CONFIG',
|
|
211
|
+
SENS_HIGH_SPRING_ACTUATOR = 'SENS_HIGH_SPRING_ACTUATOR',
|
|
212
|
+
SENS_HIGH_SPRING_HEAPDUMP = 'SENS_HIGH_SPRING_HEAPDUMP',
|
|
213
|
+
SENS_HIGH_DATABASE_BACKUP = 'SENS_HIGH_DATABASE_BACKUP',
|
|
214
|
+
SENS_HIGH_PHPINFO = 'SENS_HIGH_PHPINFO',
|
|
215
|
+
SENS_HIGH_LARAVEL_DEBUG = 'SENS_HIGH_LARAVEL_DEBUG',
|
|
216
|
+
SENS_HIGH_GCP_SERVICE_ACCOUNT = 'SENS_HIGH_GCP_SERVICE_ACCOUNT',
|
|
217
|
+
SENS_HIGH_GRAPHQL_INTROSPECTION = 'SENS_HIGH_GRAPHQL_INTROSPECTION',
|
|
218
|
+
SENS_HIGH_PHPMYADMIN = 'SENS_HIGH_PHPMYADMIN',
|
|
219
|
+
SENS_HIGH_MONGODB_CONFIG = 'SENS_HIGH_MONGODB_CONFIG',
|
|
220
|
+
SENS_HIGH_JAVA_KEYSTORE = 'SENS_HIGH_JAVA_KEYSTORE',
|
|
221
|
+
SENS_HIGH_PHP_SESSION = 'SENS_HIGH_PHP_SESSION',
|
|
222
|
+
SENS_HIGH_ENV_FILE = 'SENS_HIGH_ENV_FILE',
|
|
223
|
+
SENS_HIGH_BACKUP_FILE = 'SENS_HIGH_BACKUP_FILE',
|
|
224
|
+
SENS_HIGH_HTPASSWD = 'SENS_HIGH_HTPASSWD',
|
|
225
|
+
SENS_HIGH_DS_STORE = 'SENS_HIGH_DS_STORE',
|
|
226
|
+
|
|
227
|
+
// ========================================
|
|
228
|
+
// SENSITIVE PATH SCOUT - MEDIUM (SENS_MED_*)
|
|
229
|
+
// ========================================
|
|
230
|
+
SENS_MED_SWAGGER_DOCS = 'SENS_MED_SWAGGER_DOCS',
|
|
231
|
+
SENS_MED_APACHE_STATUS = 'SENS_MED_APACHE_STATUS',
|
|
232
|
+
SENS_MED_PROMETHEUS_METRICS = 'SENS_MED_PROMETHEUS_METRICS',
|
|
233
|
+
SENS_MED_DOCKERFILE = 'SENS_MED_DOCKERFILE',
|
|
234
|
+
SENS_MED_FIREBASE_CONFIG = 'SENS_MED_FIREBASE_CONFIG',
|
|
235
|
+
SENS_MED_SOURCE_MAP = 'SENS_MED_SOURCE_MAP',
|
|
236
|
+
SENS_MED_ELASTICSEARCH = 'SENS_MED_ELASTICSEARCH',
|
|
237
|
+
SENS_MED_ADMIN_PANEL = 'SENS_MED_ADMIN_PANEL',
|
|
238
|
+
SENS_MED_COMPOSER_LOCK = 'SENS_MED_COMPOSER_LOCK',
|
|
239
|
+
SENS_MED_PACKAGE_LOCK = 'SENS_MED_PACKAGE_LOCK',
|
|
240
|
+
SENS_MED_GEMFILE_LOCK = 'SENS_MED_GEMFILE_LOCK',
|
|
241
|
+
SENS_MED_ROBOTS_TXT = 'SENS_MED_ROBOTS_TXT',
|
|
242
|
+
SENS_MED_SITEMAP = 'SENS_MED_SITEMAP',
|
|
243
|
+
SENS_MED_CROSSDOMAIN_XML = 'SENS_MED_CROSSDOMAIN_XML',
|
|
244
|
+
|
|
245
|
+
// ========================================
|
|
246
|
+
// SENSITIVE PATH SCOUT - LOW (SENS_LOW_*)
|
|
247
|
+
// ========================================
|
|
248
|
+
SENS_LOW_TRAVIS_CI = 'SENS_LOW_TRAVIS_CI',
|
|
249
|
+
SENS_LOW_JENKINSFILE = 'SENS_LOW_JENKINSFILE',
|
|
250
|
+
SENS_LOW_CIRCLECI = 'SENS_LOW_CIRCLECI',
|
|
251
|
+
SENS_LOW_GITLAB_CI = 'SENS_LOW_GITLAB_CI',
|
|
252
|
+
SENS_LOW_README = 'SENS_LOW_README',
|
|
253
|
+
SENS_LOW_CHANGELOG = 'SENS_LOW_CHANGELOG',
|
|
254
|
+
SENS_LOW_LICENSE = 'SENS_LOW_LICENSE',
|
|
255
|
+
|
|
256
|
+
// ========================================
|
|
257
|
+
// SENSITIVE PATH SCOUT - EXTENDED
|
|
258
|
+
// ========================================
|
|
259
|
+
// HIGH
|
|
260
|
+
SENS_HIGH_WEB_SERVER_CONFIGURATION_FILE_DETECTED = 'SENS_HIGH_WEB_SERVER_CONFIGURATION_FILE_DETECTED',
|
|
261
|
+
SENS_HIGH_APPSETTINGS_JSON_EXPOSED = 'SENS_HIGH_APPSETTINGS_JSON_EXPOSED',
|
|
262
|
+
SENS_HIGH_SPRING_CONFIG_EXPOSED = 'SENS_HIGH_SPRING_CONFIG_EXPOSED',
|
|
263
|
+
SENS_HIGH_NPMRC_EXPOSED = 'SENS_HIGH_NPMRC_EXPOSED',
|
|
264
|
+
SENS_HIGH_RAILS_DATABASE_YML_EXPOSED = 'SENS_HIGH_RAILS_DATABASE_YML_EXPOSED',
|
|
265
|
+
SENS_HIGH_DRUPAL_SETTINGS_PHP_EXPOSED = 'SENS_HIGH_DRUPAL_SETTINGS_PHP_EXPOSED',
|
|
266
|
+
SENS_HIGH_MAGENTO_ENV_PHP_EXPOSED = 'SENS_HIGH_MAGENTO_ENV_PHP_EXPOSED',
|
|
267
|
+
SENS_HIGH_JOLOKIA_EXPOSED = 'SENS_HIGH_JOLOKIA_EXPOSED',
|
|
268
|
+
SENS_HIGH_SVN_WORKING_COPY_DATABASE_EXPOSED = 'SENS_HIGH_SVN_WORKING_COPY_DATABASE_EXPOSED',
|
|
269
|
+
SENS_HIGH_SUBVERSION_REPOSITORY_DETECTED = 'SENS_HIGH_SUBVERSION_REPOSITORY_DETECTED',
|
|
270
|
+
SENS_HIGH_SPRING_BOOT_THREAD_DUMP_EXPOSED = 'SENS_HIGH_SPRING_BOOT_THREAD_DUMP_EXPOSED',
|
|
271
|
+
SENS_HIGH_REDIS_RDB_DUMP_DETECTED = 'SENS_HIGH_REDIS_RDB_DUMP_DETECTED',
|
|
272
|
+
SENS_HIGH_TRACE_AXD = 'SENS_HIGH_TRACE_AXD',
|
|
273
|
+
SENS_HIGH_ELMAH_AXD_EXPOSED = 'SENS_HIGH_ELMAH_AXD_EXPOSED',
|
|
274
|
+
SENS_HIGH_SQLITE_DATABASE_DETECTED = 'SENS_HIGH_SQLITE_DATABASE_DETECTED',
|
|
275
|
+
SENS_HIGH_AWS_CONFIG_EXPOSED = 'SENS_HIGH_AWS_CONFIG_EXPOSED',
|
|
276
|
+
SENS_HIGH_AZURE_CREDENTIALS_EXPOSED = 'SENS_HIGH_AZURE_CREDENTIALS_EXPOSED',
|
|
277
|
+
SENS_HIGH_HELM_VALUES_EXPOSED = 'SENS_HIGH_HELM_VALUES_EXPOSED',
|
|
278
|
+
SENS_HIGH_TERRAFORM_VARS_EXPOSED = 'SENS_HIGH_TERRAFORM_VARS_EXPOSED',
|
|
279
|
+
SENS_HIGH_LARAVEL_LOG_EXPOSED = 'SENS_HIGH_LARAVEL_LOG_EXPOSED',
|
|
280
|
+
SENS_HIGH_WORD_PRESS_DEBUG_LOG_EXPOSED = 'SENS_HIGH_WORD_PRESS_DEBUG_LOG_EXPOSED',
|
|
281
|
+
SENS_HIGH_ADMINER_EXPOSED = 'SENS_HIGH_ADMINER_EXPOSED',
|
|
282
|
+
SENS_HIGH_DEBUG_ENDPOINT_EXPOSED = 'SENS_HIGH_DEBUG_ENDPOINT_EXPOSED',
|
|
283
|
+
SENS_HIGH_GO_DEBUG_VARS_EXPOSED = 'SENS_HIGH_GO_DEBUG_VARS_EXPOSED',
|
|
284
|
+
SENS_HIGH_GO_PPROF_EXPOSED = 'SENS_HIGH_GO_PPROF_EXPOSED',
|
|
285
|
+
SENS_HIGH_AZURE_STORAGE_CONFIG_EXPOSED = 'SENS_HIGH_AZURE_STORAGE_CONFIG_EXPOSED',
|
|
286
|
+
SENS_HIGH_MONGO_RC_EXPOSED = 'SENS_HIGH_MONGO_RC_EXPOSED',
|
|
287
|
+
// MEDIUM
|
|
288
|
+
SENS_MED_UN_PROTECTED_CONFIG_JSON = 'SENS_MED_UN_PROTECTED_CONFIG_JSON',
|
|
289
|
+
SENS_MED_MERCURIAL_REPOSITORY_FOUND = 'SENS_MED_MERCURIAL_REPOSITORY_FOUND',
|
|
290
|
+
SENS_MED_MERCURIAL_HGRC_EXPOSED = 'SENS_MED_MERCURIAL_HGRC_EXPOSED',
|
|
291
|
+
SENS_MED_CVS_ROOT_EXPOSED = 'SENS_MED_CVS_ROOT_EXPOSED',
|
|
292
|
+
SENS_MED_CVS_ENTRIES_EXPOSED = 'SENS_MED_CVS_ENTRIES_EXPOSED',
|
|
293
|
+
SENS_MED_BAZAAR_REPO_EXPOSED = 'SENS_MED_BAZAAR_REPO_EXPOSED',
|
|
294
|
+
SENS_MED_DOCKER_COMPOSE_CONFIGURATION_DETECTED = 'SENS_MED_DOCKER_COMPOSE_CONFIGURATION_DETECTED',
|
|
295
|
+
SENS_MED_LARAVEL_LOG_VIEWER_ENABLED = 'SENS_MED_LARAVEL_LOG_VIEWER_ENABLED',
|
|
296
|
+
SENS_MED_APACHE_HTACCESS_FILE_DETECTED = 'SENS_MED_APACHE_HTACCESS_FILE_DETECTED',
|
|
297
|
+
SENS_MED_APACHE_SERVER_INFO_EXPOSED = 'SENS_MED_APACHE_SERVER_INFO_EXPOSED',
|
|
298
|
+
SENS_MED_PACKAGE_DEPENDENCIES_DETECTED = 'SENS_MED_PACKAGE_DEPENDENCIES_DETECTED',
|
|
299
|
+
SENS_MED_PHP_COMPOSER_DEPENDENCIES_DETECTED = 'SENS_MED_PHP_COMPOSER_DEPENDENCIES_DETECTED',
|
|
300
|
+
SENS_MED_SSH_PUBLIC_KEY_EXPOSED = 'SENS_MED_SSH_PUBLIC_KEY_EXPOSED',
|
|
301
|
+
SENS_MED_SSL_CERTIFICATE_EXPOSED = 'SENS_MED_SSL_CERTIFICATE_EXPOSED',
|
|
302
|
+
SENS_MED_GRAPH_QL_ENDPOINT_EXPOSED = 'SENS_MED_GRAPH_QL_ENDPOINT_EXPOSED',
|
|
303
|
+
SENS_MED_GRAPHI_QL_EXPOSED = 'SENS_MED_GRAPHI_QL_EXPOSED',
|
|
304
|
+
SENS_MED_TERRAFORM_LOCK_EXPOSED = 'SENS_MED_TERRAFORM_LOCK_EXPOSED',
|
|
305
|
+
SENS_MED_ERROR_LOG_EXPOSED = 'SENS_MED_ERROR_LOG_EXPOSED',
|
|
306
|
+
SENS_MED_ACCESS_LOG_EXPOSED = 'SENS_MED_ACCESS_LOG_EXPOSED',
|
|
307
|
+
SENS_MED_DEBUG_LOG_EXPOSED = 'SENS_MED_DEBUG_LOG_EXPOSED',
|
|
308
|
+
SENS_MED_APPLICATION_LOG_EXPOSED = 'SENS_MED_APPLICATION_LOG_EXPOSED',
|
|
309
|
+
SENS_MED_WSDL_EXPOSED = 'SENS_MED_WSDL_EXPOSED',
|
|
310
|
+
SENS_MED_WORD_PRESS_XML_RPC_EXPOSED = 'SENS_MED_WORD_PRESS_XML_RPC_EXPOSED',
|
|
311
|
+
// LOW
|
|
312
|
+
SENS_LOW_TOML_PROJECT_FILE_EXPOSED = 'SENS_LOW_TOML_PROJECT_FILE_EXPOSED',
|
|
313
|
+
SENS_LOW_ATLASSIAN_BITBUCKET_PIPELINES_CONFIGURATION_DETECTED = 'SENS_LOW_ATLASSIAN_BITBUCKET_PIPELINES_CONFIGURATION_DETECTED',
|
|
314
|
+
SENS_LOW_AZURE_PIPELINES_CONFIGURATION_DETECTED = 'SENS_LOW_AZURE_PIPELINES_CONFIGURATION_DETECTED',
|
|
315
|
+
SENS_LOW_AWS_CODE_BUILD_BUILDSPEC_DETECTED = 'SENS_LOW_AWS_CODE_BUILD_BUILDSPEC_DETECTED',
|
|
316
|
+
SENS_LOW_GITHUB_ACTIONS_WORKFLOW_DETECTED = 'SENS_LOW_GITHUB_ACTIONS_WORKFLOW_DETECTED',
|
|
317
|
+
SENS_LOW_PYTHON_REQUIREMENTS_DETECTED = 'SENS_LOW_PYTHON_REQUIREMENTS_DETECTED',
|
|
318
|
+
SENS_LOW_TEST_ENDPOINT_EXPOSED = 'SENS_LOW_TEST_ENDPOINT_EXPOSED',
|
|
319
|
+
SENS_LOW_STAGING_ENDPOINT_EXPOSED = 'SENS_LOW_STAGING_ENDPOINT_EXPOSED',
|
|
320
|
+
SENS_LOW_EDITOR_BACKUP_FILE_DETECTED = 'SENS_LOW_EDITOR_BACKUP_FILE_DETECTED',
|
|
321
|
+
SENS_LOW_VIM_SWAP_FILE_DETECTED = 'SENS_LOW_VIM_SWAP_FILE_DETECTED',
|
|
322
|
+
SENS_LOW_DIRECTORY_LISTING_ENABLED = 'SENS_LOW_DIRECTORY_LISTING_ENABLED',
|
|
323
|
+
SENS_LOW_AWSSAM_TEMPLATE_EXPOSED = 'SENS_LOW_AWSSAM_TEMPLATE_EXPOSED',
|
|
324
|
+
SENS_LOW_SERVERLESS_CONFIG_EXPOSED = 'SENS_LOW_SERVERLESS_CONFIG_EXPOSED',
|
|
325
|
+
SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED = 'SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED',
|
|
326
|
+
|
|
327
|
+
// ========================================
|
|
328
|
+
// CLICKJACKING (CLICK_*)
|
|
329
|
+
// ========================================
|
|
330
|
+
CLICK_FRAMEABLE = 'CLICK_FRAMEABLE',
|
|
331
|
+
CLICK_PARTIAL_PROTECTION = 'CLICK_PARTIAL_PROTECTION',
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
export default VulnerabilityCode;
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vulnerability Registry - Main Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Exports all vulnerability codes, definitions, and lookup utilities
|
|
5
|
+
*/
|
|
6
|
+
import { VulnerabilityCode } from './error-codes.js';
|
|
7
|
+
import type { VulnerabilityDefinition, VulnerabilityLookup, Severity, VulnerabilityCategory } from './types.js';
|
|
8
|
+
import { INJECTION_VULNERABILITIES } from './categories/injection.js';
|
|
9
|
+
import { XSS_VULNERABILITIES } from './categories/xss.js';
|
|
10
|
+
import { SSRF_VULNERABILITIES } from './categories/ssrf.js';
|
|
11
|
+
import { AUTH_VULNERABILITIES } from './categories/authentication.js';
|
|
12
|
+
import { CONFIG_VULNERABILITIES } from './categories/configuration.js';
|
|
13
|
+
import { SENSITIVE_PATH_VULNERABILITIES } from './categories/sensitive-paths.js';
|
|
14
|
+
/**
|
|
15
|
+
* Complete vulnerability registry combining all categories
|
|
16
|
+
*/
|
|
17
|
+
export declare const VULNERABILITY_REGISTRY: Record<string, VulnerabilityDefinition>;
|
|
18
|
+
/**
|
|
19
|
+
* Get vulnerability definition by code
|
|
20
|
+
*/
|
|
21
|
+
export declare function getVulnerabilityDefinition(code: VulnerabilityCode | string): VulnerabilityLookup;
|
|
22
|
+
/**
|
|
23
|
+
* Get all vulnerabilities for a specific scanner
|
|
24
|
+
*/
|
|
25
|
+
export declare function getVulnerabilitiesByScanner(scanner: string): VulnerabilityDefinition[];
|
|
26
|
+
/**
|
|
27
|
+
* Get all vulnerabilities for a specific category
|
|
28
|
+
*/
|
|
29
|
+
export declare function getVulnerabilitiesByCategory(category: VulnerabilityCategory): VulnerabilityDefinition[];
|
|
30
|
+
/**
|
|
31
|
+
* Get all vulnerabilities for a specific severity
|
|
32
|
+
*/
|
|
33
|
+
export declare function getVulnerabilitiesBySeverity(severity: Severity): VulnerabilityDefinition[];
|
|
34
|
+
/**
|
|
35
|
+
* Get all vulnerability codes
|
|
36
|
+
*/
|
|
37
|
+
export declare function getAllVulnerabilityCodes(): VulnerabilityCode[];
|
|
38
|
+
/**
|
|
39
|
+
* Get total count of registered vulnerabilities
|
|
40
|
+
*/
|
|
41
|
+
export declare function getVulnerabilityCount(): number;
|
|
42
|
+
/**
|
|
43
|
+
* Create a finding with vulnerability definition
|
|
44
|
+
*/
|
|
45
|
+
export declare function createFinding(code: VulnerabilityCode | string, overrides?: Partial<VulnerabilityDefinition>): VulnerabilityDefinition | null;
|
|
46
|
+
export { VulnerabilityCode } from './error-codes.js';
|
|
47
|
+
export type { VulnerabilityDefinition, VulnerabilityLookup, CVSSProfile, CWEReference, OWASPReference, Severity, VulnerabilityCategory, } from './types.js';
|
|
48
|
+
export { INJECTION_VULNERABILITIES, XSS_VULNERABILITIES, SSRF_VULNERABILITIES, AUTH_VULNERABILITIES, CONFIG_VULNERABILITIES, SENSITIVE_PATH_VULNERABILITIES, };
|
|
49
|
+
declare const _default: {
|
|
50
|
+
VulnerabilityCode: typeof VulnerabilityCode;
|
|
51
|
+
VULNERABILITY_REGISTRY: Record<string, VulnerabilityDefinition>;
|
|
52
|
+
getVulnerabilityDefinition: typeof getVulnerabilityDefinition;
|
|
53
|
+
getVulnerabilitiesByScanner: typeof getVulnerabilitiesByScanner;
|
|
54
|
+
getVulnerabilitiesByCategory: typeof getVulnerabilitiesByCategory;
|
|
55
|
+
getVulnerabilitiesBySeverity: typeof getVulnerabilitiesBySeverity;
|
|
56
|
+
getAllVulnerabilityCodes: typeof getAllVulnerabilityCodes;
|
|
57
|
+
getVulnerabilityCount: typeof getVulnerabilityCount;
|
|
58
|
+
createFinding: typeof createFinding;
|
|
59
|
+
};
|
|
60
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAA6C,QAAQ,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAG3J,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAO1E,CAAC;AAEF;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,mBAAmB,CAMhG;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAEtF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,qBAAqB,GAAG,uBAAuB,EAAE,CAEvG;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,GAAG,uBAAuB,EAAE,CAE1F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,EAAE,CAE9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAChC,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC7C,uBAAuB,GAAG,IAAI,CAUhC;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EACR,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,qBAAqB,GACxB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,GACjC,CAAC;;;;;;;;;;;;AAEF,wBAUE"}
|
package/src/index.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Vulnerability Registry - Main Entry Point
|
|
4
|
+
*
|
|
5
|
+
* Exports all vulnerability codes, definitions, and lookup utilities
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
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
|
+
exports.getVulnerabilityDefinition = getVulnerabilityDefinition;
|
|
10
|
+
exports.getVulnerabilitiesByScanner = getVulnerabilitiesByScanner;
|
|
11
|
+
exports.getVulnerabilitiesByCategory = getVulnerabilitiesByCategory;
|
|
12
|
+
exports.getVulnerabilitiesBySeverity = getVulnerabilitiesBySeverity;
|
|
13
|
+
exports.getAllVulnerabilityCodes = getAllVulnerabilityCodes;
|
|
14
|
+
exports.getVulnerabilityCount = getVulnerabilityCount;
|
|
15
|
+
exports.createFinding = createFinding;
|
|
16
|
+
const error_codes_js_1 = require("./error-codes.js");
|
|
17
|
+
// Import all category definitions
|
|
18
|
+
const injection_js_1 = require("./categories/injection.js");
|
|
19
|
+
Object.defineProperty(exports, "INJECTION_VULNERABILITIES", { enumerable: true, get: function () { return injection_js_1.INJECTION_VULNERABILITIES; } });
|
|
20
|
+
const xss_js_1 = require("./categories/xss.js");
|
|
21
|
+
Object.defineProperty(exports, "XSS_VULNERABILITIES", { enumerable: true, get: function () { return xss_js_1.XSS_VULNERABILITIES; } });
|
|
22
|
+
const ssrf_js_1 = require("./categories/ssrf.js");
|
|
23
|
+
Object.defineProperty(exports, "SSRF_VULNERABILITIES", { enumerable: true, get: function () { return ssrf_js_1.SSRF_VULNERABILITIES; } });
|
|
24
|
+
const authentication_js_1 = require("./categories/authentication.js");
|
|
25
|
+
Object.defineProperty(exports, "AUTH_VULNERABILITIES", { enumerable: true, get: function () { return authentication_js_1.AUTH_VULNERABILITIES; } });
|
|
26
|
+
const configuration_js_1 = require("./categories/configuration.js");
|
|
27
|
+
Object.defineProperty(exports, "CONFIG_VULNERABILITIES", { enumerable: true, get: function () { return configuration_js_1.CONFIG_VULNERABILITIES; } });
|
|
28
|
+
const sensitive_paths_js_1 = require("./categories/sensitive-paths.js");
|
|
29
|
+
Object.defineProperty(exports, "SENSITIVE_PATH_VULNERABILITIES", { enumerable: true, get: function () { return sensitive_paths_js_1.SENSITIVE_PATH_VULNERABILITIES; } });
|
|
30
|
+
/**
|
|
31
|
+
* Complete vulnerability registry combining all categories
|
|
32
|
+
*/
|
|
33
|
+
exports.VULNERABILITY_REGISTRY = {
|
|
34
|
+
...injection_js_1.INJECTION_VULNERABILITIES,
|
|
35
|
+
...xss_js_1.XSS_VULNERABILITIES,
|
|
36
|
+
...ssrf_js_1.SSRF_VULNERABILITIES,
|
|
37
|
+
...authentication_js_1.AUTH_VULNERABILITIES,
|
|
38
|
+
...configuration_js_1.CONFIG_VULNERABILITIES,
|
|
39
|
+
...sensitive_paths_js_1.SENSITIVE_PATH_VULNERABILITIES,
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Get vulnerability definition by code
|
|
43
|
+
*/
|
|
44
|
+
function getVulnerabilityDefinition(code) {
|
|
45
|
+
const definition = exports.VULNERABILITY_REGISTRY[code];
|
|
46
|
+
if (definition) {
|
|
47
|
+
return { found: true, definition };
|
|
48
|
+
}
|
|
49
|
+
return { found: false };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get all vulnerabilities for a specific scanner
|
|
53
|
+
*/
|
|
54
|
+
function getVulnerabilitiesByScanner(scanner) {
|
|
55
|
+
return Object.values(exports.VULNERABILITY_REGISTRY).filter(v => v.scanner === scanner);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get all vulnerabilities for a specific category
|
|
59
|
+
*/
|
|
60
|
+
function getVulnerabilitiesByCategory(category) {
|
|
61
|
+
return Object.values(exports.VULNERABILITY_REGISTRY).filter(v => v.category === category);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get all vulnerabilities for a specific severity
|
|
65
|
+
*/
|
|
66
|
+
function getVulnerabilitiesBySeverity(severity) {
|
|
67
|
+
return Object.values(exports.VULNERABILITY_REGISTRY).filter(v => v.severity === severity);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get all vulnerability codes
|
|
71
|
+
*/
|
|
72
|
+
function getAllVulnerabilityCodes() {
|
|
73
|
+
return Object.values(error_codes_js_1.VulnerabilityCode);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get total count of registered vulnerabilities
|
|
77
|
+
*/
|
|
78
|
+
function getVulnerabilityCount() {
|
|
79
|
+
return Object.keys(exports.VULNERABILITY_REGISTRY).length;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Create a finding with vulnerability definition
|
|
83
|
+
*/
|
|
84
|
+
function createFinding(code, overrides) {
|
|
85
|
+
const lookup = getVulnerabilityDefinition(code);
|
|
86
|
+
if (!lookup.found || !lookup.definition) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
...lookup.definition,
|
|
91
|
+
...overrides,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
// Re-export all types and enums
|
|
95
|
+
var error_codes_js_2 = require("./error-codes.js");
|
|
96
|
+
Object.defineProperty(exports, "VulnerabilityCode", { enumerable: true, get: function () { return error_codes_js_2.VulnerabilityCode; } });
|
|
97
|
+
exports.default = {
|
|
98
|
+
VulnerabilityCode: error_codes_js_1.VulnerabilityCode,
|
|
99
|
+
VULNERABILITY_REGISTRY: exports.VULNERABILITY_REGISTRY,
|
|
100
|
+
getVulnerabilityDefinition,
|
|
101
|
+
getVulnerabilitiesByScanner,
|
|
102
|
+
getVulnerabilitiesByCategory,
|
|
103
|
+
getVulnerabilitiesBySeverity,
|
|
104
|
+
getAllVulnerabilityCodes,
|
|
105
|
+
getVulnerabilityCount,
|
|
106
|
+
createFinding,
|
|
107
|
+
};
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vulnerability Registry - Main Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Exports all vulnerability codes, definitions, and lookup utilities
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { VulnerabilityCode } from './error-codes.js';
|
|
8
|
+
import type { VulnerabilityDefinition, VulnerabilityLookup, CVSSProfile, CWEReference, OWASPReference, Severity, VulnerabilityCategory } from './types.js';
|
|
9
|
+
|
|
10
|
+
// Import all category definitions
|
|
11
|
+
import { INJECTION_VULNERABILITIES } from './categories/injection.js';
|
|
12
|
+
import { XSS_VULNERABILITIES } from './categories/xss.js';
|
|
13
|
+
import { SSRF_VULNERABILITIES } from './categories/ssrf.js';
|
|
14
|
+
import { AUTH_VULNERABILITIES } from './categories/authentication.js';
|
|
15
|
+
import { CONFIG_VULNERABILITIES } from './categories/configuration.js';
|
|
16
|
+
import { SENSITIVE_PATH_VULNERABILITIES } from './categories/sensitive-paths.js';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Complete vulnerability registry combining all categories
|
|
20
|
+
*/
|
|
21
|
+
export const VULNERABILITY_REGISTRY: Record<string, VulnerabilityDefinition> = {
|
|
22
|
+
...INJECTION_VULNERABILITIES,
|
|
23
|
+
...XSS_VULNERABILITIES,
|
|
24
|
+
...SSRF_VULNERABILITIES,
|
|
25
|
+
...AUTH_VULNERABILITIES,
|
|
26
|
+
...CONFIG_VULNERABILITIES,
|
|
27
|
+
...SENSITIVE_PATH_VULNERABILITIES,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Get vulnerability definition by code
|
|
32
|
+
*/
|
|
33
|
+
export function getVulnerabilityDefinition(code: VulnerabilityCode | string): VulnerabilityLookup {
|
|
34
|
+
const definition = VULNERABILITY_REGISTRY[code];
|
|
35
|
+
if (definition) {
|
|
36
|
+
return { found: true, definition };
|
|
37
|
+
}
|
|
38
|
+
return { found: false };
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Get all vulnerabilities for a specific scanner
|
|
43
|
+
*/
|
|
44
|
+
export function getVulnerabilitiesByScanner(scanner: string): VulnerabilityDefinition[] {
|
|
45
|
+
return Object.values(VULNERABILITY_REGISTRY).filter(v => v.scanner === scanner);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Get all vulnerabilities for a specific category
|
|
50
|
+
*/
|
|
51
|
+
export function getVulnerabilitiesByCategory(category: VulnerabilityCategory): VulnerabilityDefinition[] {
|
|
52
|
+
return Object.values(VULNERABILITY_REGISTRY).filter(v => v.category === category);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Get all vulnerabilities for a specific severity
|
|
57
|
+
*/
|
|
58
|
+
export function getVulnerabilitiesBySeverity(severity: Severity): VulnerabilityDefinition[] {
|
|
59
|
+
return Object.values(VULNERABILITY_REGISTRY).filter(v => v.severity === severity);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Get all vulnerability codes
|
|
64
|
+
*/
|
|
65
|
+
export function getAllVulnerabilityCodes(): VulnerabilityCode[] {
|
|
66
|
+
return Object.values(VulnerabilityCode);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Get total count of registered vulnerabilities
|
|
71
|
+
*/
|
|
72
|
+
export function getVulnerabilityCount(): number {
|
|
73
|
+
return Object.keys(VULNERABILITY_REGISTRY).length;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Create a finding with vulnerability definition
|
|
78
|
+
*/
|
|
79
|
+
export function createFinding(
|
|
80
|
+
code: VulnerabilityCode | string,
|
|
81
|
+
overrides?: Partial<VulnerabilityDefinition>
|
|
82
|
+
): VulnerabilityDefinition | null {
|
|
83
|
+
const lookup = getVulnerabilityDefinition(code);
|
|
84
|
+
if (!lookup.found || !lookup.definition) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return {
|
|
89
|
+
...lookup.definition,
|
|
90
|
+
...overrides,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Re-export all types and enums
|
|
95
|
+
export { VulnerabilityCode } from './error-codes.js';
|
|
96
|
+
export type {
|
|
97
|
+
VulnerabilityDefinition,
|
|
98
|
+
VulnerabilityLookup,
|
|
99
|
+
CVSSProfile,
|
|
100
|
+
CWEReference,
|
|
101
|
+
OWASPReference,
|
|
102
|
+
Severity,
|
|
103
|
+
VulnerabilityCategory,
|
|
104
|
+
} from './types.js';
|
|
105
|
+
|
|
106
|
+
// Export category definitions for direct access
|
|
107
|
+
export {
|
|
108
|
+
INJECTION_VULNERABILITIES,
|
|
109
|
+
XSS_VULNERABILITIES,
|
|
110
|
+
SSRF_VULNERABILITIES,
|
|
111
|
+
AUTH_VULNERABILITIES,
|
|
112
|
+
CONFIG_VULNERABILITIES,
|
|
113
|
+
SENSITIVE_PATH_VULNERABILITIES,
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
export default {
|
|
117
|
+
VulnerabilityCode,
|
|
118
|
+
VULNERABILITY_REGISTRY,
|
|
119
|
+
getVulnerabilityDefinition,
|
|
120
|
+
getVulnerabilitiesByScanner,
|
|
121
|
+
getVulnerabilitiesByCategory,
|
|
122
|
+
getVulnerabilitiesBySeverity,
|
|
123
|
+
getAllVulnerabilityCodes,
|
|
124
|
+
getVulnerabilityCount,
|
|
125
|
+
createFinding,
|
|
126
|
+
};
|