@resq-systems/security 1.0.5 → 2.1.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/README.md +236 -33
- package/lib/controls/address.d.mts +142 -0
- package/lib/controls/address.d.mts.map +1 -0
- package/lib/controls/address.mjs +533 -0
- package/lib/controls/address.mjs.map +1 -0
- package/lib/controls/csrf.d.mts +91 -0
- package/lib/controls/csrf.d.mts.map +1 -0
- package/lib/controls/csrf.mjs +200 -0
- package/lib/controls/csrf.mjs.map +1 -0
- package/lib/controls/index.d.mts +8 -0
- package/lib/controls/index.mjs +8 -0
- package/lib/controls/origin.d.mts +95 -0
- package/lib/controls/origin.d.mts.map +1 -0
- package/lib/controls/origin.mjs +156 -0
- package/lib/controls/origin.mjs.map +1 -0
- package/lib/controls/payload.d.mts +84 -0
- package/lib/controls/payload.d.mts.map +1 -0
- package/lib/controls/payload.mjs +147 -0
- package/lib/controls/payload.mjs.map +1 -0
- package/lib/controls/query.d.mts +169 -0
- package/lib/controls/query.d.mts.map +1 -0
- package/lib/controls/query.mjs +386 -0
- package/lib/controls/query.mjs.map +1 -0
- package/lib/controls/redirect.d.mts +92 -0
- package/lib/controls/redirect.d.mts.map +1 -0
- package/lib/controls/redirect.mjs +110 -0
- package/lib/controls/redirect.mjs.map +1 -0
- package/lib/controls/upload.d.mts +108 -0
- package/lib/controls/upload.d.mts.map +1 -0
- package/lib/controls/upload.mjs +374 -0
- package/lib/controls/upload.mjs.map +1 -0
- package/lib/crypto.d.mts +18 -5
- package/lib/crypto.d.mts.map +1 -1
- package/lib/crypto.mjs +35 -24
- package/lib/crypto.mjs.map +1 -1
- package/lib/hash.d.mts +51 -6
- package/lib/hash.d.mts.map +1 -1
- package/lib/hash.mjs +51 -6
- package/lib/hash.mjs.map +1 -1
- package/lib/index.d.mts +17 -2
- package/lib/index.mjs +19 -2
- package/lib/paths.d.mts +92 -0
- package/lib/paths.d.mts.map +1 -0
- package/lib/paths.mjs +140 -0
- package/lib/paths.mjs.map +1 -0
- package/lib/sanitize.d.mts +137 -35
- package/lib/sanitize.d.mts.map +1 -1
- package/lib/sanitize.mjs +170 -46
- package/lib/sanitize.mjs.map +1 -1
- package/lib/threats/capec.generated.d.mts +59 -0
- package/lib/threats/capec.generated.d.mts.map +1 -0
- package/lib/threats/capec.generated.mjs +644 -0
- package/lib/threats/capec.generated.mjs.map +1 -0
- package/lib/threats/engine.d.mts +94 -0
- package/lib/threats/engine.d.mts.map +1 -0
- package/lib/threats/engine.mjs +167 -0
- package/lib/threats/engine.mjs.map +1 -0
- package/lib/threats/index.d.mts +11 -0
- package/lib/threats/index.mjs +11 -0
- package/lib/threats/rules/datastore.d.mts +13 -0
- package/lib/threats/rules/datastore.d.mts.map +1 -0
- package/lib/threats/rules/datastore.mjs +366 -0
- package/lib/threats/rules/datastore.mjs.map +1 -0
- package/lib/threats/rules/index.d.mts +54 -0
- package/lib/threats/rules/index.d.mts.map +1 -0
- package/lib/threats/rules/index.mjs +121 -0
- package/lib/threats/rules/index.mjs.map +1 -0
- package/lib/threats/rules/markup.d.mts +28 -0
- package/lib/threats/rules/markup.d.mts.map +1 -0
- package/lib/threats/rules/markup.mjs +373 -0
- package/lib/threats/rules/markup.mjs.map +1 -0
- package/lib/threats/rules/protocol.d.mts +49 -0
- package/lib/threats/rules/protocol.d.mts.map +1 -0
- package/lib/threats/rules/protocol.mjs +175 -0
- package/lib/threats/rules/protocol.mjs.map +1 -0
- package/lib/threats/rules/system.d.mts +19 -0
- package/lib/threats/rules/system.d.mts.map +1 -0
- package/lib/threats/rules/system.mjs +455 -0
- package/lib/threats/rules/system.mjs.map +1 -0
- package/lib/threats/rules/web.d.mts +26 -0
- package/lib/threats/rules/web.d.mts.map +1 -0
- package/lib/threats/rules/web.mjs +412 -0
- package/lib/threats/rules/web.mjs.map +1 -0
- package/lib/threats/scoring.d.mts +59 -0
- package/lib/threats/scoring.d.mts.map +1 -0
- package/lib/threats/scoring.mjs +111 -0
- package/lib/threats/scoring.mjs.map +1 -0
- package/lib/threats/types.d.mts +245 -0
- package/lib/threats/types.d.mts.map +1 -0
- package/lib/threats/types.mjs +52 -0
- package/lib/threats/types.mjs.map +1 -0
- package/lib/threats/variants.d.mts +57 -0
- package/lib/threats/variants.d.mts.map +1 -0
- package/lib/threats/variants.mjs +144 -0
- package/lib/threats/variants.mjs.map +1 -0
- package/lib/unicode/confusables.d.mts +82 -0
- package/lib/unicode/confusables.d.mts.map +1 -0
- package/lib/unicode/confusables.mjs +954 -0
- package/lib/unicode/confusables.mjs.map +1 -0
- package/lib/unicode/index.d.mts +126 -0
- package/lib/unicode/index.d.mts.map +1 -0
- package/lib/unicode/index.mjs +288 -0
- package/lib/unicode/index.mjs.map +1 -0
- package/lib/validators.d.mts +341 -164
- package/lib/validators.d.mts.map +1 -1
- package/lib/validators.mjs +519 -338
- package/lib/validators.mjs.map +1 -1
- package/package.json +35 -8
|
@@ -0,0 +1,644 @@
|
|
|
1
|
+
//#region src/threats/capec.generated.ts
|
|
2
|
+
/** Every relevant pattern, ordered by CAPEC id. */
|
|
3
|
+
const ATTACK_PATTERNS = [
|
|
4
|
+
{
|
|
5
|
+
capec: 1,
|
|
6
|
+
name: "Accessing Functionality Not Properly Constrained by ACLs",
|
|
7
|
+
abstraction: "Standard",
|
|
8
|
+
severity: "High",
|
|
9
|
+
cwes: [1321]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
capec: 3,
|
|
13
|
+
name: "Using Leading 'Ghost' Character Sequences to Bypass Input Filters",
|
|
14
|
+
abstraction: "Detailed",
|
|
15
|
+
severity: "Medium",
|
|
16
|
+
cwes: [74]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
capec: 6,
|
|
20
|
+
name: "Argument Injection",
|
|
21
|
+
abstraction: "Standard",
|
|
22
|
+
severity: "High",
|
|
23
|
+
cwes: [74, 78]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
capec: 7,
|
|
27
|
+
name: "Blind SQL Injection",
|
|
28
|
+
abstraction: "Detailed",
|
|
29
|
+
severity: "High",
|
|
30
|
+
cwes: [74, 89]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
capec: 8,
|
|
34
|
+
name: "Buffer Overflow in an API Call",
|
|
35
|
+
abstraction: "Detailed",
|
|
36
|
+
severity: "High",
|
|
37
|
+
cwes: [74]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
capec: 9,
|
|
41
|
+
name: "Buffer Overflow in Local Command-Line Utilities",
|
|
42
|
+
abstraction: "Detailed",
|
|
43
|
+
severity: "High",
|
|
44
|
+
cwes: [74]
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
capec: 10,
|
|
48
|
+
name: "Buffer Overflow via Environment Variables",
|
|
49
|
+
abstraction: "Detailed",
|
|
50
|
+
severity: "High",
|
|
51
|
+
cwes: [74]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
capec: 13,
|
|
55
|
+
name: "Subverting Environment Variable Values",
|
|
56
|
+
abstraction: "Detailed",
|
|
57
|
+
severity: "Very High",
|
|
58
|
+
cwes: [74]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
capec: 14,
|
|
62
|
+
name: "Client-side Injection-induced Buffer Overflow",
|
|
63
|
+
abstraction: "Detailed",
|
|
64
|
+
severity: "High",
|
|
65
|
+
cwes: [74]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
capec: 15,
|
|
69
|
+
name: "Command Delimiters",
|
|
70
|
+
abstraction: "Standard",
|
|
71
|
+
severity: "High",
|
|
72
|
+
cwes: [78]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
capec: 24,
|
|
76
|
+
name: "Filter Failure through Buffer Overflow",
|
|
77
|
+
abstraction: "Detailed",
|
|
78
|
+
severity: "High",
|
|
79
|
+
cwes: [74]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
capec: 31,
|
|
83
|
+
name: "Accessing/Intercepting/Modifying HTTP Cookies",
|
|
84
|
+
abstraction: "Detailed",
|
|
85
|
+
severity: "High",
|
|
86
|
+
cwes: [113]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
capec: 34,
|
|
90
|
+
name: "HTTP Response Splitting",
|
|
91
|
+
abstraction: "Detailed",
|
|
92
|
+
severity: "High",
|
|
93
|
+
cwes: [74, 113]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
capec: 35,
|
|
97
|
+
name: "Leverage Executable Code in Non-Executable Files",
|
|
98
|
+
abstraction: "Detailed",
|
|
99
|
+
severity: "Very High",
|
|
100
|
+
cwes: [
|
|
101
|
+
94,
|
|
102
|
+
95,
|
|
103
|
+
97
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
capec: 41,
|
|
108
|
+
name: "Using Meta-characters in E-mail Headers to Inject Malicious Payloads",
|
|
109
|
+
abstraction: "Detailed",
|
|
110
|
+
severity: "High",
|
|
111
|
+
cwes: [88]
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
capec: 42,
|
|
115
|
+
name: "MIME Conversion",
|
|
116
|
+
abstraction: "Detailed",
|
|
117
|
+
severity: "High",
|
|
118
|
+
cwes: [74]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
capec: 43,
|
|
122
|
+
name: "Exploiting Multiple Input Interpretation Layers",
|
|
123
|
+
abstraction: "Detailed",
|
|
124
|
+
severity: "High",
|
|
125
|
+
cwes: [74, 78]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
capec: 45,
|
|
129
|
+
name: "Buffer Overflow via Symbolic Links",
|
|
130
|
+
abstraction: "Detailed",
|
|
131
|
+
severity: "High",
|
|
132
|
+
cwes: [74]
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
capec: 46,
|
|
136
|
+
name: "Overflow Variables and Tags",
|
|
137
|
+
abstraction: "Detailed",
|
|
138
|
+
severity: "High",
|
|
139
|
+
cwes: [74]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
capec: 47,
|
|
143
|
+
name: "Buffer Overflow via Parameter Expansion",
|
|
144
|
+
abstraction: "Detailed",
|
|
145
|
+
severity: "High",
|
|
146
|
+
cwes: [74]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
capec: 50,
|
|
150
|
+
name: "Password Recovery Exploitation",
|
|
151
|
+
abstraction: "Standard",
|
|
152
|
+
severity: "High",
|
|
153
|
+
cwes: [522]
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
capec: 51,
|
|
157
|
+
name: "Poison Web Service Registry",
|
|
158
|
+
abstraction: "Detailed",
|
|
159
|
+
severity: "Very High",
|
|
160
|
+
cwes: [74]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
capec: 52,
|
|
164
|
+
name: "Embedding NULL Bytes",
|
|
165
|
+
abstraction: "Detailed",
|
|
166
|
+
severity: "High",
|
|
167
|
+
cwes: [74, 158]
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
capec: 53,
|
|
171
|
+
name: "Postfix, Null Terminate, and Backslash",
|
|
172
|
+
abstraction: "Detailed",
|
|
173
|
+
severity: "High",
|
|
174
|
+
cwes: [74, 158]
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
capec: 63,
|
|
178
|
+
name: "Cross-Site Scripting (XSS)",
|
|
179
|
+
abstraction: "Standard",
|
|
180
|
+
severity: "Very High",
|
|
181
|
+
cwes: [79]
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
capec: 64,
|
|
185
|
+
name: "Using Slashes and URL Encoding Combined to Bypass Validation Logic",
|
|
186
|
+
abstraction: "Detailed",
|
|
187
|
+
severity: "High",
|
|
188
|
+
cwes: [
|
|
189
|
+
22,
|
|
190
|
+
74,
|
|
191
|
+
177
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
capec: 66,
|
|
196
|
+
name: "SQL Injection",
|
|
197
|
+
abstraction: "Standard",
|
|
198
|
+
severity: "High",
|
|
199
|
+
cwes: [89]
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
capec: 67,
|
|
203
|
+
name: "String Format Overflow in syslog()",
|
|
204
|
+
abstraction: "Detailed",
|
|
205
|
+
severity: "Very High",
|
|
206
|
+
cwes: [74]
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
capec: 71,
|
|
210
|
+
name: "Using Unicode Encoding to Bypass Validation Logic",
|
|
211
|
+
abstraction: "Detailed",
|
|
212
|
+
severity: "High",
|
|
213
|
+
cwes: [74]
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
capec: 72,
|
|
217
|
+
name: "URL Encoding",
|
|
218
|
+
abstraction: "Detailed",
|
|
219
|
+
severity: "High",
|
|
220
|
+
cwes: [74, 177]
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
capec: 76,
|
|
224
|
+
name: "Manipulating Web Input to File System Calls",
|
|
225
|
+
abstraction: "Detailed",
|
|
226
|
+
severity: "Very High",
|
|
227
|
+
cwes: [22, 74]
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
capec: 77,
|
|
231
|
+
name: "Manipulating User-Controlled Variables",
|
|
232
|
+
abstraction: "Standard",
|
|
233
|
+
severity: "Very High",
|
|
234
|
+
cwes: [94, 1321]
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
capec: 78,
|
|
238
|
+
name: "Using Escaped Slashes in Alternate Encoding",
|
|
239
|
+
abstraction: "Detailed",
|
|
240
|
+
severity: "High",
|
|
241
|
+
cwes: [22, 74]
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
capec: 79,
|
|
245
|
+
name: "Using Slashes in Alternate Encoding",
|
|
246
|
+
abstraction: "Detailed",
|
|
247
|
+
severity: "High",
|
|
248
|
+
cwes: [22, 74]
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
capec: 80,
|
|
252
|
+
name: "Using UTF-8 Encoding to Bypass Validation Logic",
|
|
253
|
+
abstraction: "Detailed",
|
|
254
|
+
severity: "High",
|
|
255
|
+
cwes: [74]
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
capec: 81,
|
|
259
|
+
name: "Web Server Logs Tampering",
|
|
260
|
+
abstraction: "Detailed",
|
|
261
|
+
severity: "High",
|
|
262
|
+
cwes: [117]
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
capec: 83,
|
|
266
|
+
name: "XPath Injection",
|
|
267
|
+
abstraction: "Detailed",
|
|
268
|
+
severity: "High",
|
|
269
|
+
cwes: [74, 91]
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
capec: 84,
|
|
273
|
+
name: "XQuery Injection",
|
|
274
|
+
abstraction: "Detailed",
|
|
275
|
+
severity: "Very High",
|
|
276
|
+
cwes: [74]
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
capec: 85,
|
|
280
|
+
name: "AJAX Footprinting",
|
|
281
|
+
abstraction: "Detailed",
|
|
282
|
+
severity: "Low",
|
|
283
|
+
cwes: [79, 113]
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
capec: 88,
|
|
287
|
+
name: "OS Command Injection",
|
|
288
|
+
abstraction: "Standard",
|
|
289
|
+
severity: "High",
|
|
290
|
+
cwes: [78, 88]
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
capec: 93,
|
|
294
|
+
name: "Log Injection-Tampering-Forging",
|
|
295
|
+
abstraction: "Detailed",
|
|
296
|
+
severity: "High",
|
|
297
|
+
cwes: [117]
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
capec: 98,
|
|
301
|
+
name: "Phishing",
|
|
302
|
+
abstraction: "Standard",
|
|
303
|
+
severity: "Very High",
|
|
304
|
+
cwes: [451]
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
capec: 101,
|
|
308
|
+
name: "Server Side Include (SSI) Injection",
|
|
309
|
+
abstraction: "Detailed",
|
|
310
|
+
severity: "High",
|
|
311
|
+
cwes: [74, 97]
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
capec: 102,
|
|
315
|
+
name: "Session Sidejacking",
|
|
316
|
+
abstraction: "Detailed",
|
|
317
|
+
severity: "High",
|
|
318
|
+
cwes: [522]
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
capec: 105,
|
|
322
|
+
name: "HTTP Request Splitting",
|
|
323
|
+
abstraction: "Detailed",
|
|
324
|
+
severity: "High",
|
|
325
|
+
cwes: [74, 113]
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
capec: 108,
|
|
329
|
+
name: "Command Line Execution through SQL Injection",
|
|
330
|
+
abstraction: "Detailed",
|
|
331
|
+
severity: "Very High",
|
|
332
|
+
cwes: [
|
|
333
|
+
74,
|
|
334
|
+
78,
|
|
335
|
+
89
|
|
336
|
+
]
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
capec: 109,
|
|
340
|
+
name: "Object Relational Mapping Injection",
|
|
341
|
+
abstraction: "Detailed",
|
|
342
|
+
severity: "High",
|
|
343
|
+
cwes: [89]
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
capec: 110,
|
|
347
|
+
name: "SQL Injection through SOAP Parameter Tampering",
|
|
348
|
+
abstraction: "Detailed",
|
|
349
|
+
severity: "Very High",
|
|
350
|
+
cwes: [89]
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
capec: 120,
|
|
354
|
+
name: "Double Encoding",
|
|
355
|
+
abstraction: "Detailed",
|
|
356
|
+
severity: "Medium",
|
|
357
|
+
cwes: [74, 177]
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
capec: 126,
|
|
361
|
+
name: "Path Traversal",
|
|
362
|
+
abstraction: "Standard",
|
|
363
|
+
severity: "Very High",
|
|
364
|
+
cwes: [22]
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
capec: 135,
|
|
368
|
+
name: "Format String Injection",
|
|
369
|
+
abstraction: "Standard",
|
|
370
|
+
severity: "High",
|
|
371
|
+
cwes: [74]
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
capec: 136,
|
|
375
|
+
name: "LDAP Injection",
|
|
376
|
+
abstraction: "Standard",
|
|
377
|
+
severity: "High",
|
|
378
|
+
cwes: [90]
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
capec: 163,
|
|
382
|
+
name: "Spear Phishing",
|
|
383
|
+
abstraction: "Detailed",
|
|
384
|
+
severity: "High",
|
|
385
|
+
cwes: [451]
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
capec: 164,
|
|
389
|
+
name: "Mobile Phishing",
|
|
390
|
+
abstraction: "Detailed",
|
|
391
|
+
severity: "High",
|
|
392
|
+
cwes: [451]
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
capec: 174,
|
|
396
|
+
name: "Flash Parameter Injection",
|
|
397
|
+
abstraction: "Detailed",
|
|
398
|
+
severity: "Medium",
|
|
399
|
+
cwes: [88]
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
capec: 180,
|
|
403
|
+
name: "Exploiting Incorrectly Configured Access Control Security Levels",
|
|
404
|
+
abstraction: "Standard",
|
|
405
|
+
severity: "Medium",
|
|
406
|
+
cwes: [1321]
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
capec: 193,
|
|
410
|
+
name: "PHP Remote File Inclusion",
|
|
411
|
+
abstraction: "Detailed",
|
|
412
|
+
severity: "High",
|
|
413
|
+
cwes: [98]
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
capec: 209,
|
|
417
|
+
name: "XSS Using MIME Type Mismatch",
|
|
418
|
+
abstraction: "Detailed",
|
|
419
|
+
severity: "Medium",
|
|
420
|
+
cwes: [79]
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
capec: 215,
|
|
424
|
+
name: "Fuzzing for application mapping",
|
|
425
|
+
abstraction: "Detailed",
|
|
426
|
+
severity: "Low",
|
|
427
|
+
cwes: [532]
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
capec: 221,
|
|
431
|
+
name: "Data Serialization External Entities Blowup",
|
|
432
|
+
abstraction: "Detailed",
|
|
433
|
+
severity: "",
|
|
434
|
+
cwes: [611]
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
capec: 250,
|
|
438
|
+
name: "XML Injection",
|
|
439
|
+
abstraction: "Standard",
|
|
440
|
+
severity: "",
|
|
441
|
+
cwes: [74, 91]
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
capec: 267,
|
|
445
|
+
name: "Leverage Alternate Encoding",
|
|
446
|
+
abstraction: "Standard",
|
|
447
|
+
severity: "High",
|
|
448
|
+
cwes: [74]
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
capec: 268,
|
|
452
|
+
name: "Audit Log Manipulation",
|
|
453
|
+
abstraction: "Standard",
|
|
454
|
+
severity: "",
|
|
455
|
+
cwes: [117]
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
capec: 273,
|
|
459
|
+
name: "HTTP Response Smuggling",
|
|
460
|
+
abstraction: "Detailed",
|
|
461
|
+
severity: "High",
|
|
462
|
+
cwes: [74]
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
capec: 460,
|
|
466
|
+
name: "HTTP Parameter Pollution (HPP)",
|
|
467
|
+
abstraction: "Detailed",
|
|
468
|
+
severity: "Medium",
|
|
469
|
+
cwes: [88, 235]
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
capec: 463,
|
|
473
|
+
name: "Padding Oracle Crypto Attack",
|
|
474
|
+
abstraction: "Detailed",
|
|
475
|
+
severity: "High",
|
|
476
|
+
cwes: [347]
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
capec: 468,
|
|
480
|
+
name: "Generic Cross-Browser Cross-Domain Theft",
|
|
481
|
+
abstraction: "Standard",
|
|
482
|
+
severity: "Medium",
|
|
483
|
+
cwes: [177]
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
capec: 470,
|
|
487
|
+
name: "Expanding Control over the Operating System from the Database",
|
|
488
|
+
abstraction: "Detailed",
|
|
489
|
+
severity: "Very High",
|
|
490
|
+
cwes: [89]
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
capec: 474,
|
|
494
|
+
name: "Signature Spoofing by Key Theft",
|
|
495
|
+
abstraction: "Detailed",
|
|
496
|
+
severity: "High",
|
|
497
|
+
cwes: [522]
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
capec: 475,
|
|
501
|
+
name: "Signature Spoofing by Improper Validation",
|
|
502
|
+
abstraction: "Detailed",
|
|
503
|
+
severity: "High",
|
|
504
|
+
cwes: [347]
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
capec: 509,
|
|
508
|
+
name: "Kerberoasting",
|
|
509
|
+
abstraction: "Detailed",
|
|
510
|
+
severity: "High",
|
|
511
|
+
cwes: [522]
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
capec: 551,
|
|
515
|
+
name: "Modify Existing Service",
|
|
516
|
+
abstraction: "Detailed",
|
|
517
|
+
severity: "",
|
|
518
|
+
cwes: [522]
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
capec: 555,
|
|
522
|
+
name: "Remote Services with Stolen Credentials",
|
|
523
|
+
abstraction: "Standard",
|
|
524
|
+
severity: "Very High",
|
|
525
|
+
cwes: [522]
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
capec: 561,
|
|
529
|
+
name: "Windows Admin Shares with Stolen Credentials",
|
|
530
|
+
abstraction: "Detailed",
|
|
531
|
+
severity: "",
|
|
532
|
+
cwes: [522]
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
capec: 588,
|
|
536
|
+
name: "DOM-Based XSS",
|
|
537
|
+
abstraction: "Detailed",
|
|
538
|
+
severity: "Very High",
|
|
539
|
+
cwes: [79]
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
capec: 591,
|
|
543
|
+
name: "Reflected XSS",
|
|
544
|
+
abstraction: "Detailed",
|
|
545
|
+
severity: "Very High",
|
|
546
|
+
cwes: [79]
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
capec: 592,
|
|
550
|
+
name: "Stored XSS",
|
|
551
|
+
abstraction: "Detailed",
|
|
552
|
+
severity: "Very High",
|
|
553
|
+
cwes: [79]
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
capec: 597,
|
|
557
|
+
name: "Absolute Path Traversal",
|
|
558
|
+
abstraction: "Detailed",
|
|
559
|
+
severity: "",
|
|
560
|
+
cwes: [36]
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
capec: 600,
|
|
564
|
+
name: "Credential Stuffing",
|
|
565
|
+
abstraction: "Standard",
|
|
566
|
+
severity: "High",
|
|
567
|
+
cwes: [522]
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
capec: 632,
|
|
571
|
+
name: "Homograph Attack via Homoglyphs",
|
|
572
|
+
abstraction: "Detailed",
|
|
573
|
+
severity: "Medium",
|
|
574
|
+
cwes: [1007]
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
capec: 644,
|
|
578
|
+
name: "Use of Captured Hashes (Pass The Hash)",
|
|
579
|
+
abstraction: "Detailed",
|
|
580
|
+
severity: "High",
|
|
581
|
+
cwes: [522]
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
capec: 645,
|
|
585
|
+
name: "Use of Captured Tickets (Pass The Ticket)",
|
|
586
|
+
abstraction: "Detailed",
|
|
587
|
+
severity: "High",
|
|
588
|
+
cwes: [522]
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
capec: 652,
|
|
592
|
+
name: "Use of Known Kerberos Credentials",
|
|
593
|
+
abstraction: "Standard",
|
|
594
|
+
severity: "High",
|
|
595
|
+
cwes: [522]
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
capec: 653,
|
|
599
|
+
name: "Use of Known Operating System Credentials",
|
|
600
|
+
abstraction: "Standard",
|
|
601
|
+
severity: "High",
|
|
602
|
+
cwes: [522]
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
capec: 664,
|
|
606
|
+
name: "Server Side Request Forgery",
|
|
607
|
+
abstraction: "Standard",
|
|
608
|
+
severity: "High",
|
|
609
|
+
cwes: [918]
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
capec: 676,
|
|
613
|
+
name: "NoSQL Injection",
|
|
614
|
+
abstraction: "Standard",
|
|
615
|
+
severity: "High",
|
|
616
|
+
cwes: [943]
|
|
617
|
+
}
|
|
618
|
+
];
|
|
619
|
+
/** Index from CWE to the patterns referencing it, built once at module load. */
|
|
620
|
+
const BY_CWE = (() => {
|
|
621
|
+
const index = /* @__PURE__ */ new Map();
|
|
622
|
+
for (const pattern of ATTACK_PATTERNS) for (const cwe of pattern.cwes) {
|
|
623
|
+
const bucket = index.get(cwe);
|
|
624
|
+
if (bucket) bucket.push(pattern);
|
|
625
|
+
else index.set(cwe, [pattern]);
|
|
626
|
+
}
|
|
627
|
+
return index;
|
|
628
|
+
})();
|
|
629
|
+
/**
|
|
630
|
+
* Attack patterns related to a weakness.
|
|
631
|
+
*
|
|
632
|
+
* @param cwe - CWE identifier, typically a rule's `cwe` field.
|
|
633
|
+
* @returns Related patterns, or an empty array when none is mapped. Empty means MITRE
|
|
634
|
+
* publishes no Standard or Detailed pattern for that weakness — not that the weakness
|
|
635
|
+
* is unimportant.
|
|
636
|
+
*/
|
|
637
|
+
function attackPatternsForCwe(cwe) {
|
|
638
|
+
if (typeof cwe !== "number") return [];
|
|
639
|
+
return BY_CWE.get(cwe) ?? [];
|
|
640
|
+
}
|
|
641
|
+
//#endregion
|
|
642
|
+
export { ATTACK_PATTERNS, attackPatternsForCwe };
|
|
643
|
+
|
|
644
|
+
//# sourceMappingURL=capec.generated.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capec.generated.mjs","names":[],"sources":["../../src/threats/capec.generated.ts"],"sourcesContent":["/**\n * Copyright 2026 ResQ Systems, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview GENERATED FILE — do not edit by hand.\n *\n * MITRE CAPEC attack patterns whose Related Weaknesses intersect a CWE this catalog\n * uses. Derived from CAPEC view 1000 (Mechanisms of Attack), filtered to Standard and\n * Detailed abstractions because Meta patterns are too abstract to help anyone triaging\n * a finding.\n *\n * **Attribution, not conformance.** A CAPEC id tells a reader which family of attack a\n * finding belongs to and where to read more. It does not assert that the rule detects\n * every technique in that pattern, and nothing here changes a score or a verdict.\n *\n * Regenerate with `bun scripts/generate-capec.ts <capec-1000.csv>`.\n *\n * @module @resq-systems/security/threats/capec\n */\n\n/** One CAPEC attack pattern, reduced to what a consumer triaging a finding needs. */\nexport interface AttackPattern {\n\t/** CAPEC identifier. */\n\treadonly capec: number;\n\t/** Pattern name, as published by MITRE. */\n\treadonly name: string;\n\t/** MITRE abstraction level: \"Standard\" or \"Detailed\". */\n\treadonly abstraction: string;\n\t/** MITRE's typical severity for the pattern. */\n\treadonly severity: string;\n\t/** Catalog CWEs this pattern relates to. */\n\treadonly cwes: readonly number[];\n}\n\n/** Every relevant pattern, ordered by CAPEC id. */\nexport const ATTACK_PATTERNS: readonly AttackPattern[] = [\n\t{\n\t\tcapec: 1,\n\t\tname: \"Accessing Functionality Not Properly Constrained by ACLs\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [1321],\n\t},\n\t{\n\t\tcapec: 3,\n\t\tname: \"Using Leading 'Ghost' Character Sequences to Bypass Input Filters\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Medium\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 6,\n\t\tname: \"Argument Injection\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 78],\n\t},\n\t{\n\t\tcapec: 7,\n\t\tname: \"Blind SQL Injection\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 89],\n\t},\n\t{\n\t\tcapec: 8,\n\t\tname: \"Buffer Overflow in an API Call\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 9,\n\t\tname: \"Buffer Overflow in Local Command-Line Utilities\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 10,\n\t\tname: \"Buffer Overflow via Environment Variables\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 13,\n\t\tname: \"Subverting Environment Variable Values\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 14,\n\t\tname: \"Client-side Injection-induced Buffer Overflow\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 15,\n\t\tname: \"Command Delimiters\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [78],\n\t},\n\t{\n\t\tcapec: 24,\n\t\tname: \"Filter Failure through Buffer Overflow\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 31,\n\t\tname: \"Accessing/Intercepting/Modifying HTTP Cookies\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [113],\n\t},\n\t{\n\t\tcapec: 34,\n\t\tname: \"HTTP Response Splitting\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 113],\n\t},\n\t{\n\t\tcapec: 35,\n\t\tname: \"Leverage Executable Code in Non-Executable Files\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [94, 95, 97],\n\t},\n\t{\n\t\tcapec: 41,\n\t\tname: \"Using Meta-characters in E-mail Headers to Inject Malicious Payloads\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [88],\n\t},\n\t{\n\t\tcapec: 42,\n\t\tname: \"MIME Conversion\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 43,\n\t\tname: \"Exploiting Multiple Input Interpretation Layers\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 78],\n\t},\n\t{\n\t\tcapec: 45,\n\t\tname: \"Buffer Overflow via Symbolic Links\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 46,\n\t\tname: \"Overflow Variables and Tags\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 47,\n\t\tname: \"Buffer Overflow via Parameter Expansion\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 50,\n\t\tname: \"Password Recovery Exploitation\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 51,\n\t\tname: \"Poison Web Service Registry\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 52,\n\t\tname: \"Embedding NULL Bytes\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 158],\n\t},\n\t{\n\t\tcapec: 53,\n\t\tname: \"Postfix, Null Terminate, and Backslash\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 158],\n\t},\n\t{\n\t\tcapec: 63,\n\t\tname: \"Cross-Site Scripting (XSS)\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [79],\n\t},\n\t{\n\t\tcapec: 64,\n\t\tname: \"Using Slashes and URL Encoding Combined to Bypass Validation Logic\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [22, 74, 177],\n\t},\n\t{\n\t\tcapec: 66,\n\t\tname: \"SQL Injection\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [89],\n\t},\n\t{\n\t\tcapec: 67,\n\t\tname: \"String Format Overflow in syslog()\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 71,\n\t\tname: \"Using Unicode Encoding to Bypass Validation Logic\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 72,\n\t\tname: \"URL Encoding\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 177],\n\t},\n\t{\n\t\tcapec: 76,\n\t\tname: \"Manipulating Web Input to File System Calls\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [22, 74],\n\t},\n\t{\n\t\tcapec: 77,\n\t\tname: \"Manipulating User-Controlled Variables\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [94, 1321],\n\t},\n\t{\n\t\tcapec: 78,\n\t\tname: \"Using Escaped Slashes in Alternate Encoding\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [22, 74],\n\t},\n\t{\n\t\tcapec: 79,\n\t\tname: \"Using Slashes in Alternate Encoding\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [22, 74],\n\t},\n\t{\n\t\tcapec: 80,\n\t\tname: \"Using UTF-8 Encoding to Bypass Validation Logic\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 81,\n\t\tname: \"Web Server Logs Tampering\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [117],\n\t},\n\t{\n\t\tcapec: 83,\n\t\tname: \"XPath Injection\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 91],\n\t},\n\t{\n\t\tcapec: 84,\n\t\tname: \"XQuery Injection\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 85,\n\t\tname: \"AJAX Footprinting\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Low\",\n\t\tcwes: [79, 113],\n\t},\n\t{\n\t\tcapec: 88,\n\t\tname: \"OS Command Injection\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [78, 88],\n\t},\n\t{\n\t\tcapec: 93,\n\t\tname: \"Log Injection-Tampering-Forging\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [117],\n\t},\n\t{\n\t\tcapec: 98,\n\t\tname: \"Phishing\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [451],\n\t},\n\t{\n\t\tcapec: 101,\n\t\tname: \"Server Side Include (SSI) Injection\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 97],\n\t},\n\t{\n\t\tcapec: 102,\n\t\tname: \"Session Sidejacking\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 105,\n\t\tname: \"HTTP Request Splitting\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74, 113],\n\t},\n\t{\n\t\tcapec: 108,\n\t\tname: \"Command Line Execution through SQL Injection\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [74, 78, 89],\n\t},\n\t{\n\t\tcapec: 109,\n\t\tname: \"Object Relational Mapping Injection\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [89],\n\t},\n\t{\n\t\tcapec: 110,\n\t\tname: \"SQL Injection through SOAP Parameter Tampering\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [89],\n\t},\n\t{\n\t\tcapec: 120,\n\t\tname: \"Double Encoding\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Medium\",\n\t\tcwes: [74, 177],\n\t},\n\t{\n\t\tcapec: 126,\n\t\tname: \"Path Traversal\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [22],\n\t},\n\t{\n\t\tcapec: 135,\n\t\tname: \"Format String Injection\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 136,\n\t\tname: \"LDAP Injection\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [90],\n\t},\n\t{\n\t\tcapec: 163,\n\t\tname: \"Spear Phishing\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [451],\n\t},\n\t{\n\t\tcapec: 164,\n\t\tname: \"Mobile Phishing\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [451],\n\t},\n\t{\n\t\tcapec: 174,\n\t\tname: \"Flash Parameter Injection\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Medium\",\n\t\tcwes: [88],\n\t},\n\t{\n\t\tcapec: 180,\n\t\tname: \"Exploiting Incorrectly Configured Access Control Security Levels\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"Medium\",\n\t\tcwes: [1321],\n\t},\n\t{\n\t\tcapec: 193,\n\t\tname: \"PHP Remote File Inclusion\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [98],\n\t},\n\t{\n\t\tcapec: 209,\n\t\tname: \"XSS Using MIME Type Mismatch\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Medium\",\n\t\tcwes: [79],\n\t},\n\t{\n\t\tcapec: 215,\n\t\tname: \"Fuzzing for application mapping\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Low\",\n\t\tcwes: [532],\n\t},\n\t{\n\t\tcapec: 221,\n\t\tname: \"Data Serialization External Entities Blowup\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"\",\n\t\tcwes: [611],\n\t},\n\t{\n\t\tcapec: 250,\n\t\tname: \"XML Injection\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"\",\n\t\tcwes: [74, 91],\n\t},\n\t{\n\t\tcapec: 267,\n\t\tname: \"Leverage Alternate Encoding\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 268,\n\t\tname: \"Audit Log Manipulation\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"\",\n\t\tcwes: [117],\n\t},\n\t{\n\t\tcapec: 273,\n\t\tname: \"HTTP Response Smuggling\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [74],\n\t},\n\t{\n\t\tcapec: 460,\n\t\tname: \"HTTP Parameter Pollution (HPP)\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Medium\",\n\t\tcwes: [88, 235],\n\t},\n\t{\n\t\tcapec: 463,\n\t\tname: \"Padding Oracle Crypto Attack\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [347],\n\t},\n\t{\n\t\tcapec: 468,\n\t\tname: \"Generic Cross-Browser Cross-Domain Theft\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"Medium\",\n\t\tcwes: [177],\n\t},\n\t{\n\t\tcapec: 470,\n\t\tname: \"Expanding Control over the Operating System from the Database\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [89],\n\t},\n\t{\n\t\tcapec: 474,\n\t\tname: \"Signature Spoofing by Key Theft\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 475,\n\t\tname: \"Signature Spoofing by Improper Validation\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [347],\n\t},\n\t{\n\t\tcapec: 509,\n\t\tname: \"Kerberoasting\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 551,\n\t\tname: \"Modify Existing Service\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 555,\n\t\tname: \"Remote Services with Stolen Credentials\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 561,\n\t\tname: \"Windows Admin Shares with Stolen Credentials\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 588,\n\t\tname: \"DOM-Based XSS\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [79],\n\t},\n\t{\n\t\tcapec: 591,\n\t\tname: \"Reflected XSS\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [79],\n\t},\n\t{\n\t\tcapec: 592,\n\t\tname: \"Stored XSS\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Very High\",\n\t\tcwes: [79],\n\t},\n\t{\n\t\tcapec: 597,\n\t\tname: \"Absolute Path Traversal\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"\",\n\t\tcwes: [36],\n\t},\n\t{\n\t\tcapec: 600,\n\t\tname: \"Credential Stuffing\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 632,\n\t\tname: \"Homograph Attack via Homoglyphs\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"Medium\",\n\t\tcwes: [1007],\n\t},\n\t{\n\t\tcapec: 644,\n\t\tname: \"Use of Captured Hashes (Pass The Hash)\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 645,\n\t\tname: \"Use of Captured Tickets (Pass The Ticket)\",\n\t\tabstraction: \"Detailed\",\n\t\tseverity: \"High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 652,\n\t\tname: \"Use of Known Kerberos Credentials\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 653,\n\t\tname: \"Use of Known Operating System Credentials\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [522],\n\t},\n\t{\n\t\tcapec: 664,\n\t\tname: \"Server Side Request Forgery\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [918],\n\t},\n\t{\n\t\tcapec: 676,\n\t\tname: \"NoSQL Injection\",\n\t\tabstraction: \"Standard\",\n\t\tseverity: \"High\",\n\t\tcwes: [943],\n\t},\n];\n\n/** Index from CWE to the patterns referencing it, built once at module load. */\nconst BY_CWE: ReadonlyMap<number, readonly AttackPattern[]> = (() => {\n\tconst index = new Map<number, AttackPattern[]>();\n\tfor (const pattern of ATTACK_PATTERNS) {\n\t\tfor (const cwe of pattern.cwes) {\n\t\t\tconst bucket = index.get(cwe);\n\t\t\tif (bucket) bucket.push(pattern);\n\t\t\telse index.set(cwe, [pattern]);\n\t\t}\n\t}\n\treturn index;\n})();\n\n/**\n * Attack patterns related to a weakness.\n *\n * @param cwe - CWE identifier, typically a rule's `cwe` field.\n * @returns Related patterns, or an empty array when none is mapped. Empty means MITRE\n * publishes no Standard or Detailed pattern for that weakness — not that the weakness\n * is unimportant.\n */\nexport function attackPatternsForCwe(cwe: number | undefined): readonly AttackPattern[] {\n\tif (typeof cwe !== \"number\") return [];\n\treturn BY_CWE.get(cwe) ?? [];\n}\n"],"mappings":";;AAgDA,MAAa,kBAA4C;CACxD;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI;CACZ;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,GAAG;CACf;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM;GAAC;GAAI;GAAI;EAAE;CAClB;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,GAAG;CACf;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,GAAG;CACf;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM;GAAC;GAAI;GAAI;EAAG;CACnB;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,GAAG;CACf;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,IAAI;CAChB;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,GAAG;CACf;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,GAAG;CACf;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM;GAAC;GAAI;GAAI;EAAE;CAClB;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,GAAG;CACf;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI;CACZ;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,EAAE;CACd;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI,GAAG;CACf;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,EAAE;CACV;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,IAAI;CACZ;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;CACA;EACC,OAAO;EACP,MAAM;EACN,aAAa;EACb,UAAU;EACV,MAAM,CAAC,GAAG;CACX;AACD;;AAGA,MAAM,gBAA+D;CACpE,MAAM,wBAAQ,IAAI,IAA6B;CAC/C,KAAK,MAAM,WAAW,iBACrB,KAAK,MAAM,OAAO,QAAQ,MAAM;EAC/B,MAAM,SAAS,MAAM,IAAI,GAAG;EAC5B,IAAI,QAAQ,OAAO,KAAK,OAAO;OAC1B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;CAC9B;CAED,OAAO;AACR,EAAA,CAAG;;;;;;;;;AAUH,SAAgB,qBAAqB,KAAmD;CACvF,IAAI,OAAO,QAAQ,UAAU,OAAO,CAAC;CACrC,OAAO,OAAO,IAAI,GAAG,KAAK,CAAC;AAC5B"}
|