GitHub Advisory malware sweep, 23 October 2026
GHSA 2026-10-22/23 batch (~25 advisories). Headlines: PyPI 2026-10-journey-test-helloshell wave 2 (new journey-teste-shellhello@0.2.0 continuing yesterdays kam193 reverse-shell + install-time env-var exfil family); npm @ecg-internal/ dependency-confusion probe cluster (6 packages against eBay Classifieds Group-style internal scope); npm @grabcad/ dependency-confusion probe cluster (4 packages against GrabCAD-style internal scope); npm @pkgship/frp[c|s]-linux-amd64@0.71.1 bundled reverse-proxy binary droppers; npm darknode-cli@2.46.0-2.46.2` Republic Protocol tool impersonator.
Published 23 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
- 23 Oct 2026
- Ecosystems
- npmPyPI
- Detected by
- GitHub Advisory Database, OpenSSF malicious-packages, kam193 bad-packages
- Also known as
- 2026-10-23 GHSA sweep, 2026-10-journey-test-helloshell wave 2, @ecg-internal dep-confusion probe cluster
- 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-22 06:00 UTC (yesterdays sweep cut-off) and 2026-10-23 06:00 UTC (todays ingest-window start), the GitHub Advisory Database published ~25 fresh malware advisories across npm and PyPI. The only confirmed-payload item today is journey-teste-shellhello@0.2.0, a Portuguese "teste"-spelling wave 2 of yesterdays kam193 2026-10-journey-test-helloshell reverse-shell family. Everything else in the batch is a CWE-506 boilerplate takedown without published runtime analysis, split across two sizeable dep-confusion probe clusters (@ecg-internal/ and @grabcad/`) and a scattering of single-slug impersonators / lures / test artefacts.
Headlines
PyPI 2026-10-journey-test-helloshell wave 2 (Cluster A, 1 package): journey-teste-shellhello@0.2.0 extends the kam193-tracked family that opened yesterday. The slug swaps the English "test" for Portuguese "teste" - a stealth variant intended to defeat exact-match denylists on the three earlier siblings. Same OSSF-flagged MALICIOUS + targeted-attack behaviour: setup.py overrides install, reverse shell runs during pip install, environment variables exfiltrated at install time.
*npm `@ecg-internal/ dep-confusion probe cluster** (Cluster B, 6 packages): six slugs under a scope that mimics the ecg-internal naming pattern used by eBay Classifieds Group-style organisations for their internal shared libraries. All six are CWE-506 boilerplate takedowns with no published payload analysis. Organisations whose public-registry resolution shadows an internal @ecg-internal/*` scope are the realistic exposure path.
*npm `@grabcad/ dep-confusion probe cluster** (Cluster C, 4 packages): same pattern as Cluster B but against the @grabcad` scope, which maps to GrabCAD / Stratasys internal naming.
npm @pkgship/frp[c|s]-linux-amd64@0.71.1 (Cluster F): two packages that appear to bundle the real fatedier/frp Linux amd64 reverse-proxy client and server binaries at upstream version 0.71.1 under a dual-use "pkgship" scope. The frp tool is a legitimate OSS NAT-traversal utility and a widely abused C2 reverse-tunnel primitive; shipped as an unexpected npm transitive dependency it is a persistence-staging red flag.
npm darknode-cli@2.46.0-2.46.2 (Cluster E): impersonates the legitimate Republic Protocol / Ren Darknode Go CLI, which is distributed via curl | sh and has no npm counterpart - a first-publish impersonator under a brand name.
Classification
sweep. Severity high (upgraded from the sweep baseline medium) because Cluster A carries a confirmed reverse-shell + env-var-exfil payload (same kam193 campaign as yesterday) and Cluster F carries bundled reverse-proxy binaries. The rest of the batch is CWE-506 boilerplate at medium. No cluster reaches critical - all are impersonators, first-publish lures, or dep-confusion probes with no legitimate upstream hijacked.
Discovery
GitHub Advisory Database, OpenSSF malicious-packages (Cluster A representative source), kam193 bad-packages (Cluster A campaign tag).
25 packages 31 versions
- npm@blueskydataplatform/shared-ui*→
- npm@cecm-web-sdk/core*→
- npm@ecg-internal/adobe-dmp-js*→
- npm@ecg-internal/aurora-js-formatters*→
- npm@ecg-internal/favourites-ui*→
- npm@ecg-internal/js-react-i18n*→
- npm@ecg-internal/media-util-js-lib*→
- npm@ecg-internal/reviews-dialog-ui*→
- npm@factiii/runner0.28.0→
- npm@grabcad/company-server-shared*→
- npm@grabcad/grabcad-shop-shared*→
- npm@grabcad/preferences-client*→
- npm@grabcad/user-license*→
- npm@kibt/www-nuxt-i18n*→
- npm@lumen-labs-dev/whisper-node0.5.1→
- npm@pkgship/frpc-linux-amd640.71.1→
- npm@pkgship/frps-linux-amd640.71.1→
- npm@seggy116/next-diff0.3.0→
- npm@tekmidian/pai1.0.81.0.91.0.10→
- npmdarknode-cli2.46.02.46.12.46.2→
- npmimgdecode1.0.01.0.11.0.2→
- PyPIjourney-teste-shellhello0.2.0→
- npmkvarzo8f3atestmetest*→
- npmsdk-utils-testmetest*→
- npmx402-prompt-injection-scan0.1.4→
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
2026-10-journey-test-helloshellwave 2 (malicious-package; CONFIRMED same OSSF-flaggedMALICIOUS+targeted-attackfamily as yesterdaysjourney-test-helloshell@0.2.0andjourney-test-hellospy@0.1.1;setup.pyoverrides install so code runs duringpip install; reverse shell AND install-time env-var exfiltration - any.env`-sourced secret, CI credential, or private key present in the install environment is in scope):journey-teste-shellhello@0.2.0(GHSA-r42r-j8h5-x7r3, MAL-2026-18203, kam193 source hashb0297ac29ad3587325dc37510f2af62bef8b7d92f76e7f123739fc6f49cead0c, published 2026-10-23). The slug swaps the "test" segment for Portuguese "teste" - a stealth variant intended to defeat exact-match denylists on the three sibling slugs; thejourney-prefix continues to target organisations runningjourney-*namespaced internal pipelines. Severityhighfor this cluster (confirmed reverse-shell + env-var exfil at install time, limited reach because nothing legitimate depends onjourney-teste-*) - *Cluster B - npm `@ecg-internal/
dependency-confusion probe cluster (dependency-confusion; all 6 packages published 2026-10-23 with CWE-506 boilerplate takedowns and no vendor runtime analysis; theecg-internalscope deliberately mimics the internal-registry scope naming pattern eBay Classifieds Group-style organisations use for their shared libraries, so the only hosts that can resolve these packages are ones whose public-registry resolution shadows their internal registry; typical dep-confusion probe behaviour is a lightweight beacon posting the hostname/IP/whoamito an operator endpoint at install time)**:@ecg-internal/adobe-dmp-jsall versions (GHSA-vcj4-3hxm-4rf3),@ecg-internal/favourites-uiall versions (GHSA-g8hh-8pxg-jr3x),@ecg-internal/aurora-js-formattersall versions (GHSA-9976-3w38-mrmj),@ecg-internal/reviews-dialog-uiall versions (GHSA-r47j-grcr-p9h9),@ecg-internal/media-util-js-liball versions (GHSA-hcw5-m6mm-qg3q),@ecg-internal/js-react-i18nall versions (GHSA-5x9g-7rj9-4xc8). Severitymediumfor this cluster (CWE-506 boilerplate, no published payload analysis, no IOCs; organisations using any@ecg-internal/*` scope on an internal mirror should audit resolution precedence) - *Cluster C - npm `@grabcad/
dependency-confusion probe cluster (dependency-confusion; all 4 packages published 2026-10-23 with CWE-506 boilerplate; thegrabcadscope deliberately mimics GrabCAD / Stratasys internal-package naming; same resolution-precedence risk as Cluster B)**:@grabcad/company-server-sharedall versions (GHSA-fpfw-7wv8-x4mh),@grabcad/grabcad-shop-sharedall versions (GHSA-cc6r-jh8f-6c76),@grabcad/user-licenseall versions (GHSA-6w2v-744r-g5j5),@grabcad/preferences-clientall versions (GHSA-mfh5-wvcp-2v6v). Severitymedium` for this cluster - Cluster D - npm other scoped CWE-506 probes (dependency-confusion / malicious-package; all 2026-10-23, CWE-506 boilerplate, no published payload analysis):
@cecm-web-sdk/coreall versions (GHSA-88qx-q5v7-q7x5 - "cecm" scope reads as an internal-SDK name),@blueskydataplatform/shared-uiall versions (GHSA-6x9m-j5h8-w3vg - "bluesky data platform" style internal-scope naming),@kibt/www-nuxt-i18nall versions (GHSA-2c7v-rmgw-3xrp - thewww-nuxt-i18nslug reads as an internal-pipeline helper for a Nuxt-based site),@tekmidian/pai@1.0.8, 1.0.9, 1.0.10(GHSA-xvgg-qjjh-gq34 - specific versions published rather than sentinel/all-versions, so this one is likelier a lure than a dep-confusion probe). Severitymediumfor this cluster - Cluster E - npm backfill from 2026-10-22 single-slug takedowns (mixed kinds; all 2026-10-22, CWE-506 boilerplate, no published payload analysis beyond the full-compromise notice):
@factiii/runner@0.28.0(GHSA-9j83-qj34-g5vc),@seggy116/next-diff@0.3.0(GHSA-fv2r-964m-pc2m),@lumen-labs-dev/whisper-node@0.5.1(GHSA-8mqm-233x-2g2j - "whisper-node" slug reads as an OpenAI Whisper wrapper lure under a fake "lumen-labs-dev" vendor scope - likelymalicious-package),darknode-cli@2.46.0, 2.46.1, 2.46.2(GHSA-6m47-rc2c-6xpg - the legitimatedarknode-cliis a Republic Protocol Go CLI distributed viacurl | sh, NOT via npm, so this npm slug is a first-publish impersonator of the Ren Protocol darknode tooling -typosquat/ brand-impersonation),x402-prompt-injection-scan@0.1.4(GHSA-w84w-rhx7-2f7g - "x402-prompt-injection-scan" reads as a Coinbase x402-payment-protocol prompt-injection-scanner lure -malicious-package),imgdecode@1.0.0, 1.0.1, 1.0.2(GHSA-hw69-vrvf-87h5 - generic image-decoding utility slug -typosquat/malicious-packagedepending on whether a legitimateimgdecodeis being impersonated). Severitymediumfor this cluster - *Cluster F - npm `@pkgship/frp-linux-amd64
bundled reverse-proxy binary droppers (malicious-package; both packages 0.71.1, both 2026-10-22; thefrpupstream (fastreverseproxy / fatedier/frp) is a legitimate open-source TCP/UDP/HTTP tunneling tool widely used both legitimately for NAT traversal AND abusively as a C2 reverse-tunnel implant; the0.71.1version string matches the upstreamfatedier/frpv0.71.1 release so these appear to be the real frp Linux amd64 binaries wrapped as npm packages - a dual-use artefact that becomes a persistence/reverse-tunnel staging payload when installed on a victim host under the guise of a transitive npm dependency)**:@pkgship/frps-linux-amd64@0.71.1(GHSA-x55v-jc52-q424 - frp **server** component),@pkgship/frpc-linux-amd64@0.71.1(GHSA-9pc4-vxvx-5676 - frp **client** component). Severityhighfor this cluster (bundled reverse-proxy binaries + unknown install hooks + plausiblepkgshipscope reads as a legitimate "package shipping" helper, but thefastreverseproxy` installer behaviour makes any environment that resolved these during the exposure window a persistent-tunnel candidate) - *Cluster G - npm `testmetest
research / canary slugs (malicious-package or noise; 2026-10-22; CWE-506 boilerplate, operator-identified by thetestmetestsuffix as self-labelled test artefacts)**:sdk-utils-testmetestall versions (GHSA-m6qq-33mj-mv9w),kvarzo8f3atestmetestall versions (GHSA-8vpc-rm6r-5m6c). Severitymedium` for this cluster - Operator continuity:
kam193continues the2026-10-journey-test-helloshellfamily into a second day (yesterday addedjourney-test-helloshell@0.2.0+journey-test-hellospy@0.1.1; today adds the Portuguese "teste" variantjourney-teste-shellhello@0.2.0), suggesting the operator is iterating on the slug to evade exact-match blocklists while keeping the reverse-shell + env-var exfil payload intact. No new activity today from yesterdays larger2026-10-voice-synthesis-profiles43-pkg loader campaign (operator pattern: large campaigns typically fire in a single day). The@sudobilityXMRig scope from yesterdays 2026-10-22 sweep stays dormant today - no new sibling slugs under that scope. No new activity from the 2026-10-21 sharp IOCs:c2-worker.crawlnet-claim.workers.devapex (pyupdpayload),34.143.131.27:18080+/x-VA-1/main.jspath (@securihackbotoperator),webhook.site/553dad0e-c841-46a8-b07d-213b52a24686/(rs-lookout-sandbox-pocAWS IMDS exfil) - keep in standing-egress denylist. No new Baileys-lure wave 9 slugs today (operator cadence suggests another wave in 24-48 hours). Carve-outs LiteLLM 1.107.0, Tailwind Animate.css fake-interview, Apex Accelerator REF8801, TensorLake AI, hridoy FB credential stealer remain confirmed-recovered with no wave-2 malicious republish observed
Clean-up steps
- For Cluster A (
journey-teste-shellhello@0.2.0, CONFIRMED kam193 reverse shell + env-var exfil): grep everyrequirements.txt,pyproject.toml,Pipfile.lock,poetry.lock,uv.lock,pdm.lock,conda envand every internal PyPI mirror forjourney-teste-shellhello==0.2.0, alongside yesterdaysjourney-test-helloshell==0.2.0andjourney-test-hellospy==0.1.1. On any hit on any Python environment on any host that ranpip installsince 2026-10-23: treat the host as compromised AND assume every environment variable visible to the install process was exfiltrated at install time - rotate every.env-sourced secret, every CI-provisioned token, every cloud credential visible as an env var, and every private-key path visible in the env. The reverse shell code runs duringsetup.pyinstall - any resource reachable from the install users network context is in scope; audit outbound TCP connections from the install window. Block the fulljourney-test-*andjourney-teste-*prefix family on your public-PyPI denylist and extend the slug-family watchlist for the next 30 days (operator is iterating on orthography to evade exact-match blocklists) - *For Clusters B+C (`@ecg-internal/
+@grabcad/` dep-confusion probe clusters, 10 packages total): for every build host, CI runner, developer workstation, and internal registry mirror in your organisation, audit the public-vs-internal resolution precedence for the `@ecg-internal/and@grabcad/*scopes. If your internal registry serves ANY package under either scope, make sure your.npmrc/pnpmconfig /yarnconfig /bunconfig pin that scope to the internal registry explicitly (@ecg-internal:registry=https://your-internal-registry/), so the public-registry fallback cannot shadow a legitimate internal name. Grep everypackage.jsonand lockfile for the specific slugs:@ecg-internal/adobe-dmp-js,@ecg-internal/favourites-ui,@ecg-internal/aurora-js-formatters,@ecg-internal/reviews-dialog-ui,@ecg-internal/media-util-js-lib,@ecg-internal/js-react-i18n,@grabcad/company-server-shared,@grabcad/grabcad-shop-shared,@grabcad/user-license,@grabcad/preferences-client`. On any hit from a public-registry resolution: treat the host as a candidate dep-confusion-probe target - audit outbound DNS/HTTP from the install window for beacon traffic to unfamiliar endpoints, and apply the standard CWE-506 full-compromise response (secrets rotation from a different machine, environment rebuild) - For Cluster D (other scoped CWE-506 probes): grep every
package.jsonand lockfiles for@cecm-web-sdk/core,@blueskydataplatform/shared-ui,@kibt/www-nuxt-i18n, and@tekmidian/pai@1.0.8/1.0.9/1.0.10. Same resolution-precedence audit as Clusters B/C where the scope matches an internal pattern you use. Standard CWE-506 full-compromise response on hits - For Cluster E (
darknode-cli,x402-prompt-injection-scan,imgdecode,@lumen-labs-dev/whisper-node,@factiii/runner,@seggy116/next-diffsingle-slug impersonator / lure takedowns): grep everypackage.jsonand lockfile for the specific slug + version combinations. Specifically fordarknode-cli@2.46.0/2.46.1/2.46.2: this npm slug impersonates the legitimate Republic Protocol / Ren Darknode Go CLI, which is NOT distributed via npm. If you deployed Republic Protocol / Ren Darknode nodes using an npm-based installer rather than the officialcurl | shinstaller, treat the host as compromised. Forx402-prompt-injection-scan@0.1.4: the slug impersonates Coinbase`s x402 payment-protocol tooling - audit any x402 integration path. Standard CWE-506 full-compromise response on all hits - For Cluster F (
@pkgship/frp[c|s]-linux-amd64@0.71.1bundled reverse-proxy binaries): grep everypackage.json, lockfile, and container image manifest for@pkgship/frpc-linux-amd64@0.71.1and@pkgship/frps-linux-amd64@0.71.1. On any hit on any Linux amd64 host that rannpm installsince 2026-10-22: treat the host as a candidate reverse-tunnel implant - thefrpclient/server pair is a legitimate OSS tool but a textbook C2 reverse-tunnel primitive. Hunt for frp runtime artefacts: any process namedfrpc/frpsor any renamed binary matching the frp signature; anyfrpc.ini/frpc.tomlorfrps.ini/frps.tomlconfig file under non-admin paths (/tmp/,/var/tmp/,$HOME/.config/,/dev/shm/); any outbound TCP connection to an unknown host on a non-standard port with persistent reconnection behaviour. Egress-block the fatedier/frp upstream dashboard port patterns at your egress boundary; add the two slugs to your public-npm denylist - *For Cluster G (`testmetest
research slugs)**: standard CWE-506 full-compromise response on hits. Thetestmetest` suffix identifies these as self-labelled test / canary artefacts - likely low real-world reach, but any environment that resolved them should still be rebuilt - Standing egress-denylist carry-forward from prior sweeps (keep in place; today adds no new sharp IOCs - all 2026-10-23 CWE-506 boilerplate advisories lack vendor runtime analysis):
networkservicesupp.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-21);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;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 pattern;ipify.org+ifconfig.me;gitflic.ru;api.wagmiwallet.org;backend-cybersecuritydashboard.onrender.com; Monero mining pools; Ethereum/Sepolia/Arbitrum/Polygon RPC endpoints;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; LiteLLM 1.107.0 -www.litellm.dev/healthcheckapex + the GitHub dead-dropraw.githubusercontent.com/letters9813/pythonclient-test/main/domain.txt
Sources
- GitHub Advisory Database - recent malware advisoriesgithub.com
- GHSA-r42r-j8h5-x7r3 - pypi journey-teste-shellhello@0.2.0 (Cluster A - CONFIRMED kam193 2026-10-journey-test-helloshell wave 2, reverse shell + install-time env-var exfil, source hash b0297ac29ad3587325dc37510f2af62bef8b7d92f76e7f123739fc6f49cead0c, MAL-2026-18203)github.com
- GHSA-vcj4-3hxm-4rf3 - npm @ecg-internal/adobe-dmp-js (Cluster B - ecg-internal dep-confusion probe cluster, CWE-506)github.com
- GHSA-g8hh-8pxg-jr3x - npm @ecg-internal/favourites-ui (Cluster B)github.com
- GHSA-9976-3w38-mrmj - npm @ecg-internal/aurora-js-formatters (Cluster B)github.com
- GHSA-r47j-grcr-p9h9 - npm @ecg-internal/reviews-dialog-ui (Cluster B)github.com
- GHSA-hcw5-m6mm-qg3q - npm @ecg-internal/media-util-js-lib (Cluster B)github.com
- GHSA-5x9g-7rj9-4xc8 - npm @ecg-internal/js-react-i18n (Cluster B)github.com
- GHSA-fpfw-7wv8-x4mh - npm @grabcad/company-server-shared (Cluster C - grabcad dep-confusion probe cluster, CWE-506)github.com
- GHSA-cc6r-jh8f-6c76 - npm @grabcad/grabcad-shop-shared (Cluster C)github.com
- GHSA-6w2v-744r-g5j5 - npm @grabcad/user-license (Cluster C)github.com
- GHSA-mfh5-wvcp-2v6v - npm @grabcad/preferences-client (Cluster C)github.com
- GHSA-88qx-q5v7-q7x5 - npm @cecm-web-sdk/core (Cluster D - CWE-506 boilerplate)github.com
- GHSA-6x9m-j5h8-w3vg - npm @blueskydataplatform/shared-ui (Cluster D)github.com
- GHSA-2c7v-rmgw-3xrp - npm @kibt/www-nuxt-i18n (Cluster D)github.com
- GHSA-xvgg-qjjh-gq34 - npm @tekmidian/pai@1.0.8..1.0.10 (Cluster D - specific versions, lure vs probe)github.com
- GHSA-9j83-qj34-g5vc - npm @factiii/runner@0.28.0 (Cluster E - 2026-10-22 single-slug CWE-506)github.com
- GHSA-fv2r-964m-pc2m - npm @seggy116/next-diff@0.3.0 (Cluster E)github.com
- GHSA-8mqm-233x-2g2j - npm @lumen-labs-dev/whisper-node@0.5.1 (Cluster E - fake OpenAI Whisper vendor-scope lure)github.com
- GHSA-6m47-rc2c-6xpg - npm darknode-cli@2.46.0..2.46.2 (Cluster E - Republic Protocol / Ren Darknode Go CLI impersonator - the real tool is not on npm)github.com
- GHSA-w84w-rhx7-2f7g - npm x402-prompt-injection-scan@0.1.4 (Cluster E - Coinbase x402-payment-protocol scanner lure)github.com
- GHSA-hw69-vrvf-87h5 - npm imgdecode@1.0.0..1.0.2 (Cluster E - generic image-decoding utility typosquat)github.com
- GHSA-x55v-jc52-q424 - npm @pkgship/frps-linux-amd64@0.71.1 (Cluster F - bundled fatedier/frp server reverse-proxy binary)github.com
- GHSA-9pc4-vxvx-5676 - npm @pkgship/frpc-linux-amd64@0.71.1 (Cluster F - bundled fatedier/frp client reverse-proxy binary)github.com
- GHSA-m6qq-33mj-mv9w - npm sdk-utils-testmetest (Cluster G - self-labelled test/canary slug)github.com
- GHSA-8vpc-rm6r-5m6c - npm kvarzo8f3atestmetest (Cluster G)github.com
- DependencyWatch: multi-2026-10-22-ghsa-malware-sweep (yesterday`s sweep - @sudobility XMRig miner cluster, 2026-10-voice-synthesis-profiles 43-pkg kam193 loader campaign, journey-test-helloshell wave 1, iterquarry split-payload family)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.