muaddib-scanner 2.2.6 → 2.2.7

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/bin/muaddib.js CHANGED
@@ -752,7 +752,16 @@ if (command === 'version' || command === '--version' || command === '-v') {
752
752
  process.exit(0);
753
753
  } else if (command === 'evaluate') {
754
754
  const { evaluate } = require('../src/commands/evaluate.js');
755
- evaluate({ json: jsonOutput }).then(() => {
755
+ const evalOpts = { json: jsonOutput };
756
+ for (let i = 0; i < options.length; i++) {
757
+ if (options[i] === '--benign-limit' && options[i + 1]) {
758
+ evalOpts.benignLimit = parseInt(options[i + 1], 10);
759
+ i++;
760
+ } else if (options[i] === '--refresh-benign') {
761
+ evalOpts.refreshBenign = true;
762
+ }
763
+ }
764
+ evaluate(evalOpts).then(() => {
756
765
  process.exit(0);
757
766
  }).catch(err => {
758
767
  console.error('[ERROR]', err.message);
@@ -1,98 +1,597 @@
1
+ # MUAD'DIB Benign Dataset — 500+ popular npm packages
2
+ # Used by `muaddib evaluate` to measure False Positive Rate (FPR)
3
+ # Threshold: score > 20 = false positive
4
+ # Organized by category to ensure coverage of FP-prone patterns
5
+
6
+ # === Frameworks web (25) ===
1
7
  express
2
- lodash
3
- react
4
- axios
5
- webpack
6
- typescript
7
- eslint
8
- prettier
9
- jest
10
- mocha
8
+ koa
9
+ fastify
10
+ hapi
11
+ @nestjs/core
12
+ @nestjs/common
11
13
  next
14
+ nuxt
15
+ remix
16
+ gatsby
17
+ sails
18
+ restify
19
+ polka
20
+ micro
21
+ moleculer
22
+ feathers
23
+ loopback
24
+ adonis
25
+ strapi
26
+ keystone
27
+ redwood
28
+ blitz
29
+ meteor
30
+ derby
31
+ total.js
32
+
33
+ # === Bibliothèques UI (25) ===
34
+ react
35
+ react-dom
12
36
  vue
13
- moment
14
- dayjs
15
- uuid
16
- chalk
37
+ @angular/core
38
+ @angular/common
39
+ svelte
40
+ preact
41
+ lit
42
+ solid-js
43
+ alpine
44
+ stimulus
45
+ mithril
46
+ inferno
47
+ hyperapp
48
+ riot
49
+ stencil
50
+ ember-source
51
+ backbone
52
+ marionette
53
+ polymer
54
+ qwik
55
+ htmx.org
56
+ petite-vue
57
+ million
58
+ nano-jsx
59
+
60
+ # === Build tools (35) ===
61
+ webpack
62
+ webpack-cli
63
+ webpack-dev-server
64
+ vite
65
+ esbuild
66
+ rollup
67
+ parcel
68
+ @swc/core
69
+ @swc/cli
70
+ tsup
71
+ unbuild
72
+ babel-core
73
+ @babel/core
74
+ @babel/cli
75
+ @babel/preset-env
76
+ @babel/preset-typescript
77
+ @babel/preset-react
78
+ @babel/plugin-transform-runtime
79
+ terser
80
+ uglify-js
81
+ html-webpack-plugin
82
+ css-loader
83
+ style-loader
84
+ file-loader
85
+ mini-css-extract-plugin
86
+ postcss-loader
87
+ sass-loader
88
+ less-loader
89
+ ts-loader
90
+ babel-loader
91
+ copy-webpack-plugin
92
+ clean-webpack-plugin
93
+ webpack-merge
94
+ webpack-bundle-analyzer
95
+ speed-measure-webpack-plugin
96
+
97
+ # === CLI tools (30) ===
17
98
  commander
18
- inquirer
19
99
  yargs
20
- dotenv
21
- cors
22
- body-parser
23
- mongoose
24
- sequelize
25
- passport
26
- jsonwebtoken
27
- bcrypt
28
- nodemailer
29
- socket.io
30
- redis
100
+ inquirer
101
+ @inquirer/prompts
102
+ chalk
103
+ ora
104
+ meow
105
+ oclif
106
+ vorpal
107
+ caporal
108
+ gluegun
109
+ prompts
110
+ listr2
111
+ tasuku
112
+ cac
113
+ citty
114
+ cleye
115
+ arg
116
+ mri
117
+ minimist
118
+ nopt
119
+ get-stdin
120
+ update-notifier
121
+ boxen
122
+ terminal-link
123
+ figures
124
+ log-symbols
125
+ cli-table3
126
+ cli-progress
127
+ blessed
128
+
129
+ # === Testing (25) ===
130
+ jest
131
+ mocha
132
+ vitest
133
+ ava
134
+ tap
135
+ jasmine
136
+ karma
137
+ c8
138
+ nyc
139
+ istanbul
140
+ sinon
141
+ chai
142
+ expect
143
+ supertest
144
+ nock
145
+ msw
146
+ @testing-library/react
147
+ @testing-library/jest-dom
148
+ @testing-library/dom
149
+ @testing-library/vue
150
+ enzyme
151
+ storybook
152
+ @storybook/react
153
+ playwright
154
+ cypress
155
+
156
+ # === Database (25) ===
31
157
  pg
32
158
  mysql2
33
159
  sqlite3
160
+ better-sqlite3
161
+ mongoose
162
+ sequelize
163
+ prisma
164
+ @prisma/client
165
+ drizzle-orm
166
+ knex
167
+ typeorm
168
+ mikro-orm
169
+ objection
170
+ bookshelf
171
+ waterline
172
+ ioredis
173
+ redis
174
+ mongodb
175
+ cassandra-driver
176
+ couchbase
177
+ neo4j-driver
178
+ arangojs
179
+ level
180
+ lmdb
181
+ sql.js
182
+
183
+ # === Linters/formatters (18) ===
184
+ eslint
185
+ prettier
186
+ stylelint
187
+ @biomejs/biome
188
+ oxlint
189
+ eslint-plugin-react
190
+ eslint-plugin-import
191
+ eslint-plugin-security
192
+ eslint-config-airbnb
193
+ eslint-config-standard
194
+ eslint-plugin-vue
195
+ eslint-plugin-node
196
+ eslint-plugin-jest
197
+ @typescript-eslint/parser
198
+ @typescript-eslint/eslint-plugin
199
+ eslint-plugin-prettier
200
+ editorconfig
201
+ markdownlint-cli
202
+
203
+ # === Monorepo tools (12) ===
204
+ turbo
205
+ nx
206
+ lerna
207
+ @changesets/cli
208
+ @changesets/changelog-github
209
+ rush
210
+ bolt
211
+ pnpm
212
+ yarn
213
+ npm
214
+ oao
215
+ ultra-runner
216
+
217
+ # === Wasm/native (12) ===
34
218
  sharp
35
- multer
36
- formidable
37
- cheerio
38
- puppeteer
39
- playwright
40
- cypress
41
- electron
42
- react-dom
43
- react-router
44
- redux
45
- mobx
46
- rxjs
47
- ramda
48
- underscore
49
- async
50
- debug
51
- minimist
219
+ canvas
220
+ node-gyp
221
+ @napi-rs/cli
222
+ node-addon-api
223
+ prebuild
224
+ prebuild-install
225
+ node-pre-gyp
226
+ nan
227
+ ref-napi
228
+ ffi-napi
229
+ farmhash
230
+
231
+ # === DevOps/CI (18) ===
232
+ husky
233
+ lint-staged
234
+ semantic-release
235
+ commitlint
236
+ @commitlint/cli
237
+ @commitlint/config-conventional
238
+ conventional-changelog
239
+ standard-version
240
+ release-it
241
+ auto
242
+ np
243
+ gh-pages
244
+ vercel
245
+ netlify-cli
246
+ wrangler
247
+ pm2
248
+ forever
249
+ nodemon
250
+
251
+ # === Crypto/security (18) ===
252
+ bcrypt
253
+ bcryptjs
254
+ jsonwebtoken
255
+ jose
256
+ helmet
257
+ cors
258
+ csurf
259
+ passport
260
+ passport-local
261
+ passport-jwt
262
+ passport-google-oauth20
263
+ crypto-js
264
+ tweetnacl
265
+ libsodium-wrappers
266
+ node-forge
267
+ argon2
268
+ scrypt
269
+ express-rate-limit
270
+
271
+ # === HTTP/networking (25) ===
272
+ axios
273
+ got
274
+ node-fetch
275
+ undici
276
+ superagent
277
+ ky
278
+ bent
279
+ phin
280
+ needle
281
+ request
282
+ urllib
283
+ ws
284
+ socket.io
285
+ socket.io-client
286
+ @grpc/grpc-js
287
+ @grpc/proto-loader
288
+ http-proxy
289
+ http-proxy-middleware
290
+ express-http-proxy
291
+ cors-anywhere
292
+ tunnel
293
+ agent-base
294
+ https-proxy-agent
295
+ socks-proxy-agent
296
+ proxy-agent
297
+
298
+ # === File system (18) ===
299
+ fs-extra
52
300
  glob
301
+ globby
302
+ fast-glob
303
+ chokidar
53
304
  rimraf
54
305
  mkdirp
55
- semver
56
- yup
57
- zod
58
- ajv
59
- joi
60
- express-validator
61
- helmet
62
- compression
63
- morgan
306
+ tmp
307
+ temp
308
+ graceful-fs
309
+ proper-lockfile
310
+ lockfile
311
+ archiver
312
+ adm-zip
313
+ tar
314
+ unzipper
315
+ decompress
316
+ copy
317
+
318
+ # === Logging/monitoring (14) ===
64
319
  winston
65
320
  pino
321
+ pino-pretty
322
+ morgan
66
323
  bunyan
67
- dotenv-expand
68
- cross-env
324
+ debug
325
+ loglevel
326
+ log4js
327
+ consola
328
+ signale
329
+ roarr
330
+ tracer
331
+ winston-daily-rotate-file
332
+ cls-hooked
333
+
334
+ # === Codegen/AST (18) ===
335
+ acorn
336
+ acorn-walk
337
+ @babel/parser
338
+ @babel/traverse
339
+ @babel/generator
340
+ @babel/types
341
+ esprima
342
+ escodegen
343
+ recast
344
+ jscodeshift
345
+ typescript
346
+ ts-morph
347
+ astring
348
+ meriyah
349
+ espree
350
+ ast-types
351
+ @vue/compiler-sfc
352
+ svelte-compiler
353
+
354
+ # === Shell/process (18) ===
355
+ execa
356
+ shelljs
357
+ cross-spawn
69
358
  concurrently
70
- nodemon
71
- ts-node
72
- esbuild
73
- rollup
74
- vite
75
- parcel
76
- core-js
77
- regenerator-runtime
78
- whatwg-fetch
79
- isomorphic-fetch
80
- node-fetch
81
- got
82
- superagent
359
+ npm-run-all
360
+ npm-run-all2
361
+ pidtree
362
+ tree-kill
363
+ fkill
364
+ signal-exit
365
+ death
366
+ per-env
367
+ env-cmd
368
+ dotenv-cli
369
+ open
370
+ opn
371
+ start-server-and-test
372
+ wait-on
373
+
374
+ # === Plugin systems (14) ===
375
+ postcss
376
+ postcss-preset-env
377
+ autoprefixer
378
+ cssnano
379
+ tailwindcss
380
+ unified
381
+ remark
382
+ remark-parse
383
+ remark-stringify
384
+ rehype
385
+ rehype-parse
386
+ rehype-stringify
387
+ mdast-util-to-string
388
+ unist-util-visit
389
+
390
+ # === Validation/schema (15) ===
391
+ zod
392
+ yup
393
+ ajv
394
+ joi
395
+ superstruct
396
+ valibot
397
+ class-validator
398
+ class-transformer
399
+ io-ts
400
+ runtypes
401
+ typebox
402
+ @sinclair/typebox
403
+ json-schema
404
+ jsonschema
405
+ fastest-validator
406
+
407
+ # === Templating (10) ===
408
+ ejs
409
+ pug
410
+ handlebars
411
+ nunjucks
412
+ mustache
413
+ liquid
414
+ eta
415
+ art-template
416
+ marko
417
+ twig
418
+
419
+ # === State management (10) ===
420
+ redux
421
+ @reduxjs/toolkit
422
+ mobx
423
+ zustand
424
+ jotai
425
+ recoil
426
+ valtio
427
+ xstate
428
+ pinia
429
+ vuex
430
+
431
+ # === GraphQL (10) ===
432
+ graphql
433
+ @apollo/server
434
+ @apollo/client
435
+ graphql-tag
436
+ graphql-tools
437
+ type-graphql
438
+ nexus
439
+ pothos
440
+ urql
441
+ mercurius
442
+
443
+ # === Image/media (10) ===
444
+ probe-image-size
445
+ jimp
446
+ gm
447
+ imagemin
448
+ pngquant
449
+ svgo
450
+ fluent-ffmpeg
451
+ image-size
452
+ exif-parser
453
+ blurhash
454
+
455
+ # === Markdown/text (10) ===
456
+ marked
457
+ markdown-it
458
+ showdown
459
+ turndown
460
+ sanitize-html
461
+ dompurify
462
+ html-minifier-terser
463
+ clean-css
464
+ csso
465
+ js-beautify
466
+
467
+ # === Date/time (10) ===
468
+ date-fns
469
+ dayjs
470
+ luxon
471
+ moment
472
+ moment-timezone
473
+ chrono-node
474
+ ms
475
+ pretty-ms
476
+ timeago.js
477
+ date-fns-tz
478
+
479
+ # === Math/data (10) ===
480
+ mathjs
481
+ decimal.js
482
+ bignumber.js
483
+ numeral
484
+ d3
485
+ lodash
486
+ underscore
487
+ ramda
488
+ fp-ts
489
+ immutable
490
+
491
+ # === UUID/crypto utils (10) ===
492
+ uuid
493
+ nanoid
494
+ cuid
495
+ ulid
496
+ shortid
497
+ hashids
498
+ object-hash
499
+ md5
500
+ sha.js
501
+ create-hash
502
+
503
+ # === Config/env (10) ===
504
+ dotenv
505
+ dotenv-expand
506
+ cosmiconfig
507
+ rc
508
+ convict
509
+ conf
510
+ configstore
511
+ env-ci
512
+ nconf
513
+ envalid
514
+
515
+ # === Queue/workers (10) ===
516
+ bull
517
+ bullmq
518
+ agenda
519
+ bee-queue
520
+ kue
521
+ amqplib
522
+ rabbitmq-client
523
+ celery-client
524
+ p-queue
525
+ bottleneck
526
+
527
+ # === Caching (8) ===
528
+ node-cache
529
+ lru-cache
530
+ keyv
531
+ cacheable-request
532
+ flat-cache
533
+ apicache
534
+ memory-cache
535
+ quick-lru
536
+
537
+ # === Email (8) ===
538
+ nodemailer
539
+ @sendgrid/mail
540
+ mailgun.js
541
+ postmark
542
+ aws-sdk
543
+ ses
544
+ email-templates
545
+ mjml
546
+
547
+ # === PDF/docs (8) ===
548
+ pdfkit
549
+ pdf-lib
550
+ puppeteer
551
+ jspdf
552
+ exceljs
553
+ xlsx
554
+ csv-parser
555
+ papaparse
556
+
557
+ # === Miscellaneous popular (40+) ===
558
+ async
559
+ bluebird
560
+ rxjs
561
+ p-limit
562
+ p-map
563
+ p-retry
564
+ p-timeout
565
+ redaxios
83
566
  form-data
567
+ formidable
84
568
  busboy
569
+ multer
85
570
  cookie-parser
86
571
  express-session
87
572
  connect-redis
88
- ioredis
89
- bull
90
- agenda
91
- node-cron
92
- date-fns
93
- luxon
94
- numeral
95
- decimal.js
96
- bignumber.js
97
- mathjs
98
- lodash-es
573
+ connect-mongo
574
+ body-parser
575
+ compression
576
+ serve-static
577
+ serve-favicon
578
+ method-override
579
+ errorhandler
580
+ cron
581
+ node-schedule
582
+ cheerio
583
+ puppeteer-core
584
+ jsdom
585
+ xmlbuilder2
586
+ xml2js
587
+ fast-xml-parser
588
+ yaml
589
+ toml
590
+ ini
591
+ properties-reader
592
+ iconv-lite
593
+ chardet
594
+ string-width
595
+ wrap-ansi
596
+ strip-ansi
597
+ ansi-colors