@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.
Files changed (76) hide show
  1. package/dist/categories/authentication.d.ts +8 -0
  2. package/dist/categories/authentication.js +375 -0
  3. package/dist/categories/configuration.d.ts +8 -0
  4. package/dist/categories/configuration.js +903 -0
  5. package/dist/categories/injection.d.ts +8 -0
  6. package/dist/categories/injection.js +747 -0
  7. package/dist/categories/sensitive-paths.d.ts +9 -0
  8. package/dist/categories/sensitive-paths.js +1788 -0
  9. package/dist/categories/ssrf.d.ts +8 -0
  10. package/dist/categories/ssrf.js +247 -0
  11. package/dist/categories/xss.d.ts +7 -0
  12. package/dist/categories/xss.js +325 -0
  13. package/dist/error-codes.d.ts +242 -0
  14. package/dist/error-codes.js +312 -0
  15. package/dist/index.d.ts +60 -0
  16. package/dist/index.js +92 -0
  17. package/dist/types.d.ts +86 -0
  18. package/dist/types.js +6 -0
  19. package/dist-cjs/categories/authentication.js +378 -0
  20. package/dist-cjs/categories/configuration.js +906 -0
  21. package/dist-cjs/categories/injection.js +750 -0
  22. package/dist-cjs/categories/sensitive-paths.js +1791 -0
  23. package/dist-cjs/categories/ssrf.js +250 -0
  24. package/dist-cjs/categories/xss.js +328 -0
  25. package/dist-cjs/error-codes.js +315 -0
  26. package/dist-cjs/index.js +107 -0
  27. package/dist-cjs/types.js +7 -0
  28. package/package.json +35 -0
  29. package/src/categories/authentication.d.ts +8 -0
  30. package/src/categories/authentication.d.ts.map +1 -0
  31. package/src/categories/authentication.js +378 -0
  32. package/src/categories/authentication.js.map +1 -0
  33. package/src/categories/authentication.ts +395 -0
  34. package/src/categories/configuration.d.ts +8 -0
  35. package/src/categories/configuration.d.ts.map +1 -0
  36. package/src/categories/configuration.js +906 -0
  37. package/src/categories/configuration.js.map +1 -0
  38. package/src/categories/configuration.ts +948 -0
  39. package/src/categories/injection.d.ts +8 -0
  40. package/src/categories/injection.d.ts.map +1 -0
  41. package/src/categories/injection.js +750 -0
  42. package/src/categories/injection.js.map +1 -0
  43. package/src/categories/injection.ts +785 -0
  44. package/src/categories/sensitive-paths.d.ts +9 -0
  45. package/src/categories/sensitive-paths.d.ts.map +1 -0
  46. package/src/categories/sensitive-paths.js +1791 -0
  47. package/src/categories/sensitive-paths.js.map +1 -0
  48. package/src/categories/sensitive-paths.ts +1875 -0
  49. package/src/categories/ssrf.d.ts +8 -0
  50. package/src/categories/ssrf.d.ts.map +1 -0
  51. package/src/categories/ssrf.js +250 -0
  52. package/src/categories/ssrf.js.map +1 -0
  53. package/src/categories/ssrf.ts +261 -0
  54. package/src/categories/xss.d.ts +7 -0
  55. package/src/categories/xss.d.ts.map +1 -0
  56. package/src/categories/xss.js +328 -0
  57. package/src/categories/xss.js.map +1 -0
  58. package/src/categories/xss.ts +342 -0
  59. package/src/error-codes.d.ts +242 -0
  60. package/src/error-codes.d.ts.map +1 -0
  61. package/src/error-codes.js +315 -0
  62. package/src/error-codes.js.map +1 -0
  63. package/src/error-codes.ts +334 -0
  64. package/src/index.d.ts +60 -0
  65. package/src/index.d.ts.map +1 -0
  66. package/src/index.js +107 -0
  67. package/src/index.js.map +1 -0
  68. package/src/index.ts +126 -0
  69. package/src/types.d.ts +86 -0
  70. package/src/types.d.ts.map +1 -0
  71. package/src/types.js +7 -0
  72. package/src/types.js.map +1 -0
  73. package/src/types.ts +109 -0
  74. package/tsconfig.cjs.json +8 -0
  75. package/tsconfig.json +21 -0
  76. 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
+ };
@@ -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
+ };