GitHub Advisory malware sweep - 2026-09-22 (late) + 2026-09-23 (npm `@tvg-mar/*` + `@user-services/web-components` `oob.algamil7x.xyz` DNS-OOB day 6 at `9.9.10`; `hardhat-hold` axios-loader RCE typosquat wave extension; `chai-as-viem` + `chai-logger` chai/pino/jsonspack axios-loader family extension; `envforge/envparse` 6-package coordinated typosquat batch; `@wizloft/harness-*` 15-package Aug-Sep buildup batch quarantine; `oracle-redis` + `turbo-ws` transitive-dependency trojans; `@vitemirrorte/element-plus-vite-cli` `npmjs.it.com` mall4cloud-react-targeted RAT; `@gsutevil/hta-stage` Windows HTA/WSH MSI loader; org-internal dep-confusion cluster (`@tesla-insurance`, `devplatform-sdk`, `uolcs-host-uol-anuncios-fe`, `bnpl-blocks-*`, `bigops-*`, `agora402-payment-utils`, `ubiquiti-agents-link-mcp`, `internallib_v497/550` at RFC1918 `10.0.5.109`, `cisco-github-simple` oastify.com); pip `auclean` cloud-credential infostealer + `snap-queue`/`crypto-trader-py`/`poly-check-b` silent-install campaign + `kerokwis` pypi+rubygems telemetry; pentest `cloushaar-poc-exfil-91827` pip; ~60 random-name bulk quarantines)
GHSA 2026-09-22 (late) + 2026-09-23: ~120 new npm advisories + 5 pip + 2 rubygems. Day 6 of the oob.algamil7x.xyz DNS-OOB operator adds @tvg-mar/* and @user-services/web-components at 9.9.10. @vitemirrorte/element-plus-vite-cli@2.9.1 is a full Node RAT with npmjs.it.com C2 targeting mall4cloud-react. pip auclean steals cloud credentials.
- Incident type
- Advisory sweep. A dated batch of GitHub Advisory Database malware entries collected together. A sweep mixes kinds - typosquats, dependency-confusion probes, boilerplate takedowns with no published analysis, and occasionally real payloads - and its severity reflects the worst confirmed item, not the batch as a whole.
- Detected by
- GitHub Advisory Database · OpenSSF malicious-packages · OpenSSF Package Analysis · Amazon Inspector · ESTsecurity · kam193/bad-packages · jaschadub/compromised-packages-check
- Also known as
- 2026-09-23 GHSA npm sweep · @tvg-mar + @user-services algamil7x.xyz day 6 · hardhat-hold axios-loader RCE typosquat extension · chai-as-viem + chai-logger jsonspack.com family · envforge/envparse 6-package coordinated batch · @wizloft/harness 15-package batch quarantine · oracle-redis + turbo-ws transitive-dep trojans · @vitemirrorte/element-plus-vite-cli mall4cloud-react RAT · @gsutevil/hta-stage Windows HTA/WSH loader · auclean pip cloud-credential infostealer · 2026-09-snap-queue campaign
- Ecosystems
- npmPyPIRubyGems
- Packages tracked
- 76
What happened
Between roughly 2026-09-22 12:00 UTC and 2026-09-23 12:00 UTC, GitHub Advisory Database (plus the OpenSSF malicious-packages bulk export and Amazon Inspector's IN-MAL feed) published approximately 120 new npm malware advisories, 5 pip advisories, and 2 rubygems advisories. The window is dominated by three major continuations (algamil7x.xyz DNS-OOB day 6, hardhat-* axios-loader RCE wave, chai-* jsonspack family) plus one fully-featured targeted RAT (@vitemirrorte/element-plus-vite-cli), one Windows HTA/WSH staging payload (@gsutevil/hta-stage), one confirmed cloud-credential infostealer (pip auclean), plus large late-catch batch quarantines.
Cluster A - @tvg-mar/* + @user-services/web-components oob.algamil7x.xyz DNS-OOB (day 6)
| Package | Version | GHSA | MAL |
|---|---|---|---|
@tvg-mar/tvg-promos-atomic-ui | 9.9.10 | GHSA-fvh3-76xv-7978 | MAL-2026-16415 |
@tvg-mar/promos-context | 9.9.10 | GHSA-gmpx-wq8f-4q86 | - |
@tvg-mar/promos-gtm | 9.9.10 | GHSA-4mmr-x347-r6gv | - |
@tvg-mar/storyblok-bridge | 9.9.10 | GHSA-r788-p8wq-7672 | - |
@tvg-mar/utils | 9.9.10 | GHSA-g5mj-6q8x-7cj6 | - |
@user-services/web-components | 9.9.10 | GHSA-6q28-qx7w-pv4x | - |
All six packages match the algamil7x install-chain verbatim: scripts.install: node index.js loads a runtime/support/telemetry/probe/impl.js module which reads os.userInfo().username, os.hostname(), and process.cwd() basename via module.constructor._load (indirect Node builtin resolution to defeat static analysis), concatenates with a timestamp and a per-package prefix, and issues a dns.resolve4 on <prefix>-<user>-<host>-<cwd>.<ts>.oob.algamil7x.xyz. Sibling probe/*.js files carry String.fromCharCode hex-array obfuscation of method names and destination domain plus telemetry/connectivity probe cover-story comments.
Day tally so far: day 1 (2026-09-18, @tink/tink-link-core@9.9.10, tinkcore), day 2 (2026-09-19, four @shared-web/@shared-runtime/@insiderintelligence packages), day 3 (2026-09-20 quiet), day 4 (2026-09-21, @baanx/solana-lib@9.9.9/9.9.10), day 5 (2026-09-22, @baanx/abis + @baanx/blockchain-config at 9.9.11), day 6 (today, 6 more packages under @tvg-mar and @user-services, all at 9.9.10). The operator is now iterating scope names roughly daily but keeping the primitive identical.
Cluster B - hardhat-hold axios-loader RCE typosquat wave extension
hardhat-hold@2.0.1 (2026-07-24) and @2.21.0 (2026-07-31), quarantined by npm 2026-09-23 00:09 UTC. Fourth hardhat-* in the Ethereum-toolchain typosquat wave that broke yesterday with hardhat-base, hardhat-core, hardhat-devkit. Late-catch of a Jul publish that npm review picked up two months after the fact. Payload class matches the family: detached child process + base64-decoded remote URL + axios POST + Function.constructor eval. Same operator, same infrastructure (ipcheck-hashed.vercel.app for the sibling hardhat-core).
Cluster C - chai-* axios-loader RCE family extension
| Package | Version | GHSA | Notes |
|---|---|---|---|
chai-as-viem | (holder only) | GHSA-88fm-v2m3-mx8x | Quarantined 2026-09-22 18:20 UTC. Viem Ethereum-client lookalike. Register-continuation drop |
chai-logger | 3.0.2 | GHSA-fv5h-7hj3-xq5r | ~4 MB obfuscated payload at import-time; pino cover files; axios inside obfuscated code; author = jsonspack.com |
Extends the family first catalogued as chai-testing in the 2026-09-21 sweep. Signature: chai/pino cover story + axios-loader RCE + jsonspack.com author.
Dedup note: chai-tracker versions 1.1.0-1.1.3 and 1.2.1 are ALREADY catalogued in the 2026-08-10 sweep. Today's 2026-09-23 npm-side quarantine (GHSA-xvr2-rmx5-mrv3) is the formal namespace takedown of a package OpenSSF flagged 6 weeks ago. This sweep does not re-add chai-tracker.
Cluster D - envforge/envparse 6-package coordinated typosquat batch
| Package | GHSA | Quarantined |
|---|---|---|
envparse2 | GHSA-q747-c2cv-gfhj | 2026-09-22 18:21 UTC |
envparse3 | GHSA-vq77-3r62-c2cx | 2026-09-22 18:21 UTC |
envforge2 | GHSA-h8xg-3hfp-rx6q | 2026-09-22 18:21 UTC |
envforge3 | GHSA-7chm-5cxc-2wx2 | 2026-09-22 18:21 UTC |
better-envforge | GHSA-3h54-43fv-m822 | 2026-09-22 18:21 UTC |
node-env-buffer | GHSA-2g29-f3qp-c7gf | 2026-09-22 18:21 UTC |
All six quarantined by npm in a ~90-second window. Coordinated multi-name typosquat drop against the .env/dotenv ecosystem. GHSA bodies are generic CWE-506 boilerplate; the per-package payload is not disclosed but the batch pattern implies a real one.
Cluster E - @wizloft/harness-* 15-package batch quarantine
All 15 quarantined by npm in a 4-minute window on 2026-09-23 00:20 UTC. Alpha/beta publishes ran from 2026-08-17 through 2026-09-06 - a ~5-week buildup. The 15 packages divide across three implied roles - CLI adapters, plugin harness, and memory/kernel core - which matches a "testing/CI harness" theme (see the earlier stillm4ddpocs-rtest-* sweep from 2026-08-23 for a comparable pattern). CWE-506 boilerplate advisories; specific payload not disclosed.
Cluster F - Transitive-dependency trojan (oracle-redis + turbo-ws)
| Package | Version | GHSA | Delivery |
|---|---|---|---|
oracle-redis | 5.11.3 | GHSA-8m7m-r8mw-mvq2 | Declared deps redis-type-intel@^1.10.5 + pino-ulid@^2.12.2 (never imported by oracle-redis code) - lifecycle scripts fire during transitive install |
turbo-ws | 1.0.0 | GHSA-49rw-43cc-8cmh | Declared dep node-net-pool as HTTPS tarball on an unrelated GitHub account; postinstall loads the fetched tarball with no integrity check |
Both impersonate legitimate names (ioredis, WebSocket "turbo" utilities). The oracle-redis case copies the ioredis README verbatim and points the repo URL at luin/ioredis for camouflage. Same architectural class as the 2026-09-22 bytepack-probe-a7x3 - malicious code injected via the dependency graph rather than the target package itself. --ignore-scripts blocks these.
Cluster G - @vitemirrorte/element-plus-vite-cli@2.9.1 mall4cloud-react-targeted RAT
Highest-severity single package of the sweep (MAL-2026-16401, GHSA-j7hr-ff2j-rgv6).
Persistence: agent deployed to ~/.gradle/caches/ at install-time - a directory that survives npm install/npm uninstall, is on the developer PATH via Gradle wrapper scripts, and is rarely audited during incident response.
C2: https://npmjs.it.com - a typosquat of npmjs.com built to inherit implicit trust when a security engineer scrolls the process list. Registers each install with hostname, os.userInfo().username, os.type(), os.release(), and a persistent agent_id.
Remote-control protocol:
execopcode - arbitrary shell command executionreadopcode -fs.readFileSyncon any path, exfiltrated backupload/delete/moveopcodes - filesystem write operationsps/lsopcodes - process and directory enumeration
Activation gate: the RAT stays dormant unless the current workspace fingerprints as mall4cloud-react (an open-source Chinese e-commerce reference project popular in mid-2026 tutorials). This is a targeted supply-chain attack: the operator publishes broadly but the payload only fires against developers who cloned the specific target repo. Any dormant install can be re-activated by a future republish that widens the workspace-name whitelist.
Cluster H - @gsutevil/hta-stage Windows HTA/WSH MSI loader
@gsutevil/hta-stage@>=1.62.0 (GHSA-95xp-29r3-v466). Windows-only staging payload:
- Disables Windows Script Host anti-malware scanning via registry-modification of
HKLM\SOFTWARE\Microsoft\Windows Script Host\Settingsand equivalent HKCU keys - Collects computer name and username; beacons to attacker infrastructure
- Cleanup phase: terminates any running
python.exeprocesses and removes any prior implant files - Downloads and silently installs MSI packages from attacker-controlled servers
- All sensitive identifiers (WScript.Shell, ScriptControl, .exe, MSI URLs) reconstructed at runtime from
String.fromCharCodebyte arrays
Same TTP class as the Roblox-TS Windows RAT family tracked earlier in the corpus but with the MSI-download escalation making it a full multi-stage delivery mechanism rather than a single-shot dropper.
Cluster I - pip infostealer / campaigns
| Package | Version | GHSA | Campaign | Notes |
|---|---|---|---|---|
auclean | 0.4.2/0.4.3/0.4.4 | GHSA-v257-9gjr-rv2j | 2026-09-auclean | Cloud-credential infostealer: fingerprints env + network, targets cloud credentials, exfiltrates |
snap-queue | 1.0.0 | GHSA-3v8f-m5rm-8mv3 | 2026-09-snap-queue | setup.py install-command override; payload file missing from sample |
crypto-trader-py | 1.0.0 | GHSA-j8qm-q4hg-mvr7 | 2026-09-snap-queue | Same class as snap-queue |
poly-check-b | 1.0.0 | GHSA-3324-42r3-w6mm | 2026-09-snap-queue | Same class |
kerokwis (pypi) | <=99 | GHSA-9fqg-jm66-pjqf | GENERIC-standard-pypi-install-pentest | setup.py-override telemetry probe |
kerokwis (rubygems) | 99 | GHSA-mh78-3v9h-gh6j | (rubygems republish) | Cross-ecosystem republish under same name |
auclean is the standout - a real cloud-credential infostealer with distinct campaign attribution. snap-queue/crypto-trader-py/poly-check-b share a broken-delivery footprint (missing payload) but the intent is unambiguous. kerokwis cross-ecosystem is unusual and worth monitoring for future drops.
Cluster J - Org-internal dep-confusion cluster (single-day sweep)
Targets by scope/name lookalike:
- Tesla Insurance:
@tesla-insurance/vinless-quote - UOL Brazilian media:
uolcs-host-uol-anuncios-fe(continues yesterday's@uol-afiliados/*cluster) - Buy-Now-Pay-Later:
bnpl-blocks-mobile-bnpl-floating-button,bnpl-blocks-atom-bnpl-search-input - Generic "bigops":
bigops-products-timeline,bigops-auth-interceptor - Agora / 402:
agora402-payment-utils - Ubiquiti:
ubiquiti-agents-link-mcp@0.0.1/0.0.2/0.2.0/0.2.1 - Cisco:
cisco-github-simple@1.0.1(with confirmedprk15yh0sbkd1305h200c2wv5mbhz7nw.oastify.comBurp Collaborator exfil of/etc/passwd,/etc/hosts, DNS servers, package.json) internallib_v<NNN>enumeration campaign:internallib_v497@1.0.3(curl-pipe RCE from RFC191810.0.5.109, unencrypted HTTP) +internallib_v550— continuation of the campaign tracked since 2026-08-03 (previous versions catalogued:_v514,_v524,_v568,_v688,_v756,_v902,_v949, others)- Generic
-sdk/-utils:devplatform-sdk,take-home-caller-id - n8n workflow nodes:
n8n-nodes-healthmon,n8n-nodes-metricsagent,n8n-nodes-data-transformer-utils - Ethereum library:
evm-validation@1.0.0-1.0.4(1.0.0/1.0.1from 2024-09-15 - long-standing name squat quarantined only now)
Cluster K - Bulk/random-name quarantines
~60 npm packages with random-string or auto-generated names, quarantined in the 2026-09-22/23 window. CWE-506 boilerplate advisories; per-package payload not disclosed. Coordinated bot-published typosquat activity is likely, but without per-package IOC we cannot cluster them further. Notable named-lure entries in this batch:
dbconnectify- previously named as the chai-tracker C2 dependency in the 2026-08-10 sweep; today's quarantine elevates it to first-class tracked malware@httttt/mcp-npx-fetch-1+@httttt/mcp-demo- MCP-namespace lookalike,htttttscope@test1230504/*- three packages under a shared test scope with sentinel1.0.0from 2026-07-28 late-catchz-deno-truth-*- three packages under a Deno-lookalike name pattern@mikudeveloper/baileys- WhatsApp clone impersonation
Cluster L - Pentest/CTF/research artefacts
cloushaar-poc-exfil-91827@0.0.1 pip (GHSA-6wmc-3vvj-9j5f, campaign GENERIC-standard-pypi-install-pentest) - self-labelled POC; exfiltrates IPs and usernames on install; PROBABLY_PENTEST classification. Non-hostile framing but the exfiltration is real.
Also: additional GHSA numbers were reissued against packages already catalogued in the 2026-09-22 sweep (@uol-afiliados/affiliated-config-lib GHSA-mx57-mmpv-mwjr, @uh-platform/domain-widget GHSA-c842-qvgg-5vpf, @uh-platform/cloud GHSA-xrhc-2pph-j3f7, @asdfaskdjfksadhfkasf/nadaver2 GHSA-xxcj-347q-8rrr). These are secondary advisory records for the same underlying publish and do not represent new drops.
Cross-operator patterns worth flagging
- The
oob.algamil7x.xyzoperator is on day 6 - nine consecutive days with a fresh internal-lookalike scope each day but the same DNS zone, code style, and primitive. This is now the longest-running single-operator campaign in the DependencyWatch corpus for 2026 Q3. - *The `hardhat-
axios-loader RCE wave is a two-day event** and the operator is doing late-quarantine catch-up on Jul publishes (hardhat-hold@2.0.1from Jul 24,hardhat-core@1.0.0from May 13). Expect morehardhat-*` names to surface as npm review works through the backlog. - *The `chai-
/pino/jsonspack.comfamily** is now a three-week arc (chai-trackerAug 10,chai-testingSep 21,chai-as-viem/chai-loggerSep 22). Same author fingerprint, same axios-loader primitive withpino` cover files, new lure name each drop. npmjs.it.comas a typosquat of the registry itself is a new escalation vector. Prior families used generic C2 domains; imitating the registry domain and hosting on the .it TLD compounds the misdirection.- Cross-ecosystem republishes are appearing more often -
kerokwis(pypi + rubygems), the@baanx/*and@user-services/*internal-scope operator (still npm-only for now but the pattern of testing new scopes daily is similar in spirit). - Late batch quarantines continue to compress -
@wizloft/harness-*(15 packages in 4 minutes),envforge/envparse(6 packages in 90 seconds). npm review is working through a real backlog, and a lockfile hit today may correspond to exposure that started weeks or months ago.
Registry state
All packages in Clusters A, D, E, K are npm-quarantined (replaced with 0.0.1-security holding package). Cluster B (hardhat-hold) is quarantined; Cluster C's chai-as-viem is quarantined; Cluster F's oracle-redis may still be live at publish time (advisory published Sep 22, no npm takedown timestamp seen). Cluster G (@vitemirrorte/element-plus-vite-cli@2.9.1) is npm-quarantined but the C2 domain npmjs.it.com remains operator-controlled. Cluster H (@gsutevil/hta-stage) is npm-quarantined but the anonymous MSI-hosting endpoints remain live.
Durable network-edge mitigations: egress blocks on oob.algamil7x.xyz, ipcheck-hashed.vercel.app, jsonspack.com, npmjs.it.com, *.oastify.com (or the specific prk15yh0sbkd1305h200c2wv5mbhz7nw subdomain), unencrypted HTTP to 10.0.5.109, and unexpected Cloudflare Workers subdomains.
Discovery credits
GitHub Advisory Database, OpenSSF malicious-packages, OpenSSF Package Analysis, Amazon Inspector, ESTsecurity, kam193/bad-packages, jaschadub/compromised-packages-check. Per-package IOC details drawn from GHSA and OpenSSF advisory bodies published between 2026-09-22 12:00 UTC and 2026-09-23 12:00 UTC.
Affected packages (76)
- npm@gsutevil/hta-stage1.62.0
- npm@httttt/mcp-demo1.0.0
- npm@httttt/mcp-npx-fetch-11.0.0
- npm@mikudeveloper/baileys1.0.0
- npm@mr-supun-fernando/supunmd-bail1.0.0
- npm@tesla-insurance/vinless-quote1.0.0
- npm@test1230504/probe-7f3k2m-utils1.0.0
- npm@test1230504/string-format-helper1.0.0
- npm@test1230504/test-publish-verify1.0.0
- npm@tvg-mar/promos-context9.9.10
- npm@tvg-mar/promos-gtm9.9.10
- npm@tvg-mar/storyblok-bridge9.9.10
- npm@tvg-mar/tvg-promos-atomic-ui9.9.10
- npm@tvg-mar/utils9.9.10
- npm@user-services/web-components9.9.10
- npm@vitemirrorte/element-plus-vite-cli2.9.1
- npm@wizloft/harness0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.40.1.1-alpha.30.1.2-alpha.10.1.2-alpha.30.2.0
- npm@wizloft/harness-authority0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-cli-adapter0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.40.1.2-alpha.10.1.2-alpha.3
- npm@wizloft/harness-commands0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-context0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-evidence0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-file-providers0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-kernel0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-memory0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-plugin-file-events0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-plugin-file-memory0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-plugin-memory-context0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-plugin-repository-files0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-project0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npm@wizloft/harness-validation0.1.0-alpha.20.1.0-alpha.30.1.0-alpha.4
- npmaction-slack-message-root1.0.0
- npmagora402-payment-utils1.0.0
- npmanhn-cli1.0.0
- PyPIauclean0.4.20.4.30.4.4
- npmbetter-envforge1.0.0
- npmbigops-auth-interceptor1.0.0
- npmbigops-products-timeline1.0.0
- npmbnpl-blocks-atom-bnpl-search-input1.0.0
- npmbnpl-blocks-mobile-bnpl-floating-button1.0.0
- npmchai-as-viem1.0.0
- npmchai-logger3.0.2
- npmcisco-github-simple1.0.1
- PyPIcloushaar-poc-exfil-918270.0.1
- PyPIcrypto-trader-py1.0.0
- npmdbconnectify1.0.0
- npmdevplatform-sdk1.0.0
- npmenvforge21.0.0
- npmenvforge31.0.0
- npmenvparse21.0.0
- npmenvparse31.0.0
- npmevm-validation1.0.01.0.11.0.21.0.31.0.4
- npmhardhat-hold2.0.12.21.0
- npminternallib_v4971.0.3
- npminternallib_v5501.0.0
- PyPIkerokwis99
- RubyGemskerokwis99
- npmn8n-nodes-data-transformer-utils1.0.0
- npmn8n-nodes-healthmon1.0.0
- npmn8n-nodes-metricsagent1.0.0
- RubyGemsno-fun1.0.0
- npmnode-env-buffer1.0.0
- npmnodetokyo1.0.0
- npmnoverojava1.0.0
- npmoracle-redis5.11.3
- PyPIpoly-check-b1.0.0
- PyPIsnap-queue1.0.0
- npmsysverify1.0.0
- npmtailwind-form-styles1.0.0
- npmtake-home-caller-id1.0.0
- npmturbo-ws1.0.0
- npmubiquiti-agents-link-mcp0.0.10.0.20.2.00.2.1
- npmuolcs-host-uol-anuncios-fe1.0.0
- npmz-deno-truth-bwhlsz1.0.0
- npmz-deno-truth-va499w1.0.0
- npmz-deno-truth-ya1t4m1.0.0
These are usually pulled in as transitive dependencies rather than installed directly. Check your whole tree at once - it runs in your browser and nothing is uploaded.
Impact
- *Cluster A - npm `@tvg-mar/
+@user-services/web-componentsoob.algamil7x.xyzDNS-OOB (day 6 of the operator)**:@tvg-mar/tvg-promos-atomic-ui@9.9.10(GHSA-fvh3-76xv-7978, MAL-2026-16415),@tvg-mar/promos-context@9.9.10(GHSA-gmpx-wq8f-4q86),@tvg-mar/promos-gtm@9.9.10(GHSA-4mmr-x347-r6gv),@tvg-mar/storyblok-bridge@9.9.10(GHSA-r788-p8wq-7672),@tvg-mar/utils@9.9.10(GHSA-g5mj-6q8x-7cj6), plus@user-services/web-components@9.9.10(GHSA-6q28-qx7w-pv4x). All published in the 2026-09-22/23 window with the exact same primitive as days 1-5 (@tink,@shared-web/@shared-runtime/@insiderintelligence,@baanx/solana-lib,@baanx/abis/blockchain-config):scripts.install: node index.jsloads aruntime/support/telemetry/probe/impl.jsmodule that readsos.userInfo().username,os.hostname(), andprocess.cwd()basename viamodule.constructor._load(indirect Node builtin resolution to defeat static analysis), joins them with a timestamp and a per-package prefix, and issues adns.resolve4on<prefix>-<user>-<host>-<cwd>.<ts>.oob.algamil7x.xyz. Siblingprobe/*.jsfiles carryString.fromCharCode` hex-array obfuscation of the destination domain. Same operator, same DNS zone, same code style - now spanning nine consecutive days. Amazon Inspector flagged each within minutes of publish - Cluster B - npm
hardhat-holdaxios-loader RCE typosquat wave extension:hardhat-hold@2.0.1(2026-07-24),2.21.0(2026-07-31), name-quarantined by npm 2026-09-23 00:09 UTC. Fourthhardhat-*in the Ethereum-toolchain typosquat wave that surfaced yesterday (hardhat-base,hardhat-core,hardhat-devkitwere catalogued in the 2026-09-22 sweep). Late-catch of packages that sat on the registry for two months before npm review picked them up. Payload class matches the family: detached child process + base64-decoded remote URL + axios POST +Function.constructoreval of the response body. Any lockfile with a hit was exposed for ~2 months - *Cluster C - npm `chai-
axios-loader RCE family extension**:chai-as-viem(GHSA-88fm-v2m3-mx8x, quarantined 2026-09-22 18:20 UTC) andchai-logger@3.0.2(GHSA-fv5h-7hj3-xq5r) both extend the chai-family axios-loader RCE class first catalogued aschai-testingin the 2026-09-21 sweep and continued throughchai-as-persisted/chai-trackerin prior batches. GHSA analysis onchai-loggerconfirms the family signature: ~4 MB heavily-encoded module executed at import,pinologger source files as camouflage cover, axios declared only inside the obfuscated code,authorfield referencesjsonspack.com.chai-as-viemis the register-continuation drop (Viem is a modern Ethereum client library - the name lures developers writing Ethereum test suites). Note:chai-trackerversions1.1.0-1.1.3and1.2.1` were already catalogued in the 2026-08-10 sweep; the 2026-09-23 npm-side quarantine confirms npm has now taken over the name (this sweep does not re-add the package) - Cluster D - npm
envforge/envparse6-package coordinated typosquat batch:envparse2(GHSA-q747-c2cv-gfhj),envparse3(GHSA-vq77-3r62-c2cx),envforge2(GHSA-h8xg-3hfp-rx6q),envforge3(GHSA-7chm-5cxc-2wx2),better-envforge(GHSA-3h54-43fv-m822),node-env-buffer(GHSA-2g29-f3qp-c7gf). All six quarantined by npm in a ~90-second window on 2026-09-22 18:21 UTC (single-batch sweep). All target the.env/dotenvecosystem with plausibly-legitimate names (envparse and envforge look like variants ofenvparse/env-forge). GHSA advisories carry the generic CWE-506 boilerplate; the specific per-package payload is not disclosed but the coordinated multi-name naming pattern and simultaneous npm review action is a classic operator-batched typosquat drop targeting.env-loading libraries - *Cluster E - npm `@wizloft/harness-
15-package batch quarantine (Aug-Sep buildup)**:@wizloft/harness(GHSA-hv3x-6r5c-g4cp),@wizloft/harness-cli-adapter(GHSA-hmmw-27v2-3qc8),@wizloft/harness-file-providers(GHSA-2jrv-g43f-qm7f),@wizloft/harness-plugin-repository-files(GHSA-p4gf-f4rj-hfh8),@wizloft/harness-project(GHSA-xj44-gx57-mm59),@wizloft/harness-commands(GHSA-cv26-mq7q-h5hq),@wizloft/harness-authority(GHSA-8h24-fp89-4cw3),@wizloft/harness-evidence(GHSA-mjfj-x5qx-p7v8),@wizloft/harness-plugin-file-events(GHSA-6866-wx9h-j2rh),@wizloft/harness-plugin-file-memory(GHSA-64w5-qg43-54g7),@wizloft/harness-plugin-memory-context(GHSA-r4qq-8p58-gfpv),@wizloft/harness-validation(GHSA-7g98-grc6-6xjh),@wizloft/harness-context(GHSA-wjhv-xmmw-qqf9),@wizloft/harness-memory(GHSA-3mjw-625p-wvhf),@wizloft/harness-kernel(GHSA-9f63-qfxp-2726). All 15 quarantined by npm in a 4-minute window on 2026-09-23 00:20 UTC. Alpha and beta versions had been publishing since 2026-08-17 through 2026-09-06 - a ~5-week buildup before batch quarantine. CWE-506 boilerplate advisories; specific payload not disclosed. Coordinated multi-package@wizloft/harness-*` naming targets a testing/CI harness scope - Cluster F - npm transitive-dependency trojan (
oracle-redis+turbo-ws):oracle-redis@5.11.3(GHSA-8m7m-r8mw-mvq2) impersonatesiorediswith copied README and repo URL; declares unused runtime dependenciesredis-type-intel@^1.10.5andpino-ulid@^2.12.2whose sole purpose is to fire their own lifecycle scripts duringnpm install.turbo-ws@1.0.0(GHSA-49rw-43cc-8cmh) declares zero dependencies in its README but itspackage.jsonhides a transitive dependencynode-net-poolpinned to an HTTPS tarball on an unrelated GitHub account; the tarball is fetched at install-time with no integrity check and its postinstall runs immediately. Both use the same architectural class as the 2026-09-22bytepack-probe-a7x3(Cluster H of that sweep) - malicious code injected via the dependency graph rather than in the target package itself.--ignore-scriptsblocks these - Cluster G - npm
@vitemirrorte/element-plus-vite-cli@2.9.1mall4cloud-react-targeted full-featured Node RAT (highest-severity single package of the sweep): MAL-2026-16401, GHSA-j7hr-ff2j-rgv6. Masquerades as an Element Plus + Vite CLI helper. On install, deploys a persistent agent to~/.gradle/caches/(Gradle cache is on the developer PATH, survives npm re-installs, and is rarely audited). Agent registers tohttps://npmjs.it.com(a typosquat of npmjs.com built to inherit search-time legitimacy) withhostname, OS username,os.type()/os.release(), and a persistentagent_id. Full remote-control protocol:execopcode runs arbitrary shell commands;fs.readFileSync+ exfil opcodes read arbitrary files; upload/delete/move opcodes; process and directory listings. Activation is gated on workspace namemall4cloud-react(an open-source Chinese e-commerce reference project) via fingerprinting - the RAT stays dormant on other checkouts to avoid detection, then wakes only when the operator's targets clone the intended repo. Any developer who cloned amall4cloud-reactfork and rannpm installon 2026-09-22 or 2026-09-23 has an active RAT with~/.gradle/caches/persistence - Cluster H - npm
@gsutevil/hta-stageWindows HTA/WSH MSI loader:@gsutevil/hta-stage@>=1.62.0(GHSA-95xp-29r3-v466). Windows-only staging payload: disables Windows Script Host anti-malware scanning via multiple registry-modification methods, collects computer name and username and beacons to attacker infrastructure, terminates Python processes and removes prior implants (cleanup), silently downloads and executes MSI packages from attacker-controlled servers, reconstructs all sensitive identifiers (ScriptControl,WScript.Shell,.exe, MSI URLs) at runtime fromString.fromCharCodebyte arrays to defeat static AV signatures. Same TTP class as the Roblox-TS Windows RAT family tracked in prior sweeps but with the MSI-download escalation. Amazon Inspector flagged - Cluster I - pip infostealer / campaigns:
auclean@0.4.2/0.4.3/0.4.4(GHSA-v257-9gjr-rv2j, campaign2026-09-auclean) is a real cloud-credential infostealer - fingerprints host env, network scans, searches for specific files, harvests cloud provider credentials (AWS/GCP/Azure tokens implied by "cloud credentials"), then exfiltrates.snap-queue@1.0.0(GHSA-3v8f-m5rm-8mv3),crypto-trader-py@1.0.0(GHSA-j8qm-q4hg-mvr7), andpoly-check-b@1.0.0(GHSA-3324-42r3-w6mm) form the2026-09-snap-queuecampaign - all three overridesetup.py's install command to run malicious code; the payload file was missing from the analyzed samples (operator forgot to include it) but the intent and delivery mechanism are unambiguous.kerokwispublishes as both pypi (<=99, GHSA-9fqg-jm66-pjqf, GENERIC-standard-pypi-install-pentest campaign) and rubygems (99, GHSA-mh78-3v9h-gh6j) -setup.py-override telemetry probe on install; the cross-ecosystem republish under identical names is unusual and suggests operator experimentation with rubygems as a secondary channel - Cluster J - npm org-internal dep-confusion cluster (single-day sweep of internal-scope squats):
@tesla-insurance/vinless-quote(GHSA-p853-37gq-hxpj, Tesla Insurance impersonation),devplatform-sdk(GHSA-24m2-6frm-vxj3),uolcs-host-uol-anuncios-fe(GHSA-p4vr-mx6g-r574, UOL Brazilian media continuation from yesterday's@uol-afiliadoscluster),bnpl-blocks-mobile-bnpl-floating-button(GHSA-vrh4-rf6w-3256) +bnpl-blocks-atom-bnpl-search-input(GHSA-pvq7-rm52-m5g7) (Buy-Now-Pay-Later block-component impersonation),bigops-products-timeline(GHSA-9f9c-qwvh-f45q) +bigops-auth-interceptor(GHSA-7pp9-3qqc-vc84),agora402-payment-utils(GHSA-pvr5-m9hx-xxfr),ubiquiti-agents-link-mcp@0.0.1/0.0.2/0.2.0/0.2.1(GHSA-f2wc-4v37-6f5h, hashbb2bd11478a4b45a05adf8ac3c9b4ddeb169297b9c280916a25eccd4dd827922, Ubiquiti networking impersonation),internallib_v497@1.0.3(GHSA-m9ww-2r6q-x632, curl-pipe RCE from RFC191810.0.5.109) +internallib_v550(GHSA-vc8f-vp28-j8g3) (continuation of theinternallib_v<NNN>sequential-enumeration campaign tracked since 2026-08-03),cisco-github-simple@1.0.1(GHSA-2ph4-jf5x-92pp, Cisco impersonation withprk15yh0sbkd1305h200c2wv5mbhz7nw.oastify.comBurp Collaborator OOB exfil of hostname, username, home dir, DNS servers,/etc/passwd,/etc/hosts, package.json),take-home-caller-id(GHSA-2g3j-m32f-cc29),n8n-nodes-healthmon+n8n-nodes-metricsagent+n8n-nodes-data-transformer-utils(n8n workflow node impersonators), andevm-validation@1.0.0-1.0.4(GHSA-gvxq-2rq2-f7x6, Ethereum library impersonation,1.0.0/1.0.1from 2024-09-15 - long-standing name squat) - Cluster K - npm bulk/random-name quarantines (payload not disclosed in GHSA body; treat as install-time compromise pending IOC):
z-deno-truth-va499w/ya1t4m/bwhlsz(Deno lookalike, 3 pkgs),@test1230504/probe-7f3k2m-utils/string-format-helper/test-publish-verify(3 pkgs;@test1230504scope with sentinel version1.0.0from 2026-07-28 late-catch),@httttt/mcp-npx-fetch-1+@httttt/mcp-demo(MCP-namespace lookalike), plus ~60 random-name npm packages (mbxcnsuwgs1,mn4xcouzvhus,xsjukcnv8low26,vxhjkseuiaqkb,mob4zchvuine,mobiwaefhxc3,tuxcmdfhjkw,m3fdfocdoewn,mjsdqwocvn,testdgdbcsd,tib2jcvowuyma,kamafhbnowct,m2fcsfyjkuxb,tesgfvbncsdbcv,mn2adskhweox,ndmxchdjxn2,ndmfguyhoxc3,ndmushdkeqe,mn3sadkoiewu,skxcmwuncbg2,tibcwmpoeafh,caphsmgiwy,luftzxyuiwgbgsp,cloudndmcedu,ndmcmsujey,ndmckauxuoincv,ndmcjcxiebysfdb,luftmvfiwgxydes,lufxchwmxwyps,fdhcxvnwhjiofv,kambxjowhdsgyw,tldriver,tlxbnhd,mxdriver,efhthrthrthregerht,moudeva,moidevl,catqrcodeconverter,catplatebarcodeparser,dbconnectify,iso-datetime-core,semver-bump-io,debounce-throttle-base,prettier-lint-lenz,solo-async-pipe,webp-https-errors,better-md,some-tool-package,subapp-pkg-util,eslint-config-compact-utils,eslint-plugin-i18n-shreddit,my-company-device,nodetokyo,@mr-supun-fernando/supunmd-bail,action-slack-message-root,sysverify,tailwind-form-styles,noverojava,@mikudeveloper/baileys,anhn-cli,no-fun(rubygems)). Note:dbconnectifywas previously named as the chai-tracker C2 dependency in the 2026-08-10 sweep but not tracked as a package on its own - today's quarantine finally elevates it to first-class tracked malware - Cluster L - Pentest/CTF/research artefacts (real payloads, non-hostile framing):
cloushaar-poc-exfil-91827@0.0.1pip (GHSA-6wmc-3vvj-9j5f, campaignGENERIC-standard-pypi-install-pentest, PROBABLY_PENTEST classification) -setup.py-override that exfiltrates IPs + usernames; self-labelled POC. Also on the 2026-09-22 side: additional GHSA numbers reissued against packages already catalogued in the 2026-09-22 sweep (@uol-afiliados/affiliated-config-libGHSA-mx57-mmpv-mwjr,@uh-platform/domain-widgetGHSA-c842-qvgg-5vpf,@uh-platform/cloudGHSA-xrhc-2pph-j3f7,@asdfaskdjfksadhfkasf/nadaver2GHSA-xxcj-347q-8rrr) - these are secondary advisory records for the same underlying package publish and do not represent new drops
What to do
- 1Grep every
package-lock.json,yarn.lock,pnpm-lock.yaml,package.json,requirements.txt,Pipfile.lock, andpoetry.lockin your org for every package name in Clusters A through L. Uninstall on hit, wipenode_modules/.venv, delete the lockfile, rebuild against a clean cache. Clusters A, B, C, F, G, H, I, and Cluster J (subset) include real disclosed payloads (DNS-OOB, axios-loader RCE, transitive-dependency trojans, full RAT with mall4cloud-react gate, Windows HTA/WSH MSI loader, cloud-credential infostealer, curl-pipe RCE, Burp Collaborator OOB) - a hit on any of those is a compromise, not a warning - 2*For Cluster A (`@tvg-mar/
+@user-services/web-componentsalgamil7x day 6)**: blockoob.algamil7x.xyzat your resolver (same operator zone as the 2026-09-18 through 2026-09-22 clusters - now spanning nine days). Every new day this operator publishes under a fresh internal-lookalike scope name, so pin-by-scope is a losing game - the durable mitigation is resolver-level DNS blocking ofalgamil7x.xyz`. Any host that installed the packages DNS-resolved a label carrying hostname/username/cwd - rotate credentials accessible from that host - 3For Cluster B (
hardhat-holdcontinuation): blockipcheck-hashed.vercel.appat CI egress and any similar Vercel-hosted axios-loader endpoint (see 2026-09-22 sweep for the exact URL path). Uninstall anyhardhat-*package that is not@nomicfoundation/hardhat-*and rotate every credential visible to the parent Node process. Packages were live for ~2 months before quarantine so a hit implies extended exposure - 4*For Cluster C (`chai-
axios-loader family)**: blockjsonspack.comat CI egress, uninstall on hit.--ignore-scriptsdoes NOT block this family - the RCE fires when the exported chai plugin is loaded viachai.use()or imported. Any dev environment that ran a chai-based test suite in the exposure window is potentially compromised.chai-as-viem` in particular is a plausible drop for developers writing Ethereum test suites with Viem - 5For Cluster D (
envforge/envparsebatch): audit any.env-loading library your projects import. If yourpackage.jsonsaysenvparse,env-parse,envforge, orenv-forge, verify the exact spelling against the legitimate package registry - anyenvparse2/envparse3/envforge2/envforge3/better-envforge/node-env-bufferreference is a compromise indicator - 6*For Cluster E (`@wizloft/harness-
15-package batch)**: uninstall on hit. Packages were live for ~5 weeks (Aug 17 - Sep 6 publish window) so a hit implies extended exposure. If your org maintains an internal@wizloft` scope for a CI harness, pin it to your private registry - 7For Cluster F (transitive-dependency trojan): enforce
--ignore-scriptsat the CI runner level; auditpackage.jsonfor any dependency declared as an HTTPS-tarball URL rather than a registry version ("pkg": "https://..."in the deps map is a red flag). If you meantioredis, verify the exact spelling;oracle-redisandturbo-wsshould not appear in any modern Redis/WebSocket workflow - 8For Cluster G (
@vitemirrorte/element-plus-vite-climall4cloud-react RAT): blocknpmjs.it.comat your resolver AND at your web proxy - this is a typosquat of npmjs.com and no legitimate traffic should reach it. If your org has any developer or CI runner that touched amall4cloud-reactfork in the last 48h, assume that workstation is fully compromised: image it, do not attempt to clean in place. Rotate every credential the RAT could have reached (SSH keys, cloud tokens, browser sessions, IDE tokens, git credentials). Delete~/.gradle/caches/on remediated hosts and rebuild the Gradle cache from a clean source - 9For Cluster H (
@gsutevil/hta-stageWindows HTA/WSH loader): uninstall on hit. Windows-only impact - Linux/macOS developers are not affected. Audit Windows workstations that touched the package for: Windows Script Host registry keys modified (HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings), MSI installations from unfamiliar sources in the last week (WMI queryWin32_Product), Python-process termination events in Windows event logs, and any HTA/WSH launcher persistence - 10For Cluster I (pip
auclean+snap-queuecampaign +kerokwis): uninstall on hit. Forauclean, treat any workstation that installed it as compromised - the infostealer targets cloud credentials specifically (AWS/GCP/Azure). Rotate cloud provider access keys, IAM roles, session tokens; audit CloudTrail / Cloud Audit Logs / Activity Logs for the last 72h for unfamiliar access. Forsnap-queue/crypto-trader-py/poly-check-b, the payload was missing from the analyzed samples but the delivery mechanism is fully wired - assume future republishes will carry a live payload. Forkerokwis, the cross-ecosystem republish (pypi + rubygems under the same name) is unusual; monitor for other cross-ecosystem drops from the same operator - 11For Cluster J (org-internal dep-confusion): pin the internal-looking names (
@tesla-insurance,@ubiquiti-agents-*,@n8n-nodes-*,internallib_*,@cisco-*,@bnpl-*,@bigops-*,@agora402-*,@uolcs-*) to your private registry with.npmrc. Block*.oastify.comat CI egress (specificallyprk15yh0sbkd1305h200c2wv5mbhz7nw.oastify.comforcisco-github-simple). Forinternallib_v497/internallib_v550, block outbound HTTP to10.0.5.109at your CI network egress - RFC1918 target means it only fires from inside the operator's intended network, which is a strong indication of a targeted internal-registry attack. If your org runs anyinternallib_v<NNN>internal scope, the campaign is enumerating your version numbers - 12For Cluster K (bulk/random-name quarantines): uninstall on hit.
dbconnectifyin particular is worth grepping for retrospectively - it was named as the chai-tracker C2 dependency in Aug and any lockfile that pulled in chai-tracker between 2026-08-10 and 2026-09-23 likely also hasdbconnectifytransitive. Audit for any package that includesdbconnectifyas a runtime dependency - 13For Cluster L (pentest/CTF artefacts): uninstall on hit.
cloushaar-poc-exfil-91827is self-labelled research POC but the exfiltration is real; treat as a leak of hostname and username. For the additional GHSA reissues on already-catalogued 2026-09-22 packages, no new action needed - remediation from yesterday's sweep applies - 14For every
npm installin CI, prefer--ignore-scriptsand enforce it at the runner level (note it does NOT block Cluster C - chai-family RCE fires at import, not on install script). Layer with egress denylists onoob.algamil7x.xyz,ipcheck-hashed.vercel.app,jsonspack.com,npmjs.it.com,*.oastify.com,10.0.5.109, and unexpected Cloudflare Workers subdomains. Extend the pin-lists from prior sweeps with@tvg-mar/*,@user-services/*,@wizloft/*,@tesla-insurance/*,@httttt/*,@vitemirrorte/*,@gsutevil/*,@test1230504/*,envparse2,envparse3,envforge2,envforge3,better-envforge,node-env-buffer,oracle-redis,turbo-ws,hardhat-hold,evm-validation,chai-as-viem,chai-logger,internallib_v497,internallib_v550,cisco-github-simple,ubiquiti-agents-link-mcp,agora402-payment-utils,devplatform-sdk,uolcs-host-uol-anuncios-fe,bnpl-blocks-*,bigops-*,n8n-nodes-*,take-home-caller-id,dbconnectify, and pipauclean/snap-queue/crypto-trader-py/poly-check-b/kerokwis/cloushaar-poc-exfil-91827
References
- GitHubGitHub Advisory Database - recent malware advisoriesgithub.com
- GitHubGHSA-fvh3-76xv-7978 - @tvg-mar/tvg-promos-atomic-ui (Cluster A - algamil7x DNS-OOB day 6)github.com
- GitHubGHSA-gmpx-wq8f-4q86 - @tvg-mar/promos-context (Cluster A - algamil7x DNS-OOB)github.com
- GitHubGHSA-4mmr-x347-r6gv - @tvg-mar/promos-gtm (Cluster A - algamil7x DNS-OOB)github.com
- GitHubGHSA-r788-p8wq-7672 - @tvg-mar/storyblok-bridge (Cluster A - algamil7x DNS-OOB)github.com
- GitHubGHSA-g5mj-6q8x-7cj6 - @tvg-mar/utils (Cluster A - algamil7x DNS-OOB)github.com
- GitHubGHSA-6q28-qx7w-pv4x - @user-services/web-components (Cluster A - algamil7x DNS-OOB, `@user-services` scope)github.com
- GitHubGHSA-f33v-qqxm-m6m9 - hardhat-hold (Cluster B - axios-loader RCE typosquat extension)github.com
- GitHubGHSA-88fm-v2m3-mx8x - chai-as-viem (Cluster C - jsonspack family)github.com
- GitHubGHSA-fv5h-7hj3-xq5r - chai-logger 3.0.2 (Cluster C - pino cover, jsonspack.com author, axios-loader RCE)github.com
- GitHubGHSA-q747-c2cv-gfhj - envparse2 (Cluster D - envforge/envparse batch)github.com
- GitHubGHSA-vq77-3r62-c2cx - envparse3 (Cluster D - envforge/envparse batch)github.com
- GitHubGHSA-h8xg-3hfp-rx6q - envforge2 (Cluster D - envforge/envparse batch)github.com
- GitHubGHSA-7chm-5cxc-2wx2 - envforge3 (Cluster D - envforge/envparse batch)github.com
- GitHubGHSA-3h54-43fv-m822 - better-envforge (Cluster D - envforge/envparse batch)github.com
- GitHubGHSA-2g29-f3qp-c7gf - node-env-buffer (Cluster D - envforge/envparse batch)github.com
- GitHubGHSA-hv3x-6r5c-g4cp - @wizloft/harness (Cluster E - @wizloft batch quarantine)github.com
- GitHubGHSA-hmmw-27v2-3qc8 - @wizloft/harness-cli-adapter (Cluster E)github.com
- GitHubGHSA-9f63-qfxp-2726 - @wizloft/harness-kernel (Cluster E)github.com
- GitHubGHSA-8m7m-r8mw-mvq2 - oracle-redis 5.11.3 (Cluster F - transitive-dep trojan, ioredis lookalike)github.com
- GitHubGHSA-49rw-43cc-8cmh - turbo-ws 1.0.0 (Cluster F - external-tarball transitive dep)github.com
- GitHubGHSA-j7hr-ff2j-rgv6 - @vitemirrorte/element-plus-vite-cli 2.9.1 (Cluster G - mall4cloud-react RAT, npmjs.it.com C2)github.com
- GitHubGHSA-95xp-29r3-v466 - @gsutevil/hta-stage (Cluster H - Windows HTA/WSH MSI loader)github.com
- GitHubGHSA-v257-9gjr-rv2j - auclean pip (Cluster I - cloud-credential infostealer)github.com
- GitHubGHSA-3v8f-m5rm-8mv3 - snap-queue pip (Cluster I - 2026-09-snap-queue campaign)github.com
- GitHubGHSA-j8qm-q4hg-mvr7 - crypto-trader-py pip (Cluster I - 2026-09-snap-queue campaign)github.com
- GitHubGHSA-3324-42r3-w6mm - poly-check-b pip (Cluster I - 2026-09-snap-queue campaign)github.com
- GitHubGHSA-9fqg-jm66-pjqf - kerokwis pip (Cluster I - install-pentest telemetry)github.com
- GitHubGHSA-mh78-3v9h-gh6j - kerokwis rubygems (Cluster I - cross-ecosystem republish)github.com
- GitHubGHSA-p853-37gq-hxpj - @tesla-insurance/vinless-quote (Cluster J - Tesla Insurance dep-confusion)github.com
- GitHubGHSA-p4vr-mx6g-r574 - uolcs-host-uol-anuncios-fe (Cluster J - UOL continuation)github.com
- GitHubGHSA-f2wc-4v37-6f5h - ubiquiti-agents-link-mcp (Cluster J - Ubiquiti dep-confusion)github.com
- GitHubGHSA-m9ww-2r6q-x632 - internallib_v497 (Cluster J - RFC1918 10.0.5.109 curl-pipe RCE)github.com
- GitHubGHSA-2ph4-jf5x-92pp - cisco-github-simple (Cluster J - Cisco impersonation, oastify.com Burp Collaborator)github.com
- GitHubGHSA-gvxq-2rq2-f7x6 - evm-validation (Cluster J - Ethereum library long-standing name squat)github.com
- GitHubGHSA-6wmc-3vvj-9j5f - cloushaar-poc-exfil-91827 pip (Cluster L - pentest POC)github.com
- jaschadubjaschadub/compromised-packages-checkgithub.com
- OpenSSFOpenSSF malicious-packages repositorygithub.com