@surfinguard/core-engine 0.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.
Files changed (64) hide show
  1. package/README.md +65 -0
  2. package/dist/analyzers/base.d.ts +38 -0
  3. package/dist/analyzers/base.d.ts.map +1 -0
  4. package/dist/analyzers/base.js +2 -0
  5. package/dist/analyzers/base.js.map +1 -0
  6. package/dist/analyzers/command.d.ts +44 -0
  7. package/dist/analyzers/command.d.ts.map +1 -0
  8. package/dist/analyzers/command.js +544 -0
  9. package/dist/analyzers/command.js.map +1 -0
  10. package/dist/analyzers/file-read.d.ts +31 -0
  11. package/dist/analyzers/file-read.d.ts.map +1 -0
  12. package/dist/analyzers/file-read.js +159 -0
  13. package/dist/analyzers/file-read.js.map +1 -0
  14. package/dist/analyzers/file-write.d.ts +32 -0
  15. package/dist/analyzers/file-write.d.ts.map +1 -0
  16. package/dist/analyzers/file-write.js +177 -0
  17. package/dist/analyzers/file-write.js.map +1 -0
  18. package/dist/analyzers/index.d.ts +7 -0
  19. package/dist/analyzers/index.d.ts.map +1 -0
  20. package/dist/analyzers/index.js +6 -0
  21. package/dist/analyzers/index.js.map +1 -0
  22. package/dist/analyzers/text.d.ts +30 -0
  23. package/dist/analyzers/text.d.ts.map +1 -0
  24. package/dist/analyzers/text.js +139 -0
  25. package/dist/analyzers/text.js.map +1 -0
  26. package/dist/analyzers/url.d.ts +33 -0
  27. package/dist/analyzers/url.d.ts.map +1 -0
  28. package/dist/analyzers/url.js +325 -0
  29. package/dist/analyzers/url.js.map +1 -0
  30. package/dist/classifier.d.ts +7 -0
  31. package/dist/classifier.d.ts.map +1 -0
  32. package/dist/classifier.js +12 -0
  33. package/dist/classifier.js.map +1 -0
  34. package/dist/context.d.ts +10 -0
  35. package/dist/context.d.ts.map +1 -0
  36. package/dist/context.js +9 -0
  37. package/dist/context.js.map +1 -0
  38. package/dist/engine.d.ts +49 -0
  39. package/dist/engine.d.ts.map +1 -0
  40. package/dist/engine.js +122 -0
  41. package/dist/engine.js.map +1 -0
  42. package/dist/index.d.ts +12 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +10 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/patterns.d.ts +8 -0
  47. package/dist/patterns.d.ts.map +1 -0
  48. package/dist/patterns.js +66 -0
  49. package/dist/patterns.js.map +1 -0
  50. package/dist/scorer.d.ts +23 -0
  51. package/dist/scorer.d.ts.map +1 -0
  52. package/dist/scorer.js +52 -0
  53. package/dist/scorer.js.map +1 -0
  54. package/dist/verdict.d.ts +7 -0
  55. package/dist/verdict.d.ts.map +1 -0
  56. package/dist/verdict.js +41 -0
  57. package/dist/verdict.js.map +1 -0
  58. package/package.json +44 -0
  59. package/patterns/brands.json +205 -0
  60. package/patterns/commands.json +44 -0
  61. package/patterns/file-read.json +85 -0
  62. package/patterns/file-write.json +100 -0
  63. package/patterns/text.json +190 -0
  64. package/patterns/urls.json +412 -0
@@ -0,0 +1,412 @@
1
+ {
2
+ "version": "2026.02.21",
3
+ "threats": [
4
+ {
5
+ "id": "U01",
6
+ "name": "Data URI",
7
+ "primitive": "MANIPULATION",
8
+ "severity": 10,
9
+ "description": "Data URI can hide malicious content (XSS, phishing pages)"
10
+ },
11
+ {
12
+ "id": "U02",
13
+ "name": "JavaScript URI",
14
+ "primitive": "MANIPULATION",
15
+ "severity": 10,
16
+ "description": "JavaScript URI enables code execution"
17
+ },
18
+ {
19
+ "id": "U03",
20
+ "name": "Malformed URL",
21
+ "primitive": "MANIPULATION",
22
+ "severity": 10,
23
+ "description": "Malformed or invalid URL structure"
24
+ },
25
+ {
26
+ "id": "U04",
27
+ "name": "IP Address Domain",
28
+ "primitive": "MANIPULATION",
29
+ "severity": 7,
30
+ "description": "Uses IP address instead of domain name to hide identity"
31
+ },
32
+ {
33
+ "id": "U05",
34
+ "name": "At-Symbol Obfuscation",
35
+ "primitive": "MANIPULATION",
36
+ "severity": 6,
37
+ "description": "URL uses @ to disguise real destination"
38
+ },
39
+ {
40
+ "id": "U06",
41
+ "name": "Punycode / IDN Homograph",
42
+ "primitive": "MANIPULATION",
43
+ "severity": 5,
44
+ "description": "Internationalized domain may hide lookalike characters"
45
+ },
46
+ {
47
+ "id": "U07",
48
+ "name": "Brand Impersonation",
49
+ "primitive": "MANIPULATION",
50
+ "severity": 7,
51
+ "description": "Domain impersonates a known brand via typosquatting or homograph"
52
+ },
53
+ {
54
+ "id": "U08",
55
+ "name": "URL Shortener",
56
+ "primitive": "MANIPULATION",
57
+ "severity": 3,
58
+ "description": "Link shortener hides actual destination"
59
+ },
60
+ {
61
+ "id": "U09",
62
+ "name": "Free Hosting Platform",
63
+ "primitive": "MANIPULATION",
64
+ "severity": 4,
65
+ "description": "Site hosted on free platform commonly used for scams"
66
+ },
67
+ {
68
+ "id": "U10",
69
+ "name": "Risky TLD",
70
+ "primitive": "MANIPULATION",
71
+ "severity": 3,
72
+ "description": "Uses high-risk TLD commonly associated with scams"
73
+ },
74
+ {
75
+ "id": "U11",
76
+ "name": "Redirect Chain",
77
+ "primitive": "MANIPULATION",
78
+ "severity": 4,
79
+ "description": "Nested redirects used to obfuscate final destination"
80
+ },
81
+ {
82
+ "id": "U12",
83
+ "name": "Suspicious File Extension",
84
+ "primitive": "DESTRUCTION",
85
+ "severity": 3,
86
+ "description": "URL references potentially dangerous executable file type"
87
+ },
88
+ {
89
+ "id": "U13",
90
+ "name": "Internal/RFC1918 IP",
91
+ "primitive": "ESCALATION",
92
+ "severity": 7,
93
+ "description": "Targets internal network address (SSRF / network probing)"
94
+ },
95
+ {
96
+ "id": "U14",
97
+ "name": "Cloud Metadata Endpoint",
98
+ "primitive": "ESCALATION",
99
+ "severity": 9,
100
+ "description": "Targets cloud instance metadata endpoint (credential theft)"
101
+ }
102
+ ],
103
+ "trackerDomains": [
104
+ "googleadservices.com",
105
+ "googlesyndication.com",
106
+ "doubleclick.net",
107
+ "google-analytics.com",
108
+ "googletagmanager.com",
109
+ "googletagservices.com",
110
+ "googleads.g.doubleclick.net",
111
+ "adservice.google.com",
112
+ "adtrafficquality.google",
113
+ "safeframe.googlesyndication.com",
114
+ "pagead2.googlesyndication.com",
115
+ "tpc.googlesyndication.com",
116
+ "googleservices.com",
117
+ "clickserve.dartsearch.net",
118
+ "taboola.com",
119
+ "outbrain.com",
120
+ "criteo.com",
121
+ "media.net",
122
+ "revcontent.com",
123
+ "mgid.com",
124
+ "content-recommendation.net",
125
+ "facebook.net",
126
+ "fbcdn.net",
127
+ "connect.facebook.net",
128
+ "amazon-adsystem.com",
129
+ "assoc-amazon.com",
130
+ "ads-twitter.com",
131
+ "analytics.twitter.com",
132
+ "bat.bing.com",
133
+ "clarity.ms",
134
+ "dxmdp.com",
135
+ "permutive.com",
136
+ "aniview.com",
137
+ "scorecardresearch.com",
138
+ "quantserve.com",
139
+ "chartbeat.com",
140
+ "hotjar.com",
141
+ "mouseflow.com",
142
+ "segment.com",
143
+ "mixpanel.com",
144
+ "amplitude.com",
145
+ "newrelic.com",
146
+ "nr-data.net",
147
+ "adobedtm.com",
148
+ "omtrdc.net",
149
+ "demdex.net",
150
+ "rubiconproject.com",
151
+ "pubmatic.com",
152
+ "openx.net",
153
+ "adsrvr.org",
154
+ "adnxs.com",
155
+ "casalemedia.com",
156
+ "moatads.com",
157
+ "serving-sys.com",
158
+ "sizmek.com",
159
+ "teads.tv",
160
+ "smartadserver.com",
161
+ "yieldmo.com",
162
+ "indexexchange.com",
163
+ "33across.com",
164
+ "cloudfront.net",
165
+ "akamaized.net",
166
+ "fastly.net",
167
+ "cdn.ampproject.org",
168
+ "ad.doubleclick.net",
169
+ "l.facebook.com",
170
+ "lm.facebook.com",
171
+ "an.facebook.com",
172
+ "bingads.microsoft.com",
173
+ "aax-us-iad.amazon.com",
174
+ "analytics.tiktok.com",
175
+ "ads.tiktok.com",
176
+ "advertising.com"
177
+ ],
178
+ "adClickParams": [
179
+ "gclid",
180
+ "gbraid",
181
+ "wbraid",
182
+ "gclsrc",
183
+ "dclid",
184
+ "gad_source",
185
+ "gad_campaignid",
186
+ "msclkid",
187
+ "fbclid",
188
+ "ttclid",
189
+ "twclid",
190
+ "li_fat_id",
191
+ "irclickid"
192
+ ],
193
+ "shorteners": [
194
+ "bit.ly",
195
+ "tinyurl.com",
196
+ "t.co",
197
+ "goo.gl",
198
+ "is.gd",
199
+ "cutt.ly",
200
+ "rebrand.ly",
201
+ "rb.gy",
202
+ "ow.ly",
203
+ "buff.ly",
204
+ "tiny.cc",
205
+ "short.io",
206
+ "bl.ink",
207
+ "soo.gd",
208
+ "s.id",
209
+ "rotf.lol",
210
+ "fb.me",
211
+ "youtu.be",
212
+ "redd.it",
213
+ "amzn.to",
214
+ "amzn.eu",
215
+ "aka.ms",
216
+ "apple.co",
217
+ "spoti.fi",
218
+ "lin.ee",
219
+ "shorturl.at",
220
+ "v.gd",
221
+ "clck.ru",
222
+ "qps.ru",
223
+ "u.to"
224
+ ],
225
+ "freeHostingPlatforms": [
226
+ "netlify.app",
227
+ "vercel.app",
228
+ "pages.dev",
229
+ "github.io",
230
+ "gitlab.io",
231
+ "surge.sh",
232
+ "render.com",
233
+ "fly.dev",
234
+ "railway.app",
235
+ "webflow.io",
236
+ "carrd.co",
237
+ "wixsite.com",
238
+ "weebly.com",
239
+ "squarespace.com",
240
+ "sites.google.com",
241
+ "my.canva.site",
242
+ "herokuapp.com",
243
+ "azurewebsites.net",
244
+ "web.app",
245
+ "firebaseapp.com",
246
+ "amplifyapp.com",
247
+ "cloudfront.net",
248
+ "s3.amazonaws.com",
249
+ "typeform.com",
250
+ "jotform.com",
251
+ "tally.so",
252
+ "fillout.com",
253
+ "glitch.me",
254
+ "replit.dev",
255
+ "stackblitz.io",
256
+ "codesandbox.io"
257
+ ],
258
+ "riskyTlds": [
259
+ "zip",
260
+ "mov",
261
+ "pdf",
262
+ "doc",
263
+ "xls",
264
+ "click",
265
+ "top",
266
+ "xyz",
267
+ "cam",
268
+ "work",
269
+ "icu",
270
+ "cfd",
271
+ "rest",
272
+ "buzz",
273
+ "surf",
274
+ "monster",
275
+ "quest",
276
+ "bond",
277
+ "sbs",
278
+ "cyou",
279
+ "fun",
280
+ "website",
281
+ "space",
282
+ "online",
283
+ "site",
284
+ "store",
285
+ "tech",
286
+ "tk",
287
+ "ml",
288
+ "ga",
289
+ "cf",
290
+ "gq",
291
+ "ws",
292
+ "cc",
293
+ "pw",
294
+ "to"
295
+ ],
296
+ "redirectParamKeys": [
297
+ "url",
298
+ "u",
299
+ "q",
300
+ "target",
301
+ "dest",
302
+ "destination",
303
+ "next",
304
+ "redirect",
305
+ "redir",
306
+ "redirect_url",
307
+ "redirect_uri",
308
+ "return",
309
+ "returnto",
310
+ "return_url",
311
+ "continue",
312
+ "r",
313
+ "to",
314
+ "go",
315
+ "link",
316
+ "callback",
317
+ "cb",
318
+ "forward",
319
+ "fwd",
320
+ "out",
321
+ "outurl",
322
+ "exit",
323
+ "ref",
324
+ "jump",
325
+ "click",
326
+ "goto"
327
+ ],
328
+ "highRiskKeywords": [
329
+ "login",
330
+ "signin",
331
+ "sign-in",
332
+ "logon",
333
+ "signon",
334
+ "verify",
335
+ "verification",
336
+ "authenticate",
337
+ "password",
338
+ "passwd",
339
+ "pwd",
340
+ "reset",
341
+ "recover",
342
+ "credential",
343
+ "credentials",
344
+ "account",
345
+ "suspend",
346
+ "suspended",
347
+ "locked",
348
+ "unlock",
349
+ "confirm",
350
+ "update",
351
+ "upgrade",
352
+ "expire",
353
+ "expired",
354
+ "wallet",
355
+ "seed",
356
+ "phrase",
357
+ "private-key",
358
+ "privatekey",
359
+ "bank",
360
+ "payment",
361
+ "billing",
362
+ "invoice",
363
+ "mfa",
364
+ "2fa",
365
+ "otp",
366
+ "secure",
367
+ "security",
368
+ "support",
369
+ "helpdesk",
370
+ "help-desk",
371
+ "urgent",
372
+ "immediate",
373
+ "action-required",
374
+ "limited"
375
+ ],
376
+ "suspiciousExtensions": [
377
+ ".exe",
378
+ ".scr",
379
+ ".bat",
380
+ ".cmd",
381
+ ".msi",
382
+ ".js",
383
+ ".vbs",
384
+ ".ps1"
385
+ ],
386
+ "internalIpRanges": [
387
+ "10.",
388
+ "172.16.",
389
+ "172.17.",
390
+ "172.18.",
391
+ "172.19.",
392
+ "172.20.",
393
+ "172.21.",
394
+ "172.22.",
395
+ "172.23.",
396
+ "172.24.",
397
+ "172.25.",
398
+ "172.26.",
399
+ "172.27.",
400
+ "172.28.",
401
+ "172.29.",
402
+ "172.30.",
403
+ "172.31.",
404
+ "192.168.",
405
+ "127."
406
+ ],
407
+ "cloudMetadataEndpoints": [
408
+ "169.254.169.254",
409
+ "metadata.google.internal",
410
+ "100.100.100.200"
411
+ ]
412
+ }