Your RSA-2048 keys break in 2030. Find every one of them before attackers do.See CBOMkit
Malicious package campaigns
Most malicious packages don't arrive alone. A single compromised publisher scope or coordinated campaign often floods a registry with hundreds of near-identical packages at once, each impersonating a real dependency. These are the clusters — grouped so you can check a whole campaign against your lockfiles instead of one package at a time.
Tracked campaigns
196
Malicious packages
13,289
npm campaigns
154
Largest campaign
4,544
Campaigns first detected, by year
Coordinated package flooding is a recent pattern — and accelerating.
Packages published per campaign
Most campaigns are modest; a handful flood registries with hundreds or thousands.
All tracked campaigns
Ranked by package count. Each campaign page carries the full roster and the response steps for that cluster.
Campaign / scopePackages
- @zalastaxnpm4544
- @crabas0npmnpm690
- @diotoborgnpm609
- @miptaa02npm579
- @mipta1npm419
- @zitterorgnpm316
- @antvnpm279
- @teamteanpm2024npm269
- @akunsansan0npm184
- 2024-11-byted-dastPyPI183
- funcaptcha-ruPyPI161
- @mipta19npm153
- @servicetitannpm141
- @cloudplatform-single-spanpm122
- @crabas0npm2npm109
- @taktikangeanpm103
- @juiggiteanpm100
- @kollusieteanpm100
- @erboladaiteasnpm95
- @mastranpm89
- @landmineaknpm2npm87
- @espace-client-axafrnpm82
- @gocortexionpm80
- @onereachnpm78
- @patrtennpm78
- @kollorgnpm77
- @diotobteanpm75
- @or-sdknpm74
- @hishprnpm73
- @hishprorgnpm73
- @twork-data-servicesnpm70
- @sporta-technologynpm69
- @zitterteanpm69
- @dramateasnpm68
- @uipathnpm66
- 2025-04-tronixPyPI61
- @voiceflownpm57
- @waitfortea2024npm57
- @posthognpm56
- @leaffmnpm54
- 2026-03-roboat-additionPyPI52
- @juigorgnpm51
- @xvideosnpm49
- @emilgroupnpm45
- @ensdomainsnpm44
- @lbnqduynpm44
- @oku-uinpm43
- @ornikarnpm42
- @tanstacknpm42
- @teasourcenpm40
- 2024-08-embeds-RealtekHDAudioManagerPyPI40
- 2026-06-compr-woodpeckerPyPI38
- @asyncapinpm36
- 2024-08-lab-artifacts-revshellPyPI35
- @lbnqduy11805npm34
- @supernpm2024npm33
- @toptalnpm33
- @redhat-cloud-servicesnpm32
- 2025-08-k7eelPyPI31
- @qliknpm28
- @womorgnpm28
- 2025-11-spellcheckersPyPI27
- 2025-10-speedd-testing-botPyPI26
- @hongfangzenpm25
- @marketfrontnpm25
- @wagni_botnpm25
- @years19npm25
- @zettle-bonpm25
- @harrysforgenpm24
- @povsicoenpmnpm24
- 2026-04-process-supportPyPI24
- @wethenorth12npm23
- @years18npm23
- 2025-02-alicloud-clientPyPI23
- 2025-06-atlasctfPyPI23
- @azure-testsnpm22
- @nebula.jsnpm22
- @sev-ui-versenpm22
- @squawknpm22
- @zzzgenesis00npm22
- @nexthinknpm21
- @sourceressj2001npm21
- @emerald-reactnpm20
- @nativescript-communitynpm20
- @car-loansnpm19
- @keyvnpm19
- @trigonpm19
- @uniqanpm19
- 2026-03-pipipipiPyPI19
- 2025-10-wangzhou183PyPI19
- 2026-06-easyaillmPyPI18
- @mlspacenpm17
- @postmannpm17
- @sellerly-kitnpm17
- 2023-12-valuentPyPI17
- @bmg-webnpm16
- @loybungnpm16
- @react-native-arianpm16
- @tinkoff-react-buinpm16
- 2026-05-solana-wallet-sdkPyPI16
- @actbasenpm15
- @art-wsnpm15
- @b2bgeonpm15
- @doactionnpm15
- @lbnqduy180500npm15
- @pagseguronpm15
- @public-for-cdaonpm15
- @service-suppliersnpm15
- @t-in-onenpm15
- @antwiib001npm14
- @ctrlnpm14
- @miftaikyynpm14
- @taktikorgnpm14
- 2025-02-multisPyPI14
- @3stripesnpm13
- @epc-infranpm13
- @gt-test-expnpm13
- @ks-radarnpm13
- @operatonpm13
- @primeonpm13
- @bipyrussnpm12
- @realty-frontnpm12
- @scdbnpm12
- 2024-10-fake-usreagentPyPI12
- 2024-12-reqesstPyPI12
- @athena-ui-componentsnpm11
- @dramaorgnpm11
- @erboladaiorgnpm11
- @expuenpm11
- @npmshivamkalsinpm11
- @superbet-groupnpm11
- @testcarrotnpm11
- @vietmoneynpm11
- SCRIPT_KIDDIE-thegoodhacker-paquetePyPI11
- 2025-11-uzipPyPI11
- 2025-07-prof-quotexPyPI11
- @0xlrnpm10
- @bmw-chrisnpm10
- @douinfenpm10
- @fdfenpm10
- @liquid-webnpm10
- @logistics-frontendnpm10
- @mosfenpm10
- @rbacorenpm10
- @silginpm10
- @tallyuinpm10
- @taxifynpm10
- @teselagennpm10
- @tuan149npm10
- @uc-mapsnpm10
- @vertiv-conpm10
- @womhla6snpm10
- @years17npm10
- @years20npm10
- @zapiernpm10
- 2025-11-mescouillesPyPI10
- 2025-04-alchemyrpcsPyPI10
- 2026-02-urllib-slimPyPI10
- @apple-pay-trustnpm9
- @crowdstrikenpm9
- @ellentorgnpm9
- @ethletenpm9
- @kvytechnpm9
- @ncurrannpm9
- @nstudionpm9
- @ozon-shared-depsnpm9
- @quick-start-softnpm9
- @ra-idenpm9
- @rbappnpm9
- @specialsnpm9
- 2025-07-jsonreq-asePyPI9
- 2024-08-invokehttpPyPI9
- 2024-08-byted-22.axPyPI9
- 2026-06-clip-loggerPyPI9
- 2024-12-langer-updaterPyPI9
- 2025-07-0x9xnxPyPI9
- @accordprojectnpm8
- @dxclnpm8
- @epc-librariesnpm8
- @f5restnpm8
- @manomano-toolboxnpm8
- @marcos_feitozanpm8
- @navify-platformnpm8
- @sas-dvrnpm8
- @takamolnpm8
- @umacloudnpm8
- @web-utilitiesnpm8
- 2025-10-asynhttpPyPI8
- 2025-06-alembic-utilPyPI8
- 2026-02-amigapythonupdaterPyPI8
- 2026-07-kimichatPyPI8
- 2025-05-sl4x01PyPI8
- 2025-03-blackwolfPyPI8
- 2026-08-bip39-pyPyPI8
- 2024-10-lokopoil23PyPI8
- 2025-11-wayspiritPyPI8