GitHub Advisory malware sweep, 26 October 2026
GHSA 2026-10-24/25/26 batch (~71 advisories). Headlines: PyPI claudeopus* 2026-09-donutautosellsrc steganography infostealer (3 Anthropic-brand typosquats, Polygon-blockchain C2); npm event-bus-lite-testmetest Bun-runtime binding.gyp loader (same AES-128-GCM + Brotli TTP family as TanStack); npm wiseke operator dep-confusion scope sweep (14 packages across @greenlake/@sxm-web/@drone-js-ext/@ppa-web-components, all beaconing 185.158.107.175:8787/_ah/dc); kam193 PyPI malicious-package singles nebulallm (JScript+DLL loader) and dictmerge-lite (wallet/browser/SSH stealer); plus @s4yhiitestpoc r2/scan pentest POC batch (10 packages) and the usual CWE-506 boilerplate takedown long tail.
Published 26 Oct 2026
Every version named by the advisory is in the scanner, so a lockfile check finds it directly.
- Severity
- High
- Type
- Advisory sweep
- Published
- 26 Oct 2026
- Ecosystems
- npmPyPI
- Threat actor
- kam193-tracked operators (campaigns 2026-09-donutautosellsrc, 2026-10-nebulallm, 2026-10-dictmerge-lite, 2026-10-fontus, s4yhii pentest); `wiseke` npm operator (14-pkg dep-confusion scope sweep)
- Detected by
- GitHub Advisory Database, OpenSSF malicious-packages, kam193 bad-packages, Amazon Inspector
- Also known as
- 2026-10-26 GHSA sweep, 2026-09-donutautosellsrc claudeopus Anthropic brand typosquat cluster, event-bus-lite-testmetest Bun loader TanStack TTP family
- Source
- github.com
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.
The full picture
Between 2026-10-24 06:00 UTC (yesterdays sweep cut-off) and 2026-10-26 06:00 UTC (todays ingest-window start), the GitHub Advisory Database published ~71 fresh malware advisories across npm and PyPI, spanning 2026-10-24 (2 new), 2026-10-25 (~42), and 2026-10-26 (~25). Todays batch is dominated by the resurgence of the kam193 2026-09-donutautosellsrc PyPI campaign under Anthropic-brand typosquats (claudeopuseni, claudeopusenifile, claudeopusfile) with a confirmed steganography-based infostealer that retrieves its C2 address from Polygon blockchain transactions, plus a one-off Bun-runtime loader on npm (event-bus-lite-testmetest) carrying the TanStack / Mini Shai-Hulud TTP signature, plus a 14-package wiseke operator dep-confusion scope sweep across HPE GreenLake / SiriusXM / DJI / public-sector namespaces, plus kam193 PyPI singles (nebulallm with a JScript-to-DLL loader, dictmerge-lite with a crypto-wallet-and-dev-credentials infostealer, fontus and zagents-message-bus as pentest fingerprinting probes), plus a 10-package @s4yhiitestpoc` npm pentest POC batch, plus a ~16-package "social scraper / Appit cordova" npm cluster of plausible-looking hobbyist mobile-app lures, plus a ~12-package miscellaneous dep-confusion cluster targeting named orgs, plus the usual CWE-506 boilerplate long tail of ~15 unanalysed takedowns.
Headlines
*PyPI `claudeopus 2026-09-donutautosellsrc steganography infostealer** (Cluster A): three Anthropic-brand typosquats (claudeopuseni@0.1.0/0.1.1, claudeopusenifile@0.1.3, claudeopusfile@0.1.1/0.1.2) flagged 2026-10-26 under campaign tag 2026-09-donutautosellsrc. OpenSSF rates the campaign MALICIOUS. The install-time behaviour is explicit: obfuscated setup code fetches hidden code from a bundled image via steganography; the decoded Python program loads a native extension module whose only purpose is an obfuscated infostealer; the C2 address is retrieved from Polygon blockchain transactions of operator address 0x9c0a507300fd902787bb193d80fca5ce6e1bff9a (VirusTotal file hash d03c42c275f0dbc617428441508c49ae1adcbbc95af4eeb094bca4e4f8943f3e`). This is the second Anthropic-SDK-adjacent PyPI campaign in the DependencyWatch corpus after the 2026-10-05 anthropic-sdk typosquat, and is a different operator (donutautosellsrc campaign vs 2026-10-anthropic-sdk campaign).
npm event-bus-lite-testmetest Bun-runtime binding.gyp loader (Cluster B): one package at 0.0.6, 2026-10-25. Amazon Inspector and OSSF caught a binding.gyp with no C/C++ sources that runs node index.js during the automatic node-gyp rebuild on npm install. The decoded loader uses AES-128-GCM with hardcoded key/IV/AAD to decrypt a Brotli-compressed, high-entropy lib_native.dat and launches Bun (not Node) to execute the plaintext. This is the exact TTP family of the TanStack / Mini Shai-Hulud / TeamPCP Bun stealer; no operator attribution yet.
npm wiseke operator dep-confusion scope sweep (Cluster C): fourteen packages at 3.0.0 across @greenlake, @sxm-web, @drone-js-ext, @ppa-web-components, posted Oct 23 21:23 UTC through Oct 25 14:28 UTC. The beacon.cjs postinstall script sends hostname + install path + cwd to http://185.158.107.175:8787/_ah/dc (already in our standing egress denylist from prior waves). The index.js is byte-identical to prior-wave ph-common (MAL-2026-1809), confirming operator continuity.
PyPI kam193 malicious-package singles (Cluster D): nebulallm@1.4.3 is a typosquat that downloads a JScript file on install which then downloads a malicious DLL; dictmerge-lite@1.0.0 is a dev-workstation infostealer against crypto wallets, browser data, SSH keys, and development credential files; fontus@0.0.1-0.0.3 and zagents-message-bus@1.0.5/1.0.10/99.99.99/99.99.100 are OSSF-rated PROBABLY_PENTEST fingerprinting probes.
npm @s4yhiitestpoc pentest POC batch (Cluster E): ten @s4yhiitestpoc/r2-* and @s4yhiitestpoc/scan-* packages flagged 2026-10-26 from the known kam193-tracked s4yhii pentest operator; standing-denylisted apex (collector.oob.s4yhii.com, oob.s4yhii.com:9999/native) already blocks the beacon.
npm "social scraper / Appit cordova" cluster (Cluster F): ~16 packages flagged 2026-10-25 with CWE-506 boilerplate advisories only. The naming (insta-reel-search, tiktok-video-scraper, ionic-sound-cloud-loader-api, youtube-search-without-api-key, appit-cordova-plugin-ionic) reads as a single operator building a lure brand around social-media scraper utilities and cordova/ionic plugin impersonators that a hobbyist mobile-app developer could install from a Stack Overflow / AI-assistant snippet.
npm miscellaneous dep-confusion probes (Cluster G): ~12 scoped and sentinel-versioned packages 2026-10-25/26 targeting named orgs - HPE GreenLake, SiriusXM, DJI drone, Fidelity Management & Research, Capital One (@capsense), Telefónica (@jm-telefonica), ING Bank (@generic-means), Postex, Factoryz, Paychex, and the Bright SDK brand. Beacons on install to a webhook, a ngrok tunnel, or a sentinel endpoint.
CWE-506 boilerplate takedowns (Cluster H): ~15 npm packages 2026-10-24/25/26 with no vendor runtime analysis. Several are plainly typosquats (react-dropzone-v4, numbors, ocsp-hashes, p12-pem, tailwindcss-theme-kit); several are plausible-looking lures (monitoring-agent, brass-common); for all of them the install-time behaviour is uncaptured and the only published evidence is the CWE-506 flag.
Classification
sweep. Severity high (upgraded from the sweep baseline medium) because Cluster A ships a confirmed infostealer payload with sandbox detection and blockchain-hidden C2, and Cluster B carries a confirmed Bun-runtime loader matching the TanStack / Mini Shai-Hulud family TTP signature. Cluster C is medium-high (confirmed exfil to an already-known operator endpoint; dependency-confusion, limited reach for orgs that lock the resolution path). Clusters D (nebulallm, dictmerge-lite sub-cluster) step up to high on confirmed payloads; the rest of D plus Clusters E-H are medium. No cluster reaches critical - all are typosquats, dependency-confusion probes, pentest POCs, or one-off loaders against packages with no legitimate established dependents. Anything that would itself be critical (a hijack of an already-dependent-on name, a worm, a maintainer takeover with downstream reach) would get its own named incident file; none of today`s advisories meet that bar.
Discovery
GitHub Advisory Database, OpenSSF malicious-packages (Clusters A, C, D - specifically MAL-2026-18271, 18285, 18288, 18290, 18292, 18296-18301, 18316), Amazon Inspector (Clusters B, C, G - several Oct 25 npm takedowns), kam193 bad-packages (campaign tags 2026-09-donutautosellsrc, 2026-10-nebulallm, 2026-10-dictmerge-lite, 2026-10-fontus, GENERIC-standard-pypi-install-pentest, s4yhii).
82 packages 90 versions
- npm@capsense/ccx-welcome-page0.0.0→
- npm@capsense/core-ui0.0.0→
- npm@drone-js-ext/core3.0.0→
- npm@drone-js-ext/vip-badge3.0.0→
- npm@eforms/forms-api0.0.0→
- npm@factoryz/apollo0.0.0→
- npm@fmr-ap153177/apex-kit-icons0.0.0→
- npm@futurae-public/adaptive-js0.0.0→
- npm@generic-means/ing-feat-scanner-libs0.0.0→
- npm@greenlake/auth3.0.0→
- npm@greenlake/common-context3.0.0→
- npm@greenlake/context-pane3.0.0→
- npm@greenlake/mfe-login-url3.0.0→
- npm@greenlake/session3.0.0→
- npm@jm-telefonica/multibrand-components0.0.0→
- npm@postex/common99.9.1→
- npm@ppa-web-components/ppa-banner3.0.0→
- npm@ppa-web-components/ppa-builder3.0.0→
- npm@ppa-web-components/ppa-headerfooter3.0.0→
- npm@ppa-web-components/ppa-hotel-collection3.0.0→
- npm@ppa-web-components/ppa-navigation3.0.0→
- npm@ppa-web-components/ppa-searchform3.0.0→
- npm@regex33-hackerone/tb-compat0.0.0→
- npm@s4yhiitestpoc/r2-control0.0.0→
- npm@s4yhiitestpoc/r2-dns0.0.0→
- npm@s4yhiitestpoc/r2-echo0.0.0→
- npm@s4yhiitestpoc/r2-https-b0.0.0→
- npm@s4yhiitestpoc/r2-https-dualuse0.0.0→
- npm@s4yhiitestpoc/scan-control-a0.0.0→
- npm@s4yhiitestpoc/scan-dns-c0.0.0→
- npm@s4yhiitestpoc/scan-echo-b0.0.0→
- npm@s4yhiitestpoc/scan-https-d0.0.0→
- npm@s4yhiitestpoc/scan-https-dualuse-e0.0.0→
- npm@sxm-web/client-sdk-core3.0.0→
- npmap3-foundations-ui0.0.0→
- npmappit-cordova-admob0.0.0→
- npmappit-cordova-plugin-ionic0.0.0→
- npmbow-test0.0.0→
- npmbrass-common0.0.0→
- npmcert-infos0.0.0→
- PyPIclaudeopuseni0.1.00.1.1→
- PyPIclaudeopusenifile0.1.3→
- PyPIclaudeopusfile0.1.10.1.2→
- npmcordova-plugin-geofence-appit0.0.0→
- npmcss-flexgap-shim0.0.0→
- npmcss-grid-snap-util0.0.0→
- npmcss-hnhxwd-polyfill0.0.0→
- npmcss-overscroll-contain0.0.0→
- PyPIdictmerge-lite1.0.0→
- npmdsh-native0.0.0→
- npmevent-bus-lite-testmetest0.0.6→
- PyPIfontus0.0.10.0.20.0.3→
- npminsta-api-wrapper0.0.0→
- npminsta-reel-search0.0.0→
- npmionic-insta-api-wrapper0.0.0→
- npmionic-insta-search0.0.0→
- npmionic-sound-cloud-loader-api0.0.0→
- npmionic-tiktok-scraper0.0.0→
- npmionic-youtube-search0.0.0→
- npmionic-youtube-streams0.0.0→
- npmjshelperdependenceny99.0.0→
- npmmonitoring-agent0.0.0→
- PyPInebulallm1.4.3→
- npmnoelc-css-blender0.0.0→
- npmnumbors1.6.1→
- npmocsp-hashes0.0.0→
- npmorderly-plugin-liquidity-heatmap0.0.0→
- npmp12-pem0.0.0→
- npmpaychex-pdftron0.0.0→
- npmreact-dropzone-v40.0.0→
- npmreact-native-bright-sdk9000.0.0→
- npmredis-dumper0.0.0→
- npmsc-hydrate-carousel-price0.0.0→
- npmsound-cloud-loader-api0.0.0→
- npmtailwind-base-buttons0.0.0→
- npmtailwindcss-theme-kit0.0.0→
- npmtiktok-video-scraper0.0.0→
- npmutil-foriepft0.0.0→
- npmw-mousekey1.0.411.0.42→
- npmyoutube-info-streams0.0.0→
- npmyoutube-search-without-api-key0.0.0→
- PyPIzagents-message-bus1.0.51.0.1099.99.9999.99.100→
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.
What it does if you installed it
- *Cluster A - PyPI `claudeopus
2026-09-donutautosellsrc steganography infostealer (typosquat; 3 Anthropic-brand lures, 5 total versions, OSSFMALICIOUScategory, campaign tag2026-09-donutautosellsrc, kam193-tracked)**:claudeopuseni@0.1.0, 0.1.1(GHSA-6m96-8rw5-4rhw, OSSF MAL-2026-18299),claudeopusenifile@0.1.3(GHSA-8whx-wfhh-6vh5, OSSF MAL-2026-18300),claudeopusfile@0.1.1, 0.1.2(GHSA-jgm6-7jxr-97gx, OSSF MAL-2026-18298). All three run obfuscated code during installation that fetches a payload from a bundled image via steganography; the decoded payload is a Python application with a native extension module containing an obfuscated infostealer. The C2 server address is retrieved from the Polygon blockchain transaction history of operator address0x9c0a507300fd902787bb193d80fca5ce6e1bff9a. VirusTotal file hashd03c42c275f0dbc617428441508c49ae1adcbbc95af4eeb094bca4e4f8943f3eapplies to the shared image/payload. The names typosquat Anthropics Claude Opus brand (claudeopuseni,claudeopusenifile,claudeopusfileas spellings a developer could land on when typingclaude-opus/claude-opus-eni/claude-opus-filefrom an AI assistants suggestion). Reported behaviours: infostealer; downloads and executes a remote executable; obfuscation; sandbox detection; steganography; native-extension use; C2 hidden in blockchain data. **Severityhigh`** (confirmed infostealer payload with sandbox detection and blockchain-hidden C2, limited reach because nothing legitimate depends on these typosquats) - Cluster B - npm
event-bus-lite-testmetestBun-runtime binding.gyp loader (malicious-package; 1 pkg, 1 version 0.0.6, 2026-10-25, GHSA-7xwf-5j6m-rjff, OSSF MAL-2026-18292, Amazon Inspector source): the package ships abinding.gypwith a target that has no C/C++ sources - its only purpose is to runnode index.jsduring the automaticnode-gyp rebuildthat fires onnpm install.index.jsis Caesar-shift-obfuscated and useseval()to execute a decoded loader that reads the bundledlib_native.datfile (~312 KB, high entropy), decompresses it with Brotli, decrypts it with AES-128-GCM using hardcoded key/IV/AAD, writes the plaintext to a temporaryindex.jsin a.b-directory, and launches the Bun runtime (not Node) to execute the decrypted script - Node-only security tooling misses it. Published payload hash SHA-256e1ab1e330d3db532d511d4af4386ab2d2c6245ca807410f51c1211ae48814d73. This is the same TTP family as the May 2026 TanStack / Mini Shai-Hulud TeamPCP Bun-runtime stealer; the loader cannot be inspected offline so the ultimate payload is unknown. Severityhigh(confirmed Bun-runtime loader with the TanStack family TTP signature, limited reach because the slug is a one-off testmetest with no legitimate dependents) - Cluster C - npm
wisekeoperator dep-confusion scope sweep (dependency-confusion; 14 packages across 4 scopes, beaconhttp://185.158.107.175:8787/_ah/dc, Oct 23 21:23 UTC through Oct 25 14:28 UTC, byte-identicalindex.jsto prior-waveph-commonMAL-2026-1809): @greenlake scope -@greenlake/auth@3.0.0(GHSA-pfqf-544g-rvp9, MAL-2026-18316),@greenlake/common-context@3.0.0(GHSA-p5fc-j294-qr5q),@greenlake/session@3.0.0(GHSA-ph7p-r8mj-5q6r),@greenlake/mfe-login-url@3.0.0(GHSA-968q-w3j5-w6rq),@greenlake/context-pane@3.0.0(GHSA-pmfr-35rg-27xm); @sxm-web scope -@sxm-web/client-sdk-core@3.0.0(GHSA-j5p5-hcm3-6gx9); @drone-js-ext scope -@drone-js-ext/core@3.0.0(GHSA-68q8-r62c-rwgx),@drone-js-ext/vip-badge@3.0.0(GHSA-g6h7-w896-4p29); @ppa-web-components scope -@ppa-web-components/ppa-headerfooter@3.0.0(GHSA-vhvr-f5ww-qh72),@ppa-web-components/ppa-hotel-collection@3.0.0(GHSA-g7m6-g9fm-57wh),@ppa-web-components/ppa-navigation@3.0.0(GHSA-38w9-666c-chmr),@ppa-web-components/ppa-banner@3.0.0(GHSA-2g28-gqgq-ghvf),@ppa-web-components/ppa-builder@3.0.0(GHSA-gpx7-mx94-wfv3),@ppa-web-components/ppa-searchform@3.0.0(GHSA-xv6m-ch98-25c4). All 14 use inflated version3.0.0, runnode beacon.cjsaspostinstall, andindex.jsexports a Proxy returning no-op functions so builds that import the package keep running;beacon.cjssends hostname + install path + cwd tohttp://185.158.107.175:8787/_ah/dcover plain HTTP. The targeted scopes map to real orgs (@greenlake = HPE GreenLake private namespace; @sxm-web = SiriusXM web team scope; @drone-js-ext = DJI drone SDK extension namespace; @ppa-web-components = PPA / public-sector web components library). Severitymediumper cluster (dependency-confusion probes beaconing to an endpoint already in our standing egress denylist; no payload beyond host-fingerprint exfil) - Cluster D - PyPI kam193 malicious-package singles (malicious-package / dependency-confusion mix; 4 packages, 2026-10-25):
nebulallm@1.4.3(GHSA-mvgr-2gjf-h99c, OSSF MAL-2026-18297, campaign2026-10-nebulallm, OSSFMALICIOUScategory - typosquats some other LLM-related project; overridessetup.pyinstall command; downloads a JScript file on install which then downloads a malicious DLL; downloads and executes a remote executable and a remote script);dictmerge-lite@1.0.0(GHSA-825m-m2h7-7cwc, OSSF MAL-2026-18301, campaign2026-10-dictmerge-lite, OSSFMALICIOUScategory - typosquat ofdict-merge/dictmerge; overridessetup.pyinstall command; exfiltrates cryptocurrency wallet data, browser data, SSH keys, and development credential files - full infostealer against dev workstations);fontus@0.0.1, 0.0.2, 0.0.3(GHSA-g5mh-f2v3-6p25, OSSF MAL-2026-18271, campaign2026-10-fontus, OSSFPROBABLY_PENTESTcategory - fingerprinting-only, exfiltrates basic info and installed fonts);zagents-message-bus@1.0.5, 1.0.10, 99.99.99, 99.99.100(GHSA-2hr3-wchh-6g2q, OSSF MAL-2026-18296, OSSFGENERIC-standard-pypi-install-pentestcategory, pentest sentinel versions 99.99.99/99.99.100 are the dep-confusion halves - overridessetup.pyinstall command, exfiltrates host fingerprint only). Severityhighfor thenebulallm+dictmerge-litesub-cluster (confirmed infostealer / loader payloads, OSSF-rated MALICIOUS), medium forfontus+zagents-message-bus(OSSF-rated PROBABLY_PENTEST / standard install pentest) - *Cluster E - npm @s4yhiitestpoc r2/scan pentest POC batch (dependency-confusion; 10 packages, 2026-10-26, kam193-tracked
s4yhiipentest operator, standing egress-denylist entriescollector.oob.s4yhii.com, `.oob.s4yhii.com,s4yhii.com,oob.s4yhii.com:9999/nativealready in place from 2026-09 and 2026-10 prior sweeps)**:@s4yhiitestpoc/scan-https-d(GHSA-96fg-4mp3-2hj5),@s4yhiitestpoc/scan-dns-c(GHSA-vhw8-ph25-jc87),@s4yhiitestpoc/scan-echo-b(GHSA-2wfm-2q62-f937),@s4yhiitestpoc/r2-control(GHSA-mgmq-xcr7-2945),@s4yhiitestpoc/r2-dns(GHSA-jr92-v3rg-vg3w),@s4yhiitestpoc/scan-https-dualuse-e(GHSA-5957-rhph-hx5p),@s4yhiitestpoc/r2-echo(GHSA-gcfx-vpjf-86m9),@s4yhiitestpoc/r2-https-b(GHSA-h99w-8693-g33v),@s4yhiitestpoc/r2-https-dualuse(GHSA-mv2r-j9qg-322h),@s4yhiitestpoc/scan-control-a(GHSA-m9p6-4pgh-6gqx). All ten are CWE-506 boilerplate advisories with no vendor runtime analysis in the GHSA entry itself; the naming pattern (r2-,scan-,dualuse-) matches thes4yhiiscoped POC namespace that previously beaconed tocollector.oob.s4yhii.com/oob.s4yhii.com:9999/native`. Severitymedium* (pentest POC artefacts; no new C2 beyond the already-denylisted s4yhii apex) - Cluster F - npm single-maintainer "social scraper / Appit cordova" cluster (malicious-package; ~16 packages, 2026-10-25, all CWE-506 boilerplate without vendor runtime analysis, naming pattern suggests a single operator building a lure brand around social-media scraper utilities and cordova/ionic plugin impersonators): scrapers -
insta-reel-search(GHSA-v2r2-x76j-6fcx),insta-api-wrapper(GHSA-j8vh-32vh-rj39),tiktok-video-scraper(GHSA-5xjv-xr86-9hrv),ionic-tiktok-scraper(GHSA-wwj3-4v8w-w98j),ionic-sound-cloud-loader-api(GHSA-g89m-8c48-9x73),sound-cloud-loader-api(GHSA-5f99-52fc-5rc9),youtube-search-without-api-key(GHSA-f6m2-r9qr-44fx),youtube-info-streams(GHSA-7mfw-r26v-9r9f),ionic-youtube-search(GHSA-7p9r-26fp-m47g),ionic-youtube-streams(GHSA-3cc7-77mx-rmj6),ionic-insta-api-wrapper(GHSA-65qr-q8w8-4q7r),ionic-insta-search(GHSA-4fw4-xm5r-mh69); dev-tool impersonators -redis-dumper(GHSA-8gg8-xq45-8fx5),ocsp-hashes(GHSA-9v69-fx5h-r6p6, likely typosquat ofocsp+node-ocsp),cert-infos(GHSA-8mjx-r4j6-3h6g),p12-pem(GHSA-74xg-w33f-jpv3, likely typosquat ofp12-pem-converter/pem); cordova-plugin impersonators -appit-cordova-plugin-ionic(GHSA-fr38-45mf-vcqf),appit-cordova-admob(GHSA-9w8h-674f-4x2j),cordova-plugin-geofence-appit(GHSA-5pw8-3xv5-6cmg). Severitymedium(no vendor runtime analysis; the "social scraper" branding (TikTok/Instagram/YouTube/SoundCloud) and the "cordova-plugin-" / "appit-" naming both read as plausible-sounding lures a hobbyist mobile-app developer could install, so some real installs are likely) - Cluster G - npm miscellaneous dep-confusion probes with sentinel versions (dependency-confusion; 10 scoped and 2 unscoped packages, 2026-10-25/26):
react-native-bright-sdk@9000.0.0(GHSA-fjcx-639f-h39g, MAL-2026-18290, Amazon Inspector - preinstallcanary.jsbeacons hostname + timestamp to a hardcoded*.ngrok-free.dev/canarytunnel; name impersonates Bright SDK),jshelperdependenceny@99.0.0(GHSA-249c-6w49-6274, MAL-2026-18288, Amazon Inspector - preinstall beacons host+os+arch via POST to env-overridableDC_CALLBACK_URLdefaulting to127.0.0.1:5656/exfil, inflated 99.0.0 to shadow internal v1.0.0),@postex/common@99.9.1(GHSA-cxq5-px5q-3gm4, MAL-2026-18285, Amazon Inspector - stubindex.jswith the only dependency being a bareltidisafeHTTPS tarball onltidi.storage.googleapis.com, i.e. install-time arbitrary-code pull from a user-controlled Google Cloud Storage bucket already in our egress denylist),@futurae-public/adaptive-js(GHSA-79qp-32qv-632x),@fmr-ap153177/apex-kit-icons(GHSA-vw9v-ghxv-m2gw, scope@fmr-ap153177= Fidelity Management & Research team naming),@factoryz/apollo(GHSA-8wg4-rwxf-cv7v),@capsense/core-ui(GHSA-f24f-639h-q46v),@capsense/ccx-welcome-page(GHSA-v7w7-x8q8-wp4r),@jm-telefonica/multibrand-components(GHSA-xrpm-2w69-j2r7),@generic-means/ing-feat-scanner-libs(GHSA-3qv7-4fg6-54gp,@generic-means+ing-feat-*naming matches ING Bank internal-registry pattern),@eforms/forms-api(GHSA-2cfq-pcr7-8572),paychex-pdftron(GHSA-qg7g-2jr4-vjw8,paychex-prefix impersonates Paychex SDK naming). Severitymedium(dep-confusion probes targeting named orgs - HPE, Paychex, Fidelity, Capital One, Telefónica, ING, Postex, Factoryz; most beacon on install to a webhook or sentinel endpoint without further payload) - Cluster H - npm CWE-506 boilerplate takedowns, no vendor runtime analysis (malicious-package; ~15 packages across 2026-10-24/25/26):
tailwindcss-theme-kit(GHSA-v5xr-xjx7-ggwf, 2026-10-24, impersonates tailwindcss theme ecosystem),noelc-css-blender(GHSA-cj2x-975v-jmwf, 2026-10-24),tailwind-base-buttons(GHSA-5j43-343m-gggg, 2026-10-25),w-mousekey(GHSA-gmhr-j769-j6qf, 2026-10-25),sc-hydrate-carousel-price(GHSA-p6gr-jpmq-4hjq, 2026-10-25),monitoring-agent(GHSA-fvjv-j94x-c8wm, 2026-10-26, plausible lure name),numbors@1.6.1(GHSA-682c-pwqm-7gxv, 2026-10-26, likely typosquat ofnumbro),dsh-native(GHSA-x94m-hxm5-m298, 2026-10-26),bow-test(GHSA-w53j-w72q-2f32, 2026-10-26),brass-common(GHSA-g6mf-8rwx-xgwh, 2026-10-26),css-overscroll-contain(GHSA-xjrr-fv8j-9hw7, 2026-10-26),css-hnhxwd-polyfill(GHSA-r2cx-wgxm-g93q, 2026-10-26),util-foriepft(GHSA-rc7p-6p9r-rfj9, 2026-10-26),css-flexgap-shim(GHSA-xv83-g4vx-88wf, 2026-10-26),css-grid-snap-util(GHSA-ww37-mhpw-cm3q, 2026-10-26),ap3-foundations-ui(GHSA-g9j6-f655-22p6, 2026-10-26),react-dropzone-v4(GHSA-cqf2-3c3q-p639, 2026-10-26, likely typosquat ofreact-dropzone),orderly-plugin-liquidity-heatmap(GHSA-83cj-fp7v-jmfx, 2026-10-26),@regex33-hackerone/tb-compat(GHSA-vwp8-h222-46p8, 2026-10-26, scope name@regex33-hackeroneindicates a bug-bounty researcher scope). Severitymedium(CWE-506 boilerplate takedowns without published vendor runtime payload analysis; several are plainly typosquats or dep-confusion probes but with no captured C2 or payload the install-time behaviour is uncaptured) - Operator continuity:
kam193cadence - the2026-10-voice-synthesis-profilesPyPI loader campaign that ran a 43-pkg wave 1 on 2026-10-22 and a 21-pkg wave 2 on 2026-10-23 appears idle today (no new matching slugs flagged 2026-10-24/25/26 in the GHSA feed), suggesting a 2-day burst. The2026-10-sitecardkam193 PyPI SSH-tunnel backdoor flagged yesterday (13 versions ofsitecard) is a single-package campaign and no new sibling slugs appeared today. New today from kam193: the2026-09-donutautosellsrccampaign resurfaced on PyPI with Anthropic-brand typosquats (claudeopuseni,claudeopusenifile,claudeopusfile) and new slugsnebulallm,dictmerge-lite,fontus,zagents-message-bus. New today fromwisekenpm operator: 14-pkg dep-confusion scope sweep across HPE GreenLake / SiriusXM / DJI / public-sector scopes, same byte-identicalindex.jsas prior-waveph-commonand the same beacon endpoint185.158.107.175:8787/_ah/dcalready in our standing egress denylist. New today from an unknown Amazon-Inspector-flagged operator: abinding.gyp+ Brotli + AES-128-GCM + Bun-runtime loader (event-bus-lite-testmetest) matching the TanStack / Mini Shai-Hulud family TTP signature - no evidence yet linking it to TeamPCP but worth monitoring the slug prefix. Thes4yhiinpm pentest operator (standing-denylistedcollector.oob.s4yhii.comapex) posted a 10-pkg POC batch under@s4yhiitestpoc/r2-*and@s4yhiitestpoc/scan-*naming today. Carve-outs LiteLLM 1.107.0, Tailwind Animate.css fake-interview, Apex Accelerator REF8801, TensorLake AI, hridoy FB credential stealer, anthropic-sdk PyPI typosquat all remain confirmed-recovered with no wave-2 malicious republish observed - PyPI quarantine oflitellm1.107.0 holds, no newanthropic-prefix typosquats beyond todaysclaudeopus*` cluster
Clean-up steps
- *For Cluster A (`claudeopus
2026-09-donutautosellsrc steganography infostealer, 3 PyPI typosquats)**: grep everyrequirements.txt,pyproject.toml,Pipfile.lock,poetry.lock,uv.lock,pdm.lock,conda env.yml, every internal PyPI mirror, everyDockerfile, and every AI-pipeline / LangChain / Claude-SDK / Cursor-rules repo for the literal stringsclaudeopuseni,claudeopusenifile,claudeopusfile. The legitimate Anthropic Python SDK isanthropic(importfrom anthropic import Anthropic); the Claude Opus family of models is addressed through that SDK, there is NO separateclaudeopusPyPI package. On any hit: treat the host as fully compromised (steganography payload with sandbox detection and blockchain-hidden C2 = full infostealer with evasion). Rotate: Anthropic API keys, all SSH/GPG keys, cloud credentials (AWS/GCP/Azure), browser-stored passwords and cookies, every.envfile on the host, every AI-tool credential store (~/.config/claude,~/.anthropic,~/.config/anthropic*,~/.cursor,~/.codex,~/.gemini). Block egress to Polygon blockchain RPC endpoints from CI/build hosts (the C2 address is retrieved from Polygon transaction history, so blocking the retrieval breaks the lookup even if the operator rotates C2); block egress to any domain resolving from Polygon transactions of0x9c0a507300fd902787bb193d80fca5ce6e1bff9a. Addclaudeopuseni,claudeopusenifile,claudeopusfile,claudeopus-sdk,claudeopus,claude-opus-sdk,claude-opus` as adjacent-guess PyPI denylist entries - the operator rotates spellings around the Claude Opus brand - For Cluster B (
event-bus-lite-testmetestBun-runtime binding.gyp loader, 1 npm pkg): grep everypackage.json,package-lock.json,yarn.lock,pnpm-lock.yaml, Dockerfile, and container image manifest forevent-bus-lite-testmetestat version0.0.6. On any hit: treat the host as a candidate TanStack-family-TTP implant (Bun runtime + binding.gyp install trigger + Brotli-wrapped AES-128-GCM-encrypted native payload). Hunt for.b-*/temporary directories undernode_modules/event-bus-lite-testmetest/, hunt for the Bun runtime binary on hosts that do not normally use Bun, and hunt for thelib_native.datartefact (SHA-256e1ab1e330d3db532d511d4af4386ab2d2c6245ca807410f51c1211ae48814d73). Rotate secrets from a clean machine; rebuild the host rather than attempt in-place cleanup. Addevent-bus-lite-testmetestand sibling slugs startingevent-bus-lite-*to the npm denylist; alert when any package in the dependency tree ships both abinding.gypand a bundled.dat/.binfile over 100 KB - For Cluster C (
wisekenpm dep-confusion scope sweep, 14 packages across @greenlake/@sxm-web/@drone-js-ext/@ppa-web-components): grep everypackage.json,package-lock.json,yarn.lock,pnpm-lock.yaml, container image manifest, and private-registry mirror config for@greenlake/,@sxm-web/,@drone-js-ext/,@ppa-web-components/,wiseke(the npm maintainer), and specifically for the 14 package names in Cluster A at version3.0.0. On any hit: treat the host as compromised (postinstall rannode beacon.cjs, exfiltrated host+path+cwd to185.158.107.175:8787/_ah/dc, which is already in our standing egress denylist); confirm no inbound reach was granted to the C2 (the beacon exfils identity info useful for a targeted follow-up). For organisations that have ANY internal usage of the@greenlake/@sxm-web/@drone-js-ext/@ppa-web-componentsscopes against an internal registry: audit the internal-registry resolution path and ensure the public npm registry is not the fallback; the operators 3.0.0 version wins against lower-numbered internal versions. Keep185.158.107.175:8787/_ah/dc` blocked at egress - For Cluster D (kam193 PyPI malicious singles -
nebulallm,dictmerge-lite,fontus,zagents-message-bus): grep every PyPI manifest and internal mirror fornebulallm==1.4.3,dictmerge-lite==1.0.0,fontus==0.0.1/0.0.2/0.0.3,zagents-message-bus==1.0.5/1.0.10/99.99.99/99.99.100. Onnebulallmordictmerge-litehit on any host: treat the host as fully compromised (nebulallm chains JScript-to-DLL loader; dictmerge-lite is a dev-workstation infostealer against crypto wallets, browser profiles, SSH keys, and development credentials). Onfontusorzagents-message-bushit: treat as a confirmed pentest probe - the hosts basic fingerprint (IP, username, platform, arch) has been exfiltrated and the install itself proves resolution worked, so follow-up targeting is possible. Addnebulallm,dictmerge-lite,fontus,zagents-message-busto the PyPI denylist; the sentinel99.99.99/99.99.100versions onzagents-message-busindicate internal-registry dep-confusion so audit for an internalzagents-message-bus` package first - *For Cluster E (`@s4yhiitestpoc/r2-
and@s4yhiitestpoc/scan-` pentest POC batch, 10 npm pkgs): grep every npm manifest for@s4yhiitestpoc/. On hit: this is a known kam193-trackeds4yhiipentest operator namespace with standing-denylisted C2 (collector.oob.s4yhii.com, `.oob.s4yhii.com,oob.s4yhii.com:9999/native); treat the install as a successful bug-bounty / dep-confusion probe and investigate how the public@s4yhiitestpoc` scope reached the resolver. Keep the standing s4yhii egress denylist in place - For Cluster F (npm "social scraper / Appit cordova" cluster, ~16 packages): grep every npm manifest for
insta-reel-search,insta-api-wrapper,tiktok-video-scraper,ionic-tiktok-scraper,ionic-sound-cloud-loader-api,sound-cloud-loader-api,youtube-search-without-api-key,youtube-info-streams,ionic-youtube-search,ionic-youtube-streams,ionic-insta-api-wrapper,ionic-insta-search,redis-dumper,ocsp-hashes,cert-infos,p12-pem,appit-cordova-plugin-ionic,appit-cordova-admob,cordova-plugin-geofence-appit. On any hit from a hobbyist mobile-app repo or a cordova/ionic prototype: treat as suspicious-install (CWE-506 boilerplate indicates malicious intent but no vendor payload analysis is published); auditnode_modules/<pkg>/for postinstall scripts and bundled binary files; rebuild from a clean npm registry mirror. Forocsp-hashesandp12-pemspecifically: the legitimate packages areocspandpem/node-forge/node-pem- treat these as typosquats and alert the developer who introduced them - For Cluster G (npm miscellaneous dep-confusion probes, ~12 scoped and sentinel-versioned packages): grep every npm manifest for the full scope list
@greenlake,@sxm-web,@drone-js-ext,@ppa-web-components,@futurae-public,@fmr-ap153177,@factoryz,@capsense,@jm-telefonica,@generic-means,@postex,@eforms,paychex-pdftron,react-native-bright-sdk,jshelperdependenceny. These impersonate HPE GreenLake, SiriusXM, DJI drone, PPA/public-sector, Fidelity Management & Research, Factoryz, Capital One (@capsense), Telefónica (@jm-telefonica), ING Bank (@generic-means + ing-feat), Postex, eForms, Paychex, and the Bright SDK name. On any hit against your organisations internal-registry namespace: this is a confirmed targeted dep-confusion probe, not a drive-by - audit the internal-registry resolution path, confirm the public npm registry is not the fallback, and treat the install host as compromised (fingerprint exfiltrated at minimum). Keepltidi.storage.googleapis.com/depenconf/and*.ngrok-free.dev/canary` in the egress denylist - For Cluster H (CWE-506 boilerplate takedown long tail, ~15 npm pkgs): grep every npm manifest for
tailwindcss-theme-kit,noelc-css-blender,tailwind-base-buttons,w-mousekey,sc-hydrate-carousel-price,monitoring-agent,numbors,dsh-native,bow-test,brass-common,css-overscroll-contain,css-hnhxwd-polyfill,util-foriepft,css-flexgap-shim,css-grid-snap-util,ap3-foundations-ui,react-dropzone-v4,orderly-plugin-liquidity-heatmap,@regex33-hackerone/tb-compat,@eforms/forms-api. On hit: remove the package, audit any postinstall script that ran, and rebuild from a clean mirror; alert the developer who introduced the dependency so the operators lure name is retired from internal docs/snippets.react-dropzone-v4specifically appears to typosquatreact-dropzone;numborslikely typosquatsnumbro;ocsp-hashesandp12-pem(listed in Cluster F) typosquatocspandpem` - Standing egress-denylist carry-forward from prior sweeps (keep in place; today
s batch adds no new sharp network IOCs beyond the Polygon-blockchain-hosted C2 for Cluster A, where the retrieval endpoint is any Polygon RPC gateway rather than a fixed C2 apex): continue to blocknetworkservicesupp.flashhub.net:8443(2026-10-22@sudobilityXMRig Monero pool),c2-worker.crawlnet-claim.workers.devapex +/dl/pyupdpath,34.143.131.27:18080+/x-VA-1/main.jspath,webhook.site/553dad0e-c841-46a8-b07d-213b52a24686/(2026-10-21rs-lookout-sandbox-pocAWS IMDS exfil),75.119.137.232:31337+/depconfusepath (2026-10-20),transfer.archivete.amapex +/H2Uxm/fabdeploycheck-config.jsonpath (2026-10-19),realwbx.comapex +/ip.php+/ippaths,artifacts.creditslib.comapex +/npm/paths,login.fromthehotel.comapex,googleforum.pythonanywhere.com,space-z.aiapex,dxpoc.gt.tcapex,raw.githubusercontent.com/anonrider404/pypl/,api-bsx.pages.dev+/download,177.7.60.239:48080+oob.recon.dev,uncoder.eu.org+/cc-checker/api.php,accenture-npm.azurewebsites.net,limbomail.com,collector.oob.s4yhii.com+.oob.s4yhii.com+s4yhii.com,64.181.165.115/dc,167.88.172.33:8087+jsonspack.com,goxtools.shop,minhdong.site,45.138.12.177:8089,185.158.107.175:8787(todays Cluster C beacon - stays sharp),ltidi.storage.googleapis.com/depenconf/,oob.s4yhii.com:9999/native, `.oast.pro/.oast.me/.oast.fun/.oast.site/.oastify.com,frjmzbjbhwvtdnsuodmu.supabase.co,api.npoint.io,tele.metry.orgin.net,morroncr0w.io,api.telegram.orgon untrusted CI/build hosts,appsecc.com, genericwebhook.site/paths other than legitimate dev webhooks,nfjbill.ren,storage.googleapis.com/depenconf/,10.0.19.0/24+10.0.49.0/24,api.nm-streetwear.space, Discord webhook URL patterns,ipify.org+ifconfig.me,gitflic.ru,api.wagmiwallet.org,backend-cybersecuritydashboard.onrender.com, Monero mining pools, Ethereum/Sepolia/Arbitrum/Polygon RPC endpoints (specifically re-emphasised for todays Cluster A - block Polygon mainnet JSON-RPC from CI/build hosts to break the blockchain-hidden C2 lookup; the operator address of record is0x9c0a507300fd902787bb193d80fca5ce6e1bff9awhose transaction history returns the current C2 string),chinazhangsan.ccwu.cc,fabric-npm.gm-service.xyz,jsonkeeper.com,npm-canary.aveliscare.com,meta.brs.cx,s3://pkusinski-external/, AWS account631484165566, Slack bot-token exfil patterns,s85r5k14qk.execute-api.us-east-1.amazonaws.com/prod/hook,tuamaeaquelaursa.com,45.138.0.0/16RubyGems wgkit CIDRs,apexaccs.orgapex + subdomains,arenapex.cloud,apexfdn.xyzapex + subdomains,fdn4apex.com,router-apex.comapex + subdomains,ccmihr.com,0auth-chromium.com,ehegisnightmare.icu,cloudmain365duo.top,www.litellm.dev/healthcheck,raw.githubusercontent.com/letters9813/pythonclient-test/main/domain.txt, known SSH relay servicessrv.us, `.devtunnels.ms,.devtunnels.visualstudio.comon build/CI networks. New today for Cluster G:.ngrok-free.dev/canarysubdomain pattern (react-native-bright-sdk@9000.0.0` preinstall beacon)
Sources
- GitHub Advisory Database - recent malware advisoriesgithub.com
- GHSA-6m96-8rw5-4rhw - pypi claudeopuseni@0.1.0, 0.1.1 (Cluster A - 2026-09-donutautosellsrc steganography infostealer, Polygon C2, OSSF MAL-2026-18299, VT d03c42c2...43f3e)github.com
- GHSA-8whx-wfhh-6vh5 - pypi claudeopusenifile@0.1.3 (Cluster A - OSSF MAL-2026-18300)github.com
- GHSA-jgm6-7jxr-97gx - pypi claudeopusfile@0.1.1, 0.1.2 (Cluster A - OSSF MAL-2026-18298)github.com
- GHSA-7xwf-5j6m-rjff - npm event-bus-lite-testmetest@0.0.6 (Cluster B - binding.gyp + Brotli + AES-128-GCM + Bun-runtime loader, OSSF MAL-2026-18292, Amazon Inspector, payload hash e1ab1e33...814d73)github.com
- GHSA-pfqf-544g-rvp9 - npm @greenlake/auth@3.0.0 (Cluster C - wiseke dep-confusion to 185.158.107.175:8787/_ah/dc, byte-identical index.js to ph-common MAL-2026-1809, OSSF MAL-2026-18316)github.com
- GHSA-p5fc-j294-qr5q - npm @greenlake/common-context@3.0.0 (Cluster C)github.com
- GHSA-ph7p-r8mj-5q6r - npm @greenlake/session@3.0.0 (Cluster C)github.com
- GHSA-968q-w3j5-w6rq - npm @greenlake/mfe-login-url@3.0.0 (Cluster C)github.com
- GHSA-pmfr-35rg-27xm - npm @greenlake/context-pane@3.0.0 (Cluster C)github.com
- GHSA-j5p5-hcm3-6gx9 - npm @sxm-web/client-sdk-core@3.0.0 (Cluster C - SiriusXM scope)github.com
- GHSA-68q8-r62c-rwgx - npm @drone-js-ext/core@3.0.0 (Cluster C - DJI drone SDK extension scope)github.com
- GHSA-g6h7-w896-4p29 - npm @drone-js-ext/vip-badge@3.0.0 (Cluster C)github.com
- GHSA-vhvr-f5ww-qh72 - npm @ppa-web-components/ppa-headerfooter@3.0.0 (Cluster C - public-sector web components scope)github.com
- GHSA-g7m6-g9fm-57wh - npm @ppa-web-components/ppa-hotel-collection@3.0.0 (Cluster C)github.com
- GHSA-38w9-666c-chmr - npm @ppa-web-components/ppa-navigation@3.0.0 (Cluster C)github.com
- GHSA-2g28-gqgq-ghvf - npm @ppa-web-components/ppa-banner@3.0.0 (Cluster C)github.com
- GHSA-gpx7-mx94-wfv3 - npm @ppa-web-components/ppa-builder@3.0.0 (Cluster C)github.com
- GHSA-xv6m-ch98-25c4 - npm @ppa-web-components/ppa-searchform@3.0.0 (Cluster C)github.com
- GHSA-mvgr-2gjf-h99c - pypi nebulallm@1.4.3 (Cluster D - OSSF MALICIOUS, campaign 2026-10-nebulallm, JScript-to-DLL loader, MAL-2026-18297)github.com
- GHSA-825m-m2h7-7cwc - pypi dictmerge-lite@1.0.0 (Cluster D - OSSF MALICIOUS, campaign 2026-10-dictmerge-lite, crypto wallet / browser / SSH / dev credential infostealer, MAL-2026-18301)github.com
- GHSA-g5mh-f2v3-6p25 - pypi fontus@0.0.1, 0.0.2, 0.0.3 (Cluster D - OSSF PROBABLY_PENTEST, campaign 2026-10-fontus, basic info + fonts fingerprinting, MAL-2026-18271)github.com
- GHSA-2hr3-wchh-6g2q - pypi zagents-message-bus@1.0.5, 1.0.10, 99.99.99, 99.99.100 (Cluster D - OSSF GENERIC-standard-pypi-install-pentest, dep-confusion sentinel versions, MAL-2026-18296)github.com
- GHSA-96fg-4mp3-2hj5 - npm @s4yhiitestpoc/scan-https-d (Cluster E - s4yhii pentest POC)github.com
- GHSA-vhw8-ph25-jc87 - npm @s4yhiitestpoc/scan-dns-c (Cluster E)github.com
- GHSA-2wfm-2q62-f937 - npm @s4yhiitestpoc/scan-echo-b (Cluster E)github.com
- GHSA-mgmq-xcr7-2945 - npm @s4yhiitestpoc/r2-control (Cluster E)github.com
- GHSA-jr92-v3rg-vg3w - npm @s4yhiitestpoc/r2-dns (Cluster E)github.com
- GHSA-5957-rhph-hx5p - npm @s4yhiitestpoc/scan-https-dualuse-e (Cluster E)github.com
- GHSA-gcfx-vpjf-86m9 - npm @s4yhiitestpoc/r2-echo (Cluster E)github.com
- GHSA-h99w-8693-g33v - npm @s4yhiitestpoc/r2-https-b (Cluster E)github.com
- GHSA-mv2r-j9qg-322h - npm @s4yhiitestpoc/r2-https-dualuse (Cluster E)github.com
- GHSA-m9p6-4pgh-6gqx - npm @s4yhiitestpoc/scan-control-a (Cluster E)github.com
- GHSA-v2r2-x76j-6fcx - npm insta-reel-search (Cluster F - social scraper lure)github.com
- GHSA-j8vh-32vh-rj39 - npm insta-api-wrapper (Cluster F)github.com
- GHSA-5xjv-xr86-9hrv - npm tiktok-video-scraper (Cluster F)github.com
- GHSA-wwj3-4v8w-w98j - npm ionic-tiktok-scraper (Cluster F)github.com
- GHSA-g89m-8c48-9x73 - npm ionic-sound-cloud-loader-api (Cluster F)github.com
- GHSA-5f99-52fc-5rc9 - npm sound-cloud-loader-api (Cluster F)github.com
- GHSA-f6m2-r9qr-44fx - npm youtube-search-without-api-key (Cluster F)github.com
- GHSA-7mfw-r26v-9r9f - npm youtube-info-streams (Cluster F)github.com
- GHSA-7p9r-26fp-m47g - npm ionic-youtube-search (Cluster F)github.com
- GHSA-3cc7-77mx-rmj6 - npm ionic-youtube-streams (Cluster F)github.com
- GHSA-65qr-q8w8-4q7r - npm ionic-insta-api-wrapper (Cluster F)github.com
- GHSA-4fw4-xm5r-mh69 - npm ionic-insta-search (Cluster F)github.com
- GHSA-8gg8-xq45-8fx5 - npm redis-dumper (Cluster F)github.com
- GHSA-9v69-fx5h-r6p6 - npm ocsp-hashes (Cluster F - typosquat of ocsp)github.com
- GHSA-8mjx-r4j6-3h6g - npm cert-infos (Cluster F)github.com
- GHSA-74xg-w33f-jpv3 - npm p12-pem (Cluster F - typosquat of pem)github.com
- GHSA-fr38-45mf-vcqf - npm appit-cordova-plugin-ionic (Cluster F)github.com
- GHSA-9w8h-674f-4x2j - npm appit-cordova-admob (Cluster F)github.com
- GHSA-5pw8-3xv5-6cmg - npm cordova-plugin-geofence-appit (Cluster F)github.com
- GHSA-fjcx-639f-h39g - npm react-native-bright-sdk@9000.0.0 (Cluster G - preinstall canary beacon to *.ngrok-free.dev/canary, MAL-2026-18290)github.com
- GHSA-249c-6w49-6274 - npm jshelperdependenceny@99.0.0 (Cluster G - DC_CALLBACK_URL preinstall beacon, MAL-2026-18288)github.com
- GHSA-cxq5-px5q-3gm4 - npm @postex/common@99.9.1 (Cluster G - ltidisafe GCS-tarball install-time payload, MAL-2026-18285)github.com
- GHSA-79qp-32qv-632x - npm @futurae-public/adaptive-js (Cluster G - Futurae scope)github.com
- GHSA-vw9v-ghxv-m2gw - npm @fmr-ap153177/apex-kit-icons (Cluster G - Fidelity Management & Research scope)github.com
- GHSA-8wg4-rwxf-cv7v - npm @factoryz/apollo (Cluster G)github.com
- GHSA-f24f-639h-q46v - npm @capsense/core-ui (Cluster G)github.com
- GHSA-v7w7-x8q8-wp4r - npm @capsense/ccx-welcome-page (Cluster G)github.com
- GHSA-xrpm-2w69-j2r7 - npm @jm-telefonica/multibrand-components (Cluster G - Telefónica scope)github.com
- GHSA-3qv7-4fg6-54gp - npm @generic-means/ing-feat-scanner-libs (Cluster G - ING Bank naming)github.com
- GHSA-2cfq-pcr7-8572 - npm @eforms/forms-api (Cluster G)github.com
- GHSA-qg7g-2jr4-vjw8 - npm paychex-pdftron (Cluster G - Paychex SDK impersonation)github.com
- GHSA-v5xr-xjx7-ggwf - npm tailwindcss-theme-kit (Cluster H - 2026-10-24)github.com
- GHSA-cj2x-975v-jmwf - npm noelc-css-blender (Cluster H - 2026-10-24)github.com
- GHSA-5j43-343m-gggg - npm tailwind-base-buttons (Cluster H - 2026-10-25)github.com
- GHSA-gmhr-j769-j6qf - npm w-mousekey@1.0.41, 1.0.42 (Cluster H - 2026-10-25)github.com
- GHSA-p6gr-jpmq-4hjq - npm sc-hydrate-carousel-price (Cluster H - 2026-10-25)github.com
- GHSA-fvjv-j94x-c8wm - npm monitoring-agent (Cluster H - 2026-10-26, plausible lure)github.com
- GHSA-682c-pwqm-7gxv - npm numbors@1.6.1 (Cluster H - likely typosquat of numbro, 2026-10-26)github.com
- GHSA-x94m-hxm5-m298 - npm dsh-native (Cluster H - 2026-10-26)github.com
- GHSA-w53j-w72q-2f32 - npm bow-test (Cluster H - 2026-10-26)github.com
- GHSA-g6mf-8rwx-xgwh - npm brass-common (Cluster H - 2026-10-26)github.com
- GHSA-xjrr-fv8j-9hw7 - npm css-overscroll-contain (Cluster H - 2026-10-26)github.com
- GHSA-r2cx-wgxm-g93q - npm css-hnhxwd-polyfill (Cluster H - 2026-10-26)github.com
- GHSA-rc7p-6p9r-rfj9 - npm util-foriepft (Cluster H - 2026-10-26)github.com
- GHSA-xv83-g4vx-88wf - npm css-flexgap-shim (Cluster H - 2026-10-26)github.com
- GHSA-ww37-mhpw-cm3q - npm css-grid-snap-util (Cluster H - 2026-10-26)github.com
- GHSA-g9j6-f655-22p6 - npm ap3-foundations-ui (Cluster H - 2026-10-26)github.com
- GHSA-cqf2-3c3q-p639 - npm react-dropzone-v4 (Cluster H - likely typosquat of react-dropzone, 2026-10-26)github.com
- GHSA-83cj-fp7v-jmfx - npm orderly-plugin-liquidity-heatmap (Cluster H - 2026-10-26)github.com
- GHSA-vwp8-h222-46p8 - npm @regex33-hackerone/tb-compat (Cluster H - bug-bounty researcher scope, 2026-10-26)github.com
- DependencyWatch: multi-2026-10-24-ghsa-malware-sweep (two days back - 2026-10-voice-synthesis-profiles wave 2 kam193 21-pkg loader cluster, sitecard kam193 SSH-tunnel backdoor, @k18k entrypoint-sdk tunnel-gateway lure, overarch/liauto Windows-binary droppers)dependencywatch.io
- DependencyWatch: multi-2026-10-23-ghsa-malware-sweep (three days back - journey-teste-shellhello wave 2, @ecg-internal + @grabcad dep-confusion probe clusters, @pkgship/frp reverse-proxy binaries, darknode-cli Ren Protocol impersonator)dependencywatch.io
- DependencyWatch: pypi-2026-10-05-anthropic-sdk-typosquat (prior Anthropic-brand typosquat campaign, different operator, non-overlapping)dependencywatch.io
Check your lockfile against this and every other incident.
Paste a lockfile and it is matched on your own device against every compromised version we track. Nothing is uploaded and there is no account.