GitHub Advisory malware sweep - 2026-08-24 batch (PyPI `envprovision` Snow Stealer + PyPI `cryptgraphy`/`mlflow-otel-instrumentor` cryptominer worm continuation of `2026-08-boto4` + npm `fund-list-filter`/`fund-portfolio` 999.9.12 dep-confusion + npm `@opap/player-kyc-widget` OPAP gambling KYC probe + npm `hydration-dim-kit`/`svelte-dim-kit` framework typosquat + npm `@sdgdfgdfhhhfd/*` mash-scope dropper + npm `conversa-sdk` 10-version hijack + npm `identitysecuretokenserv` internal-name dep-confusion)
13 new GHSA CWE-506 advisories in the 24h ending 2026-08-24. Highlights: PyPI envprovision drops the Snow Stealer infostealer on Windows; cryptgraphy+mlflow-otel-instrumentor extend the 2026-08-boto4 cryptominer-worm operator with a new campaign brand; npm @opap/player-kyc-widget is a targeted probe against Greek gambling operator OPAP.
- Detected by
- GitHub Advisory Database · OpenSSF malicious-packages · OpenSSF Package Analysis · kam193
- Also known as
- 2026-08-24 GHSA sweep · envprovision Snow Stealer · 2026-08-mlflow-otel-instrumentor cryptominer worm · 2026-08-boto4 operator continuation · fund-* 999.9.12 dep-confusion pair · @opap OPAP KYC dep-confusion · *-dim-kit framework typosquat pair · @sdgdfgdfhhhfd mash-scope crypto viewer pair · conversa-sdk 10-version release · identitysecuretokenserv internal-name dep-confusion
- Ecosystems
- npmPyPI
- Packages tracked
- 12
What happened
The 24-hour window ending 2026-08-24 06:00 UTC published 6 new GHSA CWE-506 advisories on npm and 3 on PyPI, plus catch-up entries for 4 npm advisories dated 2026-08-23 that landed after the previous sweep window closed. Two things about this batch matter beyond the usual sweep noise: (1) envprovision ships a named Windows infostealer (Snow Stealer) that modifies cryptowallet binaries and self-cleans logs; (2) the cryptgraphy+mlflow-otel-instrumentor pair carries the identical VT file hash as - and is explicitly labelled a continuation of - the boto4 cryptominer worm from 48h earlier, confirming that operator is running fresh brand rotations to survive takedowns.
Cluster A - PyPI envprovision Snow Stealer Windows infostealer (1 package, 3 versions)
| Package | Versions | GHSA | Source hash | VT file hash | Payload | |---|---|---|---|---|---| | envprovision | 1.2.0, 1.3.0, 1.4.0 | GHSA-xr9j-7gjp-x8fg | cf3a48b4…d869 | d49fa539…b878 | Snow Stealer |
Windows-only dropper hidden inside exported library functions (not a top-level os.system(), so a shallow static scan misses it). On import the package downloads a remote executable, saves it under a system-utility-looking filename, then cleans logs and deletes the downloaded stager to defeat forensic recovery. The dropped payload is identified as Snow Stealer - a Windows infostealer with three defining behaviours: enumeration of browser saved-password / cookie / autofill stores (Chrome, Edge, Brave, Firefox); modification of cryptocurrency wallet application binaries so subsequent transaction-signing flows can be tampered post-compromise; and sandbox-evasion checks (process list, mouse-heuristics, VM registry-tell keys) that make dynamic analysis fight the sample. Any Windows host that installed the package needs re-imaging plus wallet-key rotation - browser store rotation is not sufficient because the wallet binary itself has been tampered.
Cluster B - PyPI cryptgraphy + mlflow-otel-instrumentor cryptominer worm - 2026-08-boto4 operator continuation (2 packages)
| Package | Versions | GHSA | Source hash | VT file hash | Campaign | |---|---|---|---|---|---| | cryptgraphy | >=1.0.0 | GHSA-2v43-g59q-gxp6 | d303a7fa…3a1a | 051f8704…12e9 | 2026-08-mlflow-otel-instrumentor (linked to 2026-08-boto4) | | mlflow-otel-instrumentor | >=1.1.0 | GHSA-w427-8xgw-fvcw | 596b37ce…0bbf | 051f8704…12e9 | 2026-08-mlflow-otel-instrumentor (linked to 2026-08-boto4) |
Both packages ship the same executable (identical VT file hash 051f8704…12e9). The advisories explicitly note the campaign shares similarities with the 2026-08-boto4 cryptominer worm from 48h earlier. Payload behaviours:
- persistence via systemd services (Linux-native - the operator is targeting build servers and Linux dev hosts, not developer Windows laptops)
- cryptomining (XMR-shape based on the shared operator lineage)
- worm-style propagation over the local network (see
boto4writeup for the shared shape - it enumerates the local subnet and attempts to spread laterally)
The two typosquat targets are notable for dictionary discipline: cryptography is the pyca crypto library (a foundational transitive dependency for anything doing TLS in Python), and mlflow + opentelemetry maps to a plausible-sounding integration package that an ML engineer might install without a second look. This is the third distinct brand this operator has shipped in seven days (libasync 2026-08-20 → boto4 2026-08-22 → cryptgraphy/mlflow-otel-instrumentor 2026-08-23). Expect a fresh brand within days.
Cluster C - npm fund-* 999.9.12 dep-confusion beacon pair (2 packages)
| Package | Versions | GHSA | Hash | Notes | |---|---|---|---|---| | fund-list-filter | 999.9.12 | GHSA-ww7v-m7hw-7m2q | d7cde5bd…8281 | "communicates with a domain" | | fund-portfolio | 999.9.12 | GHSA-8qph-p7jr-c2xf | ffad2f6c…03bf | "communicates with a domain" |
Shared 999.9.12 dep-confusion sentinel version. Fund-industry naming (fund-list-filter, fund-portfolio) suggests a targeted probe against a specific asset-management or fintech internal registry. GHSA does not publish the callback domain per package, but the shared version + shared advisory shape confirms a single operator running a two-package catchment. The 999.9.x sentinel pattern also appears in the stillm4ddpocs-* cluster from 2026-08-23 and the lumen-pages-community@9.9.9 beacon from 2026-08-22 - dep-confusion probing is running at a steady 1-3 packages per day across multiple operators.
Cluster D - npm @opap/player-kyc-widget OPAP-targeted KYC dep-confusion (1 package)
| Package | Versions | GHSA | Hash | Target | |---|---|---|---|---| | @opap/player-kyc-widget | <=3.999.999 | GHSA-w2m6-3q96-chrf | 98e627ce…6885 | OPAP (Greek regulated gambling operator) KYC pipeline |
Highly targeted. @opap reads as OPAP (Organisation of Football Prognostics S.A., Greece's dominant regulated gambling operator - sports betting, lottery, casino). player-kyc-widget implies a Know-Your-Customer identity-verification UI component - the exact flow that receives customer identity documents, selfies, and bank-account details during onboarding. The <=3.999.999 version pattern is the classic dep-confusion sentinel: any OPAP resolver misconfigured to prefer highest-version-across-registries picks the public tarball over any lower-versioned internal @opap/player-kyc-widget.
Advisory notes the package "communicates with a domain associated with malicious activity" but does not publish the specific callback. Any successful catchment gives the operator a live foothold inside the KYC pipeline of a regulated gambling operator - unredacted customer PII, ID document images, and session cookies for the KYC verifier are all in reach. If this catches, the regulatory disclosure obligations (Greek DPA / GDPR / EU gambling regulator) start counting from the catchment date, not the discovery date.
Cluster E - npm *-dim-kit framework-adjacent typosquat pair (2 packages)
| Package | Versions | GHSA | Note | |---|---|---|---| | hydration-dim-kit | >=0 | GHSA-p33f-w7x3-mxrr | Boilerplate CWE-506, no per-package IOCs | | svelte-dim-kit | >=0 | GHSA-64x3-8jmm-fhp8 | Boilerplate CWE-506, no per-package IOCs |
Same -dim-kit suffix, same publication day, same boilerplate advisory shape - single operator running a two-shot typosquat register against SSR/hydration-adjacent dev tooling. Names read as React/Next.js and Svelte hydration helpers. No runtime IOCs published; treat as full RCE against any host that installed either.
Cluster F - npm @sdgdfgdfhhhfd/* mash-scope crypto-viewer pair (2 packages)
| Package | Versions | GHSA | Note | |---|---|---|---| | @sdgdfgdfhhhfd/multiviewr | >=0 | GHSA-wwgv-4qvc-7339 | Boilerplate CWE-506, no per-package IOCs | | @sdgdfgdfhhhfd/chainvista | >=0 | GHSA-849m-c6hc-74xx | Boilerplate CWE-506, no per-package IOCs |
The scope @sdgdfgdfhhhfd is a keyboard-mash disposable throwaway - no legitimate publisher owns that scope. Package names (multiviewr = crypto multi-viewer, chainvista = blockchain viewer) target crypto-wallet users searching for portfolio-tracking UIs. Same operator across both slugs. Any host that installed either should treat wallet keys as leaked. This mash-scope publishing pattern is a common takedown-evasion trick: after the two slugs are yanked, the operator drops a fresh mash-scope tomorrow with two more slugs, and a scanner keyed to @sdgdfgdfhhhfd misses it.
Cluster G - npm conversa-sdk 10-version release (1 package)
| Package | Versions | GHSA | Note | |---|---|---|---| | conversa-sdk | 1.0.0, 1.0.4, 1.0.5, 1.0.6, 1.0.8, 1.0.9, 2.0.0, 2.0.2, 2.0.3, 2.0.4 | GHSA-8m82-6fp4-38m4 | Boilerplate CWE-506, no per-package IOCs |
Ten affected versions across a 1.x and 2.x release train is diagnostic: either (a) an established package whose maintainer account was compromised and all releases were republished with malware inserted, or (b) a long-running typosquat of a real "conversa" chatbot/CX SDK where the operator kept version-bumping to catch scanners tracking a specific version. GHSA published no runtime IOCs. Any host that installed any listed version should be treated as fully compromised; scope by comparing install date against the affected-version publish dates.
Cluster H - npm identitysecuretokenserv internal-name dep-confusion pull (1 package)
| Package | Versions | GHSA | Note | |---|---|---|---| | identitysecuretokenserv | >=0 | GHSA-2g7g-rqj2-26hv | Boilerplate CWE-506, no per-package IOCs |
The slug identity + secure + token + serv matches the fingerprint of an internal-microservice-name dep-confusion probe - the operator guessed a plausible internal package name and squatted it public. Boilerplate CWE-506, no IOCs. Treat as full RCE against any private-registry proxy that ever fell through to public with a matching internal name.
Registry state
All 13 packages yanked from their respective registries during the 2026-08-24 takedown window. Private mirrors that cached tarballs before takedown will keep serving them.
Related tracked activity
2026-08-boto4PyPI cryptominer-worm operator (Cluster B): now on brand rotation -libasync2026-08-20 →boto42026-08-22 →cryptgraphy/mlflow-otel-instrumentor(this file). Same worm + miner shape, same operator, fresh brand every 24-48h.999.9.xdep-confusion sentinel-version pattern (Cluster C): also seen instillm4ddpocs-*2026-08-23 andlumen-pages-community@9.9.92026-08-22.- *`@opap/` scope targeting** (Cluster D): first appearance of OPAP as a dep-confusion target on any tracked ecosystem. If you operate in the EU regulated-gambling space, review your private-scope hygiene against all major operators (Bet365, William Hill, Betsson, OPAP, Stoiximan) - these scopes are cheap to squat.
- Discovery credits:
GitHub Advisory Database,OpenSSF malicious-packages,OpenSSF Package Analysis,kam193. No named threat actor.
Affected packages (12)
- npm@opap/player-kyc-widget3.999.999
- npm@sdgdfgdfhhhfd/chainvista
- npm@sdgdfgdfhhhfd/multiviewr
- npmconversa-sdk1.0.01.0.41.0.51.0.61.0.81.0.92.0.02.0.22.0.32.0.4
- PyPIcryptgraphy1.0.0
- PyPIenvprovision1.2.01.3.01.4.0
- npmfund-list-filter999.9.12
- npmfund-portfolio999.9.12
- npmhydration-dim-kit
- npmidentitysecuretokenserv
- PyPImlflow-otel-instrumentor1.1.0
- npmsvelte-dim-kit
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 - PyPI
envprovisionSnow Stealer Windows infostealer (2026-08-24, 3 versions):envprovision@1.2.0, 1.3.0, 1.4.0(GHSA-xr9j-7gjp-x8fg, source hashcf3a48b4…d869, VT file hashd49fa539…b878, campaignSnow Stealer). Windows-specific dropper. Malicious functionality hidden inside exported library functions so a defender scanning for a top-levelos.system()misses it. On import (Windows only): downloads and installs a remote executable, disguises it as a system utility so a casualmsconfig/ Task Manager review misses it, then cleans logs and removes the downloaded stager to defeat forensic recovery. Payload identified as Snow Stealer - a Windows infostealer that (a) enumerates browser data (Chrome, Edge, Brave, Firefox saved logins, cookies, autofill), (b) modifies cryptowallet application binaries so subsequent transaction-signing flows leak keys, (c) implements multiple sandbox-evasion checks (process list, mouse-movement heuristics, VM-tell registry keys) so dynamic analysis has to actively fight the sample. Any Windows host that ranpip install envprovisionneeds re-imaging plus wallet-key rotation before restoring - Cluster B - PyPI
cryptgraphy+mlflow-otel-instrumentorcryptominer worm -2026-08-boto4operator continuation (2026-08-23, 2 packages):cryptgraphy@>=1.0.0(GHSA-2v43-g59q-gxp6, source hashd303a7fa…3a1a, VT file hash051f8704…12e9),mlflow-otel-instrumentor@>=1.1.0(GHSA-w427-8xgw-fvcw, source hash596b37ce…0bbf, VT file hash051f8704…12e9identical to cryptgraphy, campaign2026-08-mlflow-otel-instrumentor, explicit similarity to2026-08-boto4). Both packages ship the same downloaded executable (identical VT file hash) so a scanner that flaggedboto4earlier this week should already be tuned for this file. Payload targets: (1) persistence via systemd services (Linux-native, not Windows Run keys - so this is targeting build/deploy Linux hosts, not developer laptops), (2) XMR-shape cryptomining, (3) worm-style propagation over the local network (see boto4 2026-08-22 for the shared worm shape). Two typosquat targets:cryptography(the widely-used pyca crypto library) andmlflow+opentelemetry(a plausible extension to the mlflow tracing story). The naming discipline (real ecosystem name + real adjacent tech) points to an operator with dictionary preparation, not opportunistic spray - *Cluster C - npm `fund-
999.9.12 dep-confusion beacon pair (2026-08-23, 2 packages)**:fund-list-filter@999.9.12(GHSA-ww7v-m7hw-7m2q, hashd7cde5bd…8281),fund-portfolio@999.9.12(GHSA-8qph-p7jr-c2xf, hashffad2f6c…03bf). Both share the **999.9.12dep-confusion sentinel version** and the boilerplate "The package communicates with a domain associated with malicious activity" indicator. Fund-industry naming (fund-list,fund-portfolio`) points to a targeted probe against a specific asset-management or fintech internal registry - any resolver misconfigured to prefer highest-version-across-registries picks the public tarball over a lower-versioned internal one. GHSA does not publish the specific callback domain per package, but the shared version pattern + shared advisory shape confirms a single operator running a two-package catchment probe - Cluster D - npm
@opap/player-kyc-widgetOPAP (Greek gambling operator) targeted KYC dep-confusion (2026-08-23, 1 package):@opap/player-kyc-widget@<=3.999.999(GHSA-w2m6-3q96-chrf, hash98e627ce…6885). Highly targeted: the@opapscope reads as OPAP (Organisation of Football Prognostics S.A., Greece's dominant regulated gambling operator - sports betting, lottery, casino).player-kyc-widgetimplies a Know-Your-Customer identity-verification UI component - the exact flow that receives customer ID documents, selfies, and bank-account references during onboarding. The<=3.999.999version pattern is the classic dep-confusion sentinel: any OPAP resolver misconfigured to prefer highest-version-across-registries picks the public tarball over any lower-versioned internal@opap/player-kyc-widget. Advisory notes "the package communicates with a domain associated with malicious activity" but does not publish the specific callback. Any successful catchment gives the operator a live foothold inside the KYC pipeline of a regulated gambling operator - the payoff on a follow-up payload would be direct access to unredacted customer PII and possibly session cookies for the KYC verifier - *Cluster E - npm `-dim-kit
framework-adjacent typosquat pair (2026-08-23, 2 packages)**:hydration-dim-kit@>=0(GHSA-p33f-w7x3-mxrr, no per-package IOCs),svelte-dim-kit@>=0(GHSA-64x3-8jmm-fhp8, no per-package IOCs). Both are boilerplate CWE-506 pulls where GHSA published only the standard "considered fully compromised" text. Naming reads as **framework hydration helpers**:hydration-dim-kit(React/Next.js SSR hydration),svelte-dim-kit(Svelte SSR). The shared-dim-kit` suffix + same publication day strongly suggests a single operator running a two-shot typosquat register against SSR-adjacent dev tooling. Treat as full RCE against any host that installed either - *Cluster F - npm `@sdgdfgdfhhhfd/
mash-scope disposable-operator pair (2026-08-23, 2 packages)**:@sdgdfgdfhhhfd/multiviewr@>=0(GHSA-wwgv-4qvc-7339, no per-package IOCs),@sdgdfgdfhhhfd/chainvista@>=0(GHSA-849m-c6hc-74xx, no per-package IOCs). The scope@sdgdfgdfhhhfdis a **keyboard-mash disposable throwaway** - no legitimate publisher owns that scope, and the pattern (multiviewr= crypto multi-viewer,chainvista` = blockchain viewer) targets crypto-wallet users searching for portfolio-tracking UIs. Boilerplate CWE-506 pulls, no per-package IOCs published. Same operator across both slugs. Any host that installed either should treat wallet keys as leaked - Cluster G - npm
conversa-sdk10-version maintainer-takeover or long-form typosquat (2026-08-24, 1 package):conversa-sdk@1.0.0, 1.0.4, 1.0.5, 1.0.6, 1.0.8, 1.0.9, 2.0.0, 2.0.2, 2.0.3, 2.0.4(GHSA-8m82-6fp4-38m4, no per-package IOCs). Ten affected versions spanning both a 1.x and a 2.x release train is the fingerprint of either (a) an established package whose maintainer was compromised and all releases republished with malware, or (b) a long-running typosquat of a real "conversa" chatbot/CX SDK where the operator kept version-bumping to catch scanners tracking a specific version. GHSA published no per-package IOCs. Treat every host that installed any listed version as fully compromised, and check publish dates on the affected versions against your first-install date to scope exposure - Cluster H - npm
identitysecuretokenservinternal-name dep-confusion pull (2026-08-24, 1 package):identitysecuretokenserv@>=0(GHSA-2g7g-rqj2-26hv, no per-package IOCs). The slug (identity+secure+token+serv= "identity secure token server") matches the fingerprint of an internal-microservice-name dep-confusion probe - the operator guessed a plausible internal package name that some organisation might publish to a private scope, and squatted it public so a misconfigured resolver picks the public one. Boilerplate CWE-506 pull, no IOCs. Treat as full RCE against any private-registry proxy that ever fell through to public with a matching internal name
What to do
- 1Grep every lockfile (
package-lock.json,yarn.lock,pnpm-lock.yaml,requirements.txt,Pipfile.lock,poetry.lock,uv.lock) for:envprovision,cryptgraphy,mlflow-otel-instrumentor,fund-list-filter,fund-portfolio,@opap/player-kyc-widget,hydration-dim-kit,svelte-dim-kit,@sdgdfgdfhhhfd/multiviewr,@sdgdfgdfhhhfd/chainvista,conversa-sdk,identitysecuretokenserv - 2For Cluster A (
envprovisionSnow Stealer): any Windows host that ranpip install envprovisionneeds to be re-imaged - the dropper cleans its own logs, so post-hoc forensic recovery is unreliable. Before rebuilding, rotate every credential in every browser saved-password store, every cryptocurrency wallet seed, every VPN cred, every SSH key on the host. If the host holds hot wallets, assume funds are drained - transfer any remaining balance to a fresh wallet generated on a known-clean machine. Add the VT file hashd49fa539…b878to endpoint AV / EDR blocklists. The Snow Stealer family also modifies wallet application binaries so any wallet software installed after the compromise cannot be trusted - reinstall from vendor sources - 3For Cluster B (
cryptgraphy+mlflow-otel-instrumentor): uninstall from every virtualenv and CI pipeline. Because the payload propagates worm-style across the local network (shared shape withboto42026-08-22), isolate the L2 segment before rebuilding: check every other host on the same subnet for the same VT file hash051f8704…12e9. Persistence lives insystemdunit files on Linux -systemctl list-unit-files --state=enabled | grep -v '/lib/systemd'for enabled units in unexpected paths (/tmp,/var/tmp,~/.config/systemd/user,/etc/systemd/system/*.serviceadded in the last 7 days); disable and delete any that reference an executable in a user or tmp directory. If Nvidia GPUs are attached to the host, check GPU utilisation and process list - the cryptominer will show sustained non-zero GPU load without a matching workload - 4For Cluster C (
fund-list-filter+fund-portfolio): if you operate a private npm registry with afund-*scope, lock your private-registry proxy to explicit-scope-only resolution so a999.9.12public tarball cannot beat your internal semver. Audit the private-registry logs for otherfund-*resolutions in the last 90 days. The999.9.xsentinel-version pattern also matches thestillm4ddpocs-*cluster from 2026-08-23 and thelumen-pages-community@9.9.9beacon from 2026-08-22 - if your registry has been surveyed by multiple999.x.xprobes, treat it as an active dep-confusion catchment and audit your recent installs - 5For Cluster D (
@opap/player-kyc-widget): if you operate near OPAP infrastructure or use any@opap/*scope in a private registry, lock private-registry resolution to explicit-scope-only immediately - the version pattern<=3.999.999is designed to beat any legitimate3.x/4.xinternal version. Audit private-registry logs for any@opap/*resolutions in the last 90 days from outside the corporate egress; treat any match as evidence of a successful dep-confusion catch. Because the target is a KYC pipeline, factor regulatory disclosure obligations (Greek DPA / GDPR / EU gambling regulator) into the incident response if a customer-data path is affected - 6*For Cluster E (`-dim-kit`)**: uninstall from every project. Because GHSA published no runtime IOCs, monitor egress from any host that installed either package for outbound connections to previously-unseen domains for at least 30 days
- 7*For Cluster F (`@sdgdfgdfhhhfd/`)**: uninstall. Watch for republishes under adjacent throwaway scopes - a mash-scope operator that publishes two packages under one scope is trivially rebuildable under another mash-scope for the next batch
- 8For Cluster G (
conversa-sdk): uninstall every listed version. Because ten versions across two release trains are affected, check your install timeline: any version pulled between the first affected release and today should be treated as compromised. Rotate credentials the install shell could reach; if the package was consumed at runtime by a customer-facing service, rebuild from the last known-clean version (which may be prior to the entire affected range if this is a maintainer takeover) - 9For Cluster H (
identitysecuretokenserv): block at your registry proxy. Because the name matches an internal-microservice fingerprint, audit any private-registryidentity*or*-token-serv*resolutions from outside the corporate egress in the last 90 days - 10For all npm installs in CI, run with
--ignore-scriptswhere possible - though for Clusters C/D/G, the payload may fire onrequire()/importrather than lifecycle hooks, so--ignore-scriptsalone is insufficient. For allpip installruns, prefer--only-binary=:all:(Clusters A and B both ship native/executable stagers so binary-only is not automatically safe) and pin transitive dependencies from a curated allow-list - 11Verify none of these packages still resolves via your private mirror - internal caches routinely keep serving yanked tarballs after the public takedown
References
- GitHubGHSA-xr9j-7gjp-x8fg - envprovision (PyPI Snow Stealer Windows infostealer)github.com
- GitHubGHSA-2v43-g59q-gxp6 - cryptgraphy (PyPI cryptominer + worm, 2026-08-boto4 operator continuation)github.com
- GitHubGHSA-w427-8xgw-fvcw - mlflow-otel-instrumentor (PyPI cryptominer + worm, identical payload to cryptgraphy)github.com
- GitHubGHSA-ww7v-m7hw-7m2q - fund-list-filter (npm 999.9.12 dep-confusion beacon)github.com
- GitHubGHSA-8qph-p7jr-c2xf - fund-portfolio (npm 999.9.12 dep-confusion beacon)github.com
- GitHubGHSA-w2m6-3q96-chrf - @opap/player-kyc-widget (npm OPAP-targeted KYC dep-confusion)github.com
- GitHubGHSA-p33f-w7x3-mxrr - hydration-dim-kit (npm framework typosquat)github.com
- GitHubGHSA-64x3-8jmm-fhp8 - svelte-dim-kit (npm framework typosquat)github.com
- GitHubGHSA-wwgv-4qvc-7339 - @sdgdfgdfhhhfd/multiviewr (npm mash-scope crypto viewer)github.com
- GitHubGHSA-849m-c6hc-74xx - @sdgdfgdfhhhfd/chainvista (npm mash-scope crypto viewer)github.com
- GitHubGHSA-8m82-6fp4-38m4 - conversa-sdk (npm 10-version compromised release)github.com
- GitHubGHSA-2g7g-rqj2-26hv - identitysecuretokenserv (npm internal-name dep-confusion pull)github.com
- GitHubGitHub Advisory Database - recent npm malware advisoriesgithub.com
- GitHubGitHub Advisory Database - recent pip malware advisoriesgithub.com
- GitHubRelated: 2026-08-22 sweep (boto4 Telegram-C2 miner + worm, same operator as Cluster B)github.com