GitHub Advisory malware sweep, 14 October 2026
GHSA 2026-10-13/14 batch (~21 fresh malware advisories). Headliner: orderly-plugin-liquidity-heatmap abuses the installers GitHub Actions GITHUB_TOKEN to commit heatmap-setup-report.json and force-push a heatmap-setup-<timestamp> tag into the victims own repository. Confirmed-payload carve-outs: PyPI fontcase infostealer + Telegram bot, PyPI sysdiagd Discord RAT, PyPI pyyi python2 impersonator, npm Accenture-brand dep-confusion with azurewebsites.net C2, npm passwordcracker continuing limbomail.com, plus a 10-slug opencode2* typosquat of @opencode-ai/cli.
Published 14 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
- 14 Oct 2026
- Ecosystems
- npmPyPI
- Detected by
- GitHub Advisory Database, OpenSSF malicious-packages, OpenSSF Package Analysis, InvisiRisk, SafeDep, kam193/bad-packages, Amazon Inspector, npm security, PyPI security
- Also known as
- 2026-10-14 GHSA sweep, orderly-plugin-liquidity-heatmap GITHUB_TOKEN write-back, dumtban Orderly plugin CI token abuse
- 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-13 06:00 UTC (yesterdays sweep cutoff) and 2026-10-14 14:00 UTC (todays ingest-window start), the GitHub Advisory Database and OpenSSF malicious-packages published ~21 fresh malware advisories across npm and PyPI. Six carry confirmed functional payloads worth a cluster each; the rest cluster into a 10-slug opencode2* typosquat family of @opencode-ai/cli and 4 small dep-confusion/pentest probes.
Headline
orderly-plugin-liquidity-heatmap abuses the installers GitHub Actions GITHUB_TOKEN to write back into the victims own repository (Cluster A). Six versions (1.0.0-1.0.6) published by npm account dumtban on 2026-10-11 between 13:12 and 16:05 UTC, each extending the previous versions reach into the installers CI runner. The 1.0.2 payload commits heatmap-setup-report.json to the default branch of the installing repository; 1.0.4+ additionally force-pushes a heatmap-setup-<timestamp> git tag using credentials that actions/checkout persists in .git/config. This is a novel operator-side pattern: unlike a typical postinstall beacon that only leaks data OUTBOUND, this one leaves VERIFIABLE INBOUND write-backs in the victim repository that need to be cleaned up as part of IR. Credited to InvisiRisk, Inc.
Confirmed-payload carve-outs within the sweep
- Cluster B
fontcase(PyPI, 0.1.0-0.1.2) - infostealer with Telegram bot C2 andprocess-manager.exepayload served fromgithub.com/unicodeces/font-atlas. OSV MAL-2026-17862, campaign tag2026-10-fontcase. Reporterkam193. VirusTotal + Tria.ge corroboration available. - Cluster C
sysdiagd(PyPI, 1.2.1-1.2.3) - Discord-bot RAT with credential/browser/file theft, audio/screenshot/video capture, persistence, spyware behavior. OSV MAL-2026-17861, campaign tag2026-10-sysdiagd. Reporterkam193. Needs operator-supplied Discord credentials to activate. - Cluster D
pyyi(PyPI, 2.4.1) -python2interpreter impersonator. Registers host withspace-z.ai, stores API key in~/.python2/config.json, shows a normal Python banner, silently POSTs single-token REPL inputs to/api/cli/unlock, runs remote-fetched payload in memory viaexec. OSV MAL-2026-17866. Findersmiling-hyena. - Cluster E
@accenturecodefoundry/mfe-pot-shared-ui-scds-core(npm, 99.99.2/99.99.4/99.99.41) - Accenture internal-scope dep-confusion with confirmedaccenture-npm.azurewebsites.netC2 beacon. Operatorpriyashareek. Sibling@newspage/libx-amountand@newspage/lib-ng-async-routes-uicall back to the same host (second internal-scope target@newspage). OSV MAL-2026-17867. Credited to InvisiRisk, Inc. and SafeDep. - Cluster F
passwordcracker+passwordcrackv2(npm) - 4th and 5th package in the ongoingkingsize+limbomail.com+lunexindonesia/node-net-pooldiscord-mfa-solver Windows-RAT campaign. Identical loader stub to priordiscord-mfa-solver(MAL-2026-16100),discord-mfav3.0.1,mfabyv1.0.0,mfakit. OSV MAL-2026-17864/17865.
Typosquat and probes
Cluster G opencode2* (npm, 10 slugs) is a 1-to-1 mimic of the real @opencode-ai/cli platform-binary distribution (top-level + 9 platform-arch slugs served via optionalDependencies). All CWE-506 "fully compromised" boilerplate. Cluster H @chatest/baileys is a 61st family in yesterdays Baileys/libsignal lure operator wave 3. **Cluster I** rounds out with 4 dep-confusion/pentest probes: brass-common@99.9.1 (npm, OpenSSF-flagged suspicious domain), crelic-bqwheel-52f66a3f1d@0.0.1 (PyPI, "probably pentest" BigQuery UDF research with .pth-hijack), @kre64/hello-npm-test@1.0.0 (npm, boilerplate), yoodan-github-single-ver-pkg@1.0.1` (npm, boilerplate).
Classification
sweep. Severity high taken as a whole, driven by six confirmed-payload clusters (A orderly-plugin-liquidity-heatmap, B fontcase, C sysdiagd, D pyyi, E Accenture dep-confusion with C2, F passwordcracker discord-mfa continuation). The typosquat (Cluster G) and small probes (Cluster I) would be medium on their own but do not reduce overall sweep severity.
Discovery
GitHub Advisory Database, OpenSSF malicious-packages, OpenSSF Package Analysis, Amazon Inspector (IN-MAL feed), kam193/bad-packages, InvisiRisk, Inc., SafeDep, smiling-hyena, npm security, PyPI security.
23 packages 34 versions
- npm@accenturecodefoundry/mfe-pot-shared-ui-scds-core99.99.299.99.499.99.41→
- npm@chatest/baileys*→
- npm@kre64/hello-npm-test1.0.0→
- npm@newspage/lib-ng-async-routes-ui*→
- npm@newspage/libx-amount*→
- npmbrass-common99.9.1→
- PyPIcrelic-bqwheel-52f66a3f1d0.0.1→
- PyPIfontcase0.1.00.1.10.1.2→
- npmopencode2*→
- npmopencode2-darwin-arm64*→
- npmopencode2-darwin-x64*→
- npmopencode2-linux-arm64*→
- npmopencode2-linux-arm64-musl*→
- npmopencode2-linux-x64*→
- npmopencode2-linux-x64-musl*→
- npmopencode2-windows-arm64*→
- npmopencode2-windows-x64*→
- npmorderly-plugin-liquidity-heatmap1.0.01.0.11.0.21.0.31.0.41.0.6→
- npmpasswordcracker*→
- npmpasswordcrackv2*→
- PyPIpyyi2.4.1→
- PyPIsysdiagd1.2.11.2.21.2.3→
- npmyoodan-github-single-ver-pkg1.0.1→
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 - npm
orderly-plugin-liquidity-heatmapGitHub Actions GITHUB_TOKEN abuse (malicious-package, confirmed payload with novel CI-token write-back mechanism):orderly-plugin-liquidity-heatmap(1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.6; GHSA-fp2f-2254-46g7, OSV MAL-2026-17848). Publisherdumtbanon npm pushed six versions between 13:12 and 16:05 UTC on 2026-10-11, each extending the previous versions reach into the installers CI runner. The package exports an empty stub and advertises itself as "a liquidity heatmap plugin for the Orderly Network orderbook widget" - the real behavior is in apostinstallhook that runsnode ./scripts/setup.js. On an installers GitHub Actions runner the hook: (1) collects runner host, user, repository name, environment variable names, GITHUB_TOKEN presence and length, and network egress; (2) requests an OIDC token fromACTIONS_ID_TOKEN_REQUEST_URL; (3) **from 1.0.2 onwards, uses the workflows GITHUB_TOKEN to commitheatmap-setup-report.jsonto the default branch of the installing repository (a verifiable write-back indicator); (4) from 1.0.4/1.0.6, additionally force-pushes aheatmap-setup-<timestamp>git tag using the credentials thatactions/checkoutpersists in.git/config*. Credited to InvisiRisk, Inc. Severityhighon this package alone - the CI-token write-back means every victim repo whose default branch hasheatmap-setup-report.jsonor whose tag list has a `heatmap-setup-` tag has already given the operator write access to their default branch at least once; roll back those commits/tags, rotate anything the workflow could reach, and investigate what other write-backs the operator may have made under the same token - Cluster B - PyPI
fontcaseinfostealer + Telegram bot C2 (malicious-package, confirmed payload with named stealer-module list):fontcase(0.1.0, 0.1.1, 0.1.2; GHSA-g72q-7v8m-7r9j, OSV MAL-2026-17862, campaign tag2026-10-fontcase). On import, the package downloads and executesprocess-manager.exefromgithub.com/unicodeces/font-atlas(three distinct raw-file URLs plus the repo page serve the same payload). The infostealer uses a Telegram bot for C2 and exfiltrates browser data and credentials. A VirusTotal detection page, a Tria.ge sandbox report, and thekam193reporters own detail page corroborate the behavior. Severityhighfor this package alone (confirmed infostealer with named sink and payload URL - anypip install fontcase` on a Windows host with a browser profile should be treated as credential-compromised) - Cluster C - PyPI
sysdiagdDiscord-bot RAT (malicious-package, confirmed multi-capability RAT+infostealer+spyware):sysdiagd(1.2.1, 1.2.2, 1.2.3; GHSA-64w9-pjq6-x8rh, OSV MAL-2026-17861, campaign tag2026-10-sysdiagd). The package presents itself as a system monitoring tool but delivers a Discord bot acting as a RAT. Confirmed capabilities per the OSV record: credentials, browser data, and file theft; audio recording, screenshot capture, video capture; persistence; infostealer and spyware. The bot needs operator-supplied Discord credentials to activate - installations without the operators credentials are latent but everypip install sysdiagdhas still installed a RAT whose activation is one Discord token away. Severityhigh` for this package alone (confirmed multi-capability RAT at import time) - Cluster D - PyPI
pyyipython2interpreter impersonator (malicious-package, confirmed covert REPL input capture + in-memory remote-payload exec):pyyi(2.4.1; GHSA-4vr9-vg98-9xpf, OSV MAL-2026-17866, wheel SHA-256003828175a747a9a3de8029e6a028ad2c3739abf1dad7b468b25636e391e91f4). The wheel declares a console command namedpython2(entry pointpyyi.cli:main). On first run the REPL registers withpreview-chat-960504a9-b4e0-4b69-bc80-6ac3d4fa4ae0.space-z.ai/api/cli/init(host+OS fingerprint), stores the returnedapiKeyin~/.python2/config.json, then shows a NORMAL Python banner so the operator cannot tell they are inside the impersonator. Single-token user inputs that match the eligibility filter are silently POSTed to/api/cli/unlockas thepasswordfield (that is: any string a developer types at a REPL prompt expecting Python 2 behavior could be leaked). Therun_payload()path fetches code from/api/cli/payload, decodes/decompresses it, and runs it in memory viaexecatpyyi/cli.py:640. Severityhigh(confirmed functional covert REPL exfil + remote in-memory exec; any dev who ranpython2on a host wherepyyiwas installed has leaked whatever they typed tospace-z.ai) - Cluster E - npm
@accenturecodefoundry/mfe-pot-shared-ui-scds-coreAccenture internal-scope dep-confusion with confirmed C2 (dependency-confusion, confirmed payload beyond CWE-506 boilerplate):@accenturecodefoundry/mfe-pot-shared-ui-scds-core(99.99.2, 99.99.4, 99.99.41; GHSA-36v8-chg8-q674, OSV MAL-2026-17867). Operatorpriyashareekon npm. Preinstall hooknode index.js || trueruns on install (the|| truesuppresses errors so the install succeeds silently). Beacon payload by version: 99.99.2 sends hex-encoded hostname+username toaccenture-npm.azurewebsites.net/test; 99.99.4 beaconsaccenture-npm.azurewebsites.net/async; 99.99.41 beaconsaccenture-npm.azurewebsites.net/mfe. Each beacon leaks the victims egress IP and confirms the dep-confusion resolved against Accenture Code Foundrys internal registry. Same publisher also controls@newspage/libx-amountand@newspage/lib-ng-async-routes-ui, which call back to the same host (second internal-scope target@newspageon the same operator). Credited by InvisiRisk, Inc. and SafeDep. Severityhighfor this cluster alone (dep-confusion WITH confirmed C2 - unlike most dep-confusion probes which stop at a DNS beacon, this one has an actual outbound HTTPS write and a developing payload surface). Any Accenture Code Foundry team using@accenturecodefoundry/*or@newspage/*internally should scope-lock their internal registry immediately - Cluster F - npm
passwordcracker+passwordcrackv2kingsize-operatorlimbomail.com+lunexindonesia/node-net-poolcontinuation of discord-mfa-solver campaign (malicious-package, confirmed Windows RAT loader with persistence):passwordcracker(all versions; GHSA-jwr3-9ch5-2qw5, OSV MAL-2026-17864) andpasswordcrackv2(all versions; GHSA-75f2-wpm3-2h52, OSV MAL-2026-17865). Operatorkingsizeon npm, published 2026-10-09/10. Both packages claim to be a "dependency-free Discord MFA library"; both ship identical loader code inlib/cache.js(SHA-25640ad444731103c356ac7643b1a58e6093fcce1ea2f43977fb07f34833d37178a) thatrequire()snode-net-poolon load.node-net-poolis pulled fromgithub.com/lunexindonesia/node-net-poolandgithub.com/trktgq0wbre1/node-net-pool. On Windows the second stage downloads a third-stage script fromlimbomail.com, saves it as a hiddenwinsvc.jsin%APPDATA%,%LOCALAPPDATA%, or%TEMP%, and launches it via a hiddenWinSvcHost.vbs. Persistence through HKCURun(valueWinSvcHost),RunOnce(valueWinSvcHostUpd),UserInitMprLogonScript, and aWinSvcHost.lnkStartup shortcut; the loader re-checks for updates every two hours. Same loader stub previously appeared indiscord-mfa-solver(MAL-2026-16100,discord-mfav3.0.1,mfabyv1.0.0,mfakit) - this is a 4th+5th package in the long-runningkingsize/limbomail.comWindows-RAT campaign targeting the Discord-MFA niche. Severityhighfor this cluster (confirmed functional Windows RAT with persistence; dev-workstation and juvenile-user hosts; credentials recycled across Discord/Google/Microsoft catastrophic) - *Cluster G - npm `opencode2
10-slug typosquat family of@opencode-ai/cli(typosquat, 10 packages, all CWE-506 boilerplate takedowns following the real@opencode-ai/cliplatform-binary split)**:opencode2(GHSA-8w65-j2wh-mqv7, OSV MAL-2026-17852) plus 9 platform-binary slugs matching the real@opencode-ai/cliprebuild distribution pattern:opencode2-darwin-arm64(GHSA-36mq-frp2-jc97),opencode2-darwin-x64(GHSA-pmv2-r2q9-rmg9),opencode2-linux-arm64(GHSA-xwcq-r6hw-mc5p),opencode2-linux-arm64-musl(GHSA-cm8m-24p9-hh65),opencode2-linux-x64(GHSA-3jr5-3qvm-r54h),opencode2-linux-x64-musl(GHSA-qx7m-vw4p-xv3j),opencode2-windows-arm64(GHSA-xr5m-85hf-27r5),opencode2-windows-x64(GHSA-6x5j-r784-fx6j),opencode2-darwin-arm64(GHSA-36mq-frp2-jc97). The realopencodeSST CLI publishes a top-level package plus one per-platform binary slug viaoptionalDependencies, so aopencode2typosquat installing the matching platform binary is a transparent 1-to-1 mimic of the authentic distribution shape - meaning a developer who runsnpm install opencode2will cross-fetch whichever platform-arch slug matches their OS without any additional CLI argument. All CWE-506 "fully compromised" boilerplate advisories with no shipped IOC body. Severitymedium` for the typosquat (install-time code execution risk per OSSF typosquat pattern, no vendor runtime analysis published yet) - Cluster H - npm
@chatest/baileysBaileys lure operator wave 3 continuation (malicious-package, continuation of 2026-10-13 sweep Cluster A@WhiskeySockets/BaileysWhatsApp-automation lure campaign):@chatest/baileys(all versions; GHSA-c2gc-jwcq-w8r3). The@chatestscope is a new 61st family in the Baileys/libsignal lure operator wave 3 that peaked on 2026-10-13 with 60+ packages across 30+ publisher scopes. CWE-506 "fully compromised" boilerplate with no shipped IOC. Same operator-side pattern: brand-impersonation of the real@WhiskeySockets/baileysWhatsApp-automation library consumer base (small-business/consumer WhatsApp-bot developers on cheap VPS instances). Severitymediumfor the cluster alone (install-time recon per campaign pattern, no shipped IOC in this GHSA) - Cluster I - npm/PyPI dep-confusion probes and pentest artefacts (dependency-confusion or malicious-package; 4 packages, all low-info CWE-506 boilerplate):
brass-common@99.9.1(npm, GHSA-fcgr-wqxm-5qqr, OSV MAL-2026-17849 - OpenSSF Package Analysis flagged "communicates with a domain associated with malicious activity"; sentinel version 99.9.1 is the signature);crelic-bqwheel-52f66a3f1d@0.0.1(PyPI, GHSA-xwrx-mm2v-334v, OSV MAL-2026-17863 - package self-describes as "research for BigQuery user-defined functions"; collects hostname/IP/username; abuses Python.pthfiles to run code at interpreter startup; classified by OSSF as "probably pentest" but still malicious);@kre64/hello-npm-test@1.0.0(npm, GHSA-c43r-xf4h-m548 - test-pattern name, CWE-506 boilerplate only);yoodan-github-single-ver-pkg@1.0.1(npm, GHSA-2946-w5c6-hcw2 - "single-version package" naming is the signature of a 2024-era bug-bounty automation probe). Severitymediumfor each (CWE-506 boilerplate;brass-commonandcrelic-bqwheel-52f66a3f1dhave corroborating OpenSSF notes, the other two are plain takedowns) - Operator continuity: today
s material continues several operators tracked across this week: **Baileys/libsignal lure operator wave 3** (@chatest/baileysextends yesterdays 60+ package wave to 61 scopes - same@WhiskeySockets/Baileysconsumer-base targeting).kingsize+limbomail.com+lunexindonesia/node-net-pooldiscord-mfa Windows-RAT campaign (passwordcracker + passwordcrackv2 are the 4th and 5th package in the chain previously comprisingdiscord-mfa-solver,discord-mfa,mfaby,mfakit).priyashareekAccenture+@newspage dep-confusion operator (new today - 3 Accenture-brand versions + 2 @newspage sibling packages targeting the sameaccenture-npm.azurewebsites.netC2).dumtbanorderly-plugin GitHub Actions CI-token-abuse operator (new today - 6-version burst on 2026-10-11, 3 hours of iteration refining the GITHUB_TOKEN write-back payload).kam193continues as the top PyPI malware reporter (fontcase, sysdiagd, and other recent carve-outs attributed). No new activity from: s4yhii operator (yesterdays wave 3 quiet after@s4yhiitestpoc/r2-https-b), 185.158.107.175 operator, 64.181.165.115 operator,hardhat-optionoperator,agentaixoperator,wgkitRubyGems operator,xwise8887,sharpnescrates.io,@tunstock/remact-dom, Wix dep-confusion,nfjbill,@bitwardne/*,reaperhackbot256f,ig-goxall quiet. TensorLake AI maintainer compromise ([2026-10-08 carve-out](/incident/npm-2026-10-08-tensorlake-maintainer-compromise)) remains quiet attensorlake@0.5.145` with no wave-2 republish
Clean-up steps
- For Cluster A (
orderly-plugin-liquidity-heatmapCI-token abuse): grep everypackage.json,package-lock.json,yarn.lock,pnpm-lock.yamlfororderly-plugin-liquidity-heatmap(versions 1.0.0-1.0.6). On ANY hit on a repo whose CI runsnpm installwith a GITHUB_TOKEN: (1) check the default branch git log for a commit addingheatmap-setup-report.jsonand REVERT it; (2) list repository tags for anything matchingheatmap-setup-*and DELETE them (git push origin --delete tag heatmap-setup-<timestamp>); (3) check forheatmap-exec-trace.logunder any CI artifact storage; (4) rotate every secret, OIDC trust, and PAT the workflows GITHUB_TOKEN could reach; (5) audit any OTHER commits or tags pushed from that workflow in the exposure window (the operator may have made additional write-backs under the same token the advisory did not catalogue). This operators write-back mechanism means the usual "remove node_modules, pin away" response is insufficient - you also need to clean up the repository state the operator left behind - For Cluster B (PyPI
fontcaseinfostealer + Telegram bot): grep everyrequirements.txt,pyproject.toml,Pipfile.lock,poetry.lock,uv.lock,pdm.lock,conda envforfontcase(versions 0.1.0, 0.1.1, 0.1.2). On hit, assume: Telegram-bot C2 established, browser credential vault extracted,process-manager.exedropped fromgithub.com/unicodeces/font-atlas. Block the GitHub repounicodeces/font-atlasat any workstation egress filter (its raw-file URLs are the payload serve). Image the host. The Telegram-bot pattern means the operator can walk back the C2 trail from Telegram if you capture the bot token in an on-host IR step - For Cluster C (PyPI
sysdiagdDiscord RAT): grep forsysdiagd(versions 1.2.1, 1.2.2, 1.2.3). On hit on a Windows/Linux dev host, assume the RAT is installed and latent (waiting for operator Discord credentials). Image the host regardless of whether the operator has activated it - a latent RAT with persistence is still a persistent presence. Audit for Discord bot-token traffic. Rotate browser-stored credentials and 2FA seeds - For Cluster D (PyPI
pyyipython2 impersonator): grep forpyyi(version 2.4.1). On hit, treat EVERY developer that typed intopython2on that host as having leaked their input tospace-z.ai. Rotate the specific credentials they would have typed at a REPL prompt (one-off API tokens pasted for a smoke test, DB connection strings tested from a shell, SSH keys unlocked at a prompt). Blockspace-z.aiapex at egress; delete~/.python2/config.json; audit~/.local/bin/python2and remove it. Teach contributors thatpython2is end-of-life and the ONLYpython2command is one your distro orpyenvinstalled - apython2installed bypipis an impersonator by construction - For Cluster E (
@accenturecodefoundry+@newspageAccenture dep-confusion): grep for@accenturecodefoundry/mfe-pot-shared-ui-scds-core(99.99.2, 99.99.4, 99.99.41),@newspage/libx-amount,@newspage/lib-ng-async-routes-ui. Any Accenture Code Foundry team using@accenturecodefoundry/*or@newspage/*internally should immediately scope-lock the internal registry (npm config set @accenturecodefoundry:registry https://internal-registry && npm config set @newspage:registry https://internal-registry) and hold both public scopes with placeholder packages at a safe version. Blockaccenture-npm.azurewebsites.netat egress on all CI/build hosts. Audit CI logs for outbound requests to/test,/async,/mfeunder that host. The sentinel-version pattern (99.99.x) is the dep-confusion operator-side signature - teach contributors that any99.99.*npm version is suspect by construction - For Cluster F (
passwordcracker+passwordcrackv2limbomail.comcontinuation): grep forpasswordcracker,passwordcrackv2, and the siblingdiscord-mfa-solver,discord-mfa,mfaby,mfakit(any version of any of them). On a Windows host that installed any of these, treat as fully compromised: check%APPDATA%,%LOCALAPPDATA%,%TEMP%forwinsvc.jsandWinSvcHostCfg.vbs; check HKCURunfor valueWinSvcHost,RunOnceforWinSvcHostUpd,UserInitMprLogonScript; check Startup folder forWinSvcHost.lnk; purge all of them. Addlimbomail.comapex to the standing egress denylist; addgithub.com/lunexindonesia/node-net-poolandgithub.com/trktgq0wbre1/node-net-poolto the egress block (anynode-net-poolnpm/GitHub reference is suspect). Rotate Discord tokens, Microsoft Account, Google Account credentials - the Discord-MFA niche overlaps with juvenile-user hosts where credential reuse is the norm - *For Cluster G (`opencode2
typosquat family)**: grep for the top-levelopencode2AND any of its 9 platform-binary slugsopencode2-darwin-arm64,opencode2-darwin-x64,opencode2-linux-arm64,opencode2-linux-arm64-musl,opencode2-linux-x64,opencode2-linux-x64-musl,opencode2-windows-arm64,opencode2-windows-x64. On hit, remove and pin away; the real package is@opencode-ai/cli(oropencodetop-level, which also exists under theopencode-aiorg) - teach contributors the authentic name and warn thatopencode2` is a typosquat. CWE-506 boilerplate means the specific payload is undocumented; treat the install as credential-compromised until Socket or a vendor publishes a runtime analysis - For Cluster H (
@chatest/baileysBaileys lure wave 3 extension): grep for@chatest/baileys(any version). Standing guidance from yesterdays wave 3 cluster A still applies: the ONLY legitimate upstream is@whiskeysockets/baileys(lowercase, hyphen-free). Add@chatestscope to the internal denylist alongside the 30+ Baileys-lure scopes from yesterdays sweep. If any WhatsApp-automation workload installed@chatest/baileys, rotate the VPS cloud-provider API keys and any Telegram/WhatsApp bot tokens on the host (Baileys-consumer audience pattern) - For Cluster I (small dep-confusion/pentest probes): grep for
brass-common@99.9.1(npm),crelic-bqwheel-52f66a3f1d@0.0.1(PyPI),@kre64/hello-npm-test@1.0.0(npm),yoodan-github-single-ver-pkg@1.0.1(npm). On hit, remove, invalidate any Docker layer or build cache that rannpm install/pip install, and audit CI logs for environment-variable leakage. Forcrelic-bqwheel-52f66a3f1d, also check~/.pthfiles andsite-packages/*.pthfor interpreter-startup hijacks - NEW outbound denylist entries for CI/build-host egress proxies today:
accenture-npm.azurewebsites.netapex +/test+/async+/mfepaths (Cluster E@accenturecodefoundry+@newspagedep-confusion C2);limbomail.comapex (Cluster Fpasswordcrackerthird-stage payload serve);github.com/lunexindonesia/node-net-pool+github.com/trktgq0wbre1/node-net-poolrepo URLs (Cluster F loader source);github.com/unicodeces/font-atlasrepo URL (Cluster Bfontcasepayload serve - block raw-file access specifically);space-z.aiapex +preview-chat-960504a9-b4e0-4b69-bc80-6ac3d4fa4ae0.space-z.ai+b196q82k8891-d.space-z.aisubdomains (Cluster DpyyiREPL C2). Keep prior egress blocks in place:collector.oob.s4yhii.com+*.oob.s4yhii.com+s4yhii.comapex,64.181.165.115/dc,167.88.172.33:8087+jsonspack.compublisher-email,goxtools.shopapex,minhdong.siteapex + GitHub userVangBanLaNhat,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.ioapex,googleforum.pythonanywhere.com,tele.metry.orgin.net,morroncr0w.io,api.telegram.orgon untrusted CI/build hosts,appsecc.com,webhook.site/*,dxpoc.gt.tc,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.compublisher-email domain,45.138.0.0/16RubyGems wgkit CIDRs
Sources
- GitHub Advisory Database - recent malware advisoriesgithub.com
- GHSA-fp2f-2254-46g7 - npm orderly-plugin-liquidity-heatmap (Cluster A - GITHUB_TOKEN write-back to victim repo, MAL-2026-17848, publisher dumtban, 6 versions in 3h)github.com
- OSSF malicious-packages MAL-2026-17848 raw record (orderly-plugin-liquidity-heatmap IOCs: heatmap-setup-report.json, heatmap-setup-* tags, heatmap-exec-trace.log, per-version SHA-256s)github.com
- GHSA-g72q-7v8m-7r9j - pypi fontcase (Cluster B - infostealer + Telegram bot, campaign 2026-10-fontcase, MAL-2026-17862)github.com
- OSSF malicious-packages MAL-2026-17862 raw record (fontcase: process-manager.exe payload from github.com/unicodeces/font-atlas, Telegram bot C2, VirusTotal + Tria.ge references)github.com
- GHSA-64w9-pjq6-x8rh - pypi sysdiagd (Cluster C - Discord-bot RAT with cred/browser/file theft + audio/screenshot/video capture, campaign 2026-10-sysdiagd, MAL-2026-17861)github.com
- OSSF malicious-packages MAL-2026-17861 raw record (sysdiagd Discord-bot infostealer+RAT capability list)github.com
- GHSA-4vr9-vg98-9xpf - pypi pyyi (Cluster D - python2 REPL impersonator, space-z.ai C2 /api/cli/init /unlock /payload, in-memory exec, MAL-2026-17866)github.com
- OSSF malicious-packages MAL-2026-17866 raw record (pyyi IOCs: wheel SHA-256 003828175a..., space-z.ai subdomains, three C2 URLs)github.com
- GHSA-36v8-chg8-q674 - npm @accenturecodefoundry/mfe-pot-shared-ui-scds-core (Cluster E - Accenture internal-scope dep-confusion with accenture-npm.azurewebsites.net C2, operator priyashareek, MAL-2026-17867)github.com
- OSSF malicious-packages MAL-2026-17867 raw record (@accenturecodefoundry IOCs: /test /async /mfe paths, per-version SHA-256s, sibling @newspage packages, finders InvisiRisk + SafeDep)github.com
- GHSA-jwr3-9ch5-2qw5 - npm passwordcracker (Cluster F - kingsize+limbomail.com+lunexindonesia node-net-pool continuation, MAL-2026-17864)github.com
- GHSA-75f2-wpm3-2h52 - npm passwordcrackv2 (Cluster F - identical loader to passwordcracker, MAL-2026-17865)github.com
- OSSF malicious-packages MAL-2026-17864 raw record (passwordcracker IOCs: lib/cache.js SHA-256, winsvc.js dropper paths, HKCU persistence keys, limbomail.com + lunexindonesia + trktgq0wbre1 node-net-pool references)github.com
- MAL-2026-16100 (prior discord-mfa-solver record linking the identical loader stub)github.com
- GHSA-8w65-j2wh-mqv7 - npm opencode2 (Cluster G - top-level typosquat of @opencode-ai/cli, MAL-2026-17852)github.com
- GHSA-36mq-frp2-jc97 - npm opencode2-darwin-arm64 (Cluster G - macOS ARM64 platform-binary typosquat)github.com
- GHSA-pmv2-r2q9-rmg9 - npm opencode2-darwin-x64 (Cluster G - macOS Intel platform-binary typosquat)github.com
- GHSA-xwcq-r6hw-mc5p - npm opencode2-linux-arm64 (Cluster G - Linux ARM64 platform-binary typosquat)github.com
- GHSA-cm8m-24p9-hh65 - npm opencode2-linux-arm64-musl (Cluster G - Linux ARM64 musl platform-binary typosquat)github.com
- GHSA-3jr5-3qvm-r54h - npm opencode2-linux-x64 (Cluster G - Linux x64 platform-binary typosquat)github.com
- GHSA-qx7m-vw4p-xv3j - npm opencode2-linux-x64-musl (Cluster G - Linux x64 musl platform-binary typosquat)github.com
- GHSA-xr5m-85hf-27r5 - npm opencode2-windows-arm64 (Cluster G - Windows ARM64 platform-binary typosquat)github.com
- GHSA-6x5j-r784-fx6j - npm opencode2-windows-x64 (Cluster G - Windows x64 platform-binary typosquat)github.com
- GHSA-c2gc-jwcq-w8r3 - npm @chatest/baileys (Cluster H - Baileys/libsignal lure operator wave 3 continuation, 61st family in the campaign)github.com
- GHSA-fcgr-wqxm-5qqr - npm brass-common (Cluster I - sentinel 99.9.1 dep-confusion probe with OpenSSF-flagged malicious domain, MAL-2026-17849)github.com
- GHSA-xwrx-mm2v-334v - pypi crelic-bqwheel-52f66a3f1d (Cluster I - BigQuery UDF research pentest probe with .pth-hijack, MAL-2026-17863)github.com
- GHSA-c43r-xf4h-m548 - npm @kre64/hello-npm-test (Cluster I - test-pattern name, CWE-506 boilerplate)github.com
- GHSA-2946-w5c6-hcw2 - npm yoodan-github-single-ver-pkg (Cluster I - "single-version-package" naming signature of 2024-era bug-bounty automation probe)github.com
- DependencyWatch: multi-2026-10-13-ghsa-malware-sweep (prior-day context: Baileys lure wave 3 60+ packages, npp-ml AD-recon, minecraftaccfinder infostealer+RAT, wallet-balance-scanner reverse-shell, s4yhii wave 3)dependencywatch.io
- DependencyWatch: multi-2026-10-12-ghsa-malware-sweep (s4yhii wave 3 kickoff + Coopeuch, 185.158.107.175 beacon.cjs wave 2, hardhat-option infostealer)dependencywatch.io
- DependencyWatch: npm-2026-10-08-tensorlake-maintainer-compromise (recent maintainer-compromise carve-out, standing watch)dependencywatch.io
- DependencyWatch: npm-2026-10-12-hridoy-ultimate-fb-credential-stealer (recent FB credential-sink carve-out)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.