GitHub Advisory malware sweep, 22 October 2026
GHSA 2026-10-21/22 batch (~55 advisories). Headlines: new npm @sudobility/* XMRig cryptominer cluster (4 packages, confirmed scripts/miner.sh postinstall dropping XMRig via a presigned S3 URL and mining to networkservicesupp.flashhub.net:8443, with root-escalation branch via sudo); new PyPI 2026-10-voice-synthesis-profiles kam193 loader campaign (43 packages, all 0.1.0, OSSF-flagged MALICIOUS remote-script loaders with unknown second-stage); new PyPI 2026-10-iterquarry split-payload family (iterquarry + libseal co-publishing cipher and ciphertext); new PyPI 2026-10-journey-test-helloshell reverse-shell family (2 packages with env-var exfil at install time).
Published 22 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
- 22 Oct 2026
- Ecosystems
- npmPyPI
- Detected by
- GitHub Advisory Database, OpenSSF malicious-packages, Amazon Inspector, kam193 bad-packages
- Also known as
- 2026-10-22 GHSA sweep, @sudobility XMRig miner cluster, networkservicesupp.flashhub.net Monero pool operator
- 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-21 06:00 UTC (yesterdays sweep cut-off) and 2026-10-22 06:00 UTC (todays ingest-window start), the GitHub Advisory Database published ~55 fresh malware advisories across npm and PyPI. Three clusters today carry fully-analyzed malicious payloads (the npm @sudobility/* XMRig miner cluster, the PyPI 2026-10-journey-test-helloshell reverse-shell family, and the PyPI 2026-10-iterquarry split-payload family). The headline campaign by raw volume is the PyPI 2026-10-voice-synthesis-profiles kam193 loader batch (43 packages in a single day).
Headlines
*npm `@sudobility/ XMRig miner** (Cluster A, 4 packages): first-publish lure cluster under a fake vendor scope @sudobility. scripts/miner.sh postinstall hook fetches a presigned Amazon S3 URL (embedded AWS access key), decompresses to /tmp/.smi, and runs. Unprivileged branch installs XMRig under disguised names; privileged branch (root or passwordless sudo) runs /tmp/.smi agent for Tor-relay + cron persistence. Mining pool: networkservicesupp.flashhub.net:8443`.
PyPI 2026-10-voice-synthesis-profiles loader campaign (Cluster B, 43 packages, all 0.1.0): kam193-tracked, OSSF-flagged MALICIOUS loader stubs. Published tarballs contain only a loader - the final payload is fetched from a runtime-supplied URL and has not been reconstructed publicly. Naming theme is TTS / voice synthesis / ASR / audio - the operator is seeding typosquats of the growing TTS / voice-cloning tool ecosystem.
PyPI 2026-10-iterquarry split-payload family (Cluster C): iterquarry carries an encrypted payload, libseal carries the decryption algorithm. Historical versions embedded the key and used a Discord bot C2. Current versions have the key removed.
PyPI 2026-10-journey-test-helloshell reverse-shell family (Cluster D, 2 packages): setup.py overrides install, exfils env vars at install time, and includes a reverse shell. OSSF-flagged MALICIOUS with targeted-attack tag.
Backfill (Cluster E): three npm CWE-506 boilerplate advisories ingested after yesterdays cut-off (@worrisome/reutil, @worrisome/aaaa, unscoped peptide-modify`).
Classification
sweep. Severity high (upgraded from the sweep baseline medium) because Clusters A, C and D carry confirmed malicious payloads (XMRig miner with root escalation, split-payload cipher pair, reverse shell with env-var exfil). None of the clusters reaches critical - all are impersonators or first-publish lures with no legitimate upstream hijacked, so the reach is limited to whoever installs by mistake.
Discovery
GitHub Advisory Database, OpenSSF malicious-packages, Amazon Inspector (Cluster A representative sources), kam193 bad-packages (Clusters B, C, D source hashes and campaign tags).
54 packages 62 versions
- npm@sudobility/indexer_client0.0.146→
- npm@sudobility/shaperouter_client0.0.14→
- npm@sudobility/testomniac_client0.0.131→
- npm@sudobility/wildduck_client2.3.102→
- npm@worrisome/aaaa*→
- npm@worrisome/reutil*→
- PyPIacoustichub0.1.0→
- PyPIacousticpack0.1.0→
- PyPIasrdock0.1.0→
- PyPIasrloom0.1.0→
- PyPIaudiokit0.1.0→
- PyPIaurenatts0.1.0→
- PyPIbatchspar0.1.0→
- PyPIbenchbridge0.1.0→
- PyPIbenchworks0.1.0→
- PyPIbrummatts0.1.0→
- PyPIcodecraze0.1.0→
- PyPIcrenelatts0.1.0→
- PyPIdictanovaasr0.1.0→
- PyPIevalstream0.1.0→
- PyPIgrommatts0.1.0→
- PyPIhookgantry0.1.0→
- PyPIiterquarry2.1.12.1.22.1.32.1.42.2.02.2.1→
- PyPIjourney-test-helloshell0.2.0→
- PyPIjourney-test-hellospy0.1.1→
- PyPIlibseal1.1.01.1.11.1.21.1.3→
- PyPImelcuratts0.1.0→
- PyPImodelworks0.1.0→
- PyPIorchestril0.1.0→
- npmpeptide-modify*→
- PyPIphonemeforge0.1.0→
- PyPIphonemeprobe0.1.0→
- PyPIphonoviatts0.1.0→
- PyPIpipegrip0.1.0→
- PyPIprosodinetts0.1.0→
- PyPIquillonatts0.1.0→
- PyPIshellgrip0.1.0→
- PyPIsolivoxtts0.1.0→
- PyPIsoundsocket0.1.0→
- PyPIspeakbench0.1.0→
- PyPIspeaksocket0.1.0→
- PyPIspeechprobe0.1.0→
- PyPItessivatts0.1.0→
- PyPIttsdock0.1.0→
- PyPIttsflow0.1.0→
- PyPIttsprobe0.1.0→
- PyPIttsweaver0.1.0→
- PyPIvellutts0.1.0→
- PyPIvocabbench0.1.0→
- PyPIvocabblend0.1.0→
- PyPIvoicekit0.1.0→
- PyPIvoxilaratts0.1.0→
- PyPIvoxweaver0.1.0→
- PyPIzennittts0.1.0→
These are usually pulled in as transitive dependencies rather than installed directly. Check your whole tree at once. It runs in your browser and nothing is uploaded.
What it does if you installed it
- *Cluster A - npm `@sudobility/
XMRig cryptominer cluster (malicious-package; CONFIRMED install-time XMRig drop + root-escalation branch; all 4 published 2026-10-22; same payload shape across all 4 - ascripts/miner.shpostinstall hook fetches a gzipped stage from an attacker-controlled Amazon S3 bucket via a presigned URL that embeds an AWS access key, decompresses it to/tmp/.smi, and runs it; **unprivileged branch** extracts an XMRig cryptominer (binary written to$HOME/.local/lib/under disguised system-service names likeedid-mon,smmon,irqstatsd,kmod-cache), drops a Monero pool config at$HOME/.sysmond.jsontargetingnetworkservicesupp.flashhub.net:8443, and launches the miner undernohup; **privileged branch** (root OR passwordless sudo) runs/tmp/.smi agentto install a persistent agent, with the scripts own comments referencing stealth renaming, cron persistence, and a Tor relay)*:@sudobility/indexer_client@0.0.146(GHSA-2gvv-vgvw-559c, MAL-2026-18127, Amazon Inspector sourceb374713629b9be645f22b21fab5376e57a55d3001c72a1e55e1e8dfb6e40a27b),@sudobility/shaperouter_client@0.0.14(GHSA-mj95-29f2-vxg2, MAL-2026-18128, sourcebebe636755cc09ce542fb69853676ec9b9cc46752d88265037cc4d4a1487e503),@sudobility/testomniac_client@0.0.131(GHSA-58jf-66x8-7q28, MAL-2026-18129, source42a9a6e0fb008dcc30d7f8a1c7f60a0dc47a941d2790d211cce968bb6726ced3- advertised as a TanStack Query client),@sudobility/wildduck_client@2.3.102(GHSA-vhv8-cmrm-5fpr, MAL-2026-18130, sourcea4524dc6ef26909f4ddfaf83eae1ec13495a5b2aef57375c0a8d8ad4c0609637- advertised as a WildDuck email-server client). The@sudobilityscope is operator-controlled and the four slugs reuse plausible open-source library names - this is a first-publish lure cluster under a fake vendor scope, not a hijack. Severityhighfor this cluster (confirmed install-time XMRig + root-escalation attempt, limited reach because nothing legitimate depends on `@sudobility/`) - Cluster B - PyPI kam193
2026-10-voice-synthesis-profilesloader campaign (malicious-package; OSSF-flaggedMALICIOUSwith reason "Downloads and executes a remote malicious script"; the published tarballs do NOT contain the malicious payload - they are loader stubs that fetch and execute code from a URL supplied at runtime; the second-stage URL and payload have not been published; 43 packages, all0.1.0, all 2026-10-22, all with the same kam193 loader shape; the naming theme (TTS / voice synthesis / ASR / audio) suggests the operator is seeding typosquats of the growing TTS / voice-cloning tool ecosystem): 12 TTS/voice slugs -ttsdock(GHSA-hxqp-f9h5-2vc7, MAL-2026-18169),voicekit(GHSA-pjwv-3r6v-rg4g),voxweaver(GHSA-cfc4-q58x-wcw2),ttsprobe(GHSA-mc55-9j2g-mq57),vocabbench(GHSA-wm6p-h4p6-jvwf),vocabblend(GHSA-mxx3-4m2r-m6x4),ttsflow(GHSA-6vj3-fvf7-2xw8),ttsweaver(GHSA-56xh-hrpc-q43f),soundsocket(GHSA-c6pp-w9mm-gmm2),speechprobe(GHSA-628w-95w3-p743),speakbench(GHSA-hfcr-gc92-xhqh),speaksocket(GHSA-m465-2c74-q5mr); 14*ttssuffix slugs -phonoviatts(GHSA-59g8-p4vg-hxmp),vellutts(GHSA-r648-hxrj-427m),voxilaratts(GHSA-2mv3-pcfq-c2wx),prosodinetts(GHSA-79r9-xhg8-fwh2),tessivatts(GHSA-53mw-w6xh-cphh),quillonatts(GHSA-2q7p-4pqj-r5g8),solivoxtts(GHSA-q9gf-mr6c-mcvv),zennittts(GHSA-h83c-2v4j-cmqg),aurenatts(GHSA-g7rh-4hgc-gg46),brummatts(GHSA-xmpf-26vw-3r44),crenelatts(GHSA-jqjw-jf8x-rqhx),melcuratts(GHSA-fxp8-9rp8-6c29),grommatts(GHSA-rjcv-pfv7-h9qx),dictanovaasr(GHSA-fx4q-4x54-9xcp); 5 ASR / audio slugs -asrdock(GHSA-pfmv-2f8f-956x),acoustichub(GHSA-r79r-f84p-h448),acousticpack(GHSA-pjv8-qmhr-3cj5),audiokit(GHSA-gvgp-r29f-8j66, MAL-2026-18158),asrloom(GHSA-5286-9g82-mpg2, MAL-2026-18157); 8 ML / eval misc slugs -modelworks(GHSA-cppv-x8vc-pgq6, MAL-2026-18162),hookgantry(GHSA-3368-f3gh-9vgp),phonemeprobe(GHSA-g278-p8f6-4gq2),pipegrip(GHSA-g6cv-p5vx-78jw),phonemeforge(GHSA-7w3g-7853-hfwg),benchworks(GHSA-cxwf-mm53-g7xh),benchbridge(GHSA-jqh2-q92v-g3m9),evalstream(GHSA-93qq-p7mf-hxr5); 4 misc -orchestril(GHSA-rrj6-3qm9-67cr, MAL-2026-18142),shellgrip(GHSA-8jxf-7hjv-2f3h, MAL-2026-18146),codecraze(GHSA-ph85-49q2-52ph, MAL-2026-18137),batchspar(GHSA-85jh-m5mm-cxm2, MAL-2026-18135). Severitymediumfor this cluster (loader stubs with no second-stage URL published; the kam193-tracked campaign is markedMALICIOUSand the operator shape - 43 one-shot0.1.0loaders under one campaign tag in a single day - is unusually heavy, so treat an environment that resolved any of these during the exposure window as a candidate compromise and quarantine for forensic review) - Cluster C - PyPI kam193
2026-10-iterquarrysplit-payload family (malicious-package; OSSF-flaggedMALICIOUSwith reasons "Obfuscation", "Malicious code intentionally included in a dependency of the package" and "Action hidden in library usage"; the campaign splits the attack across two co-published packages -iterquarrycarries the encrypted payload whilelibsealcarries the decryption algorithm; earlieriterquarryversions embedded the decryption key and contacted a Discord bot C2;iterquarry >= 2.2.0moved the key out of the package, so the second-stage behaviour on current versions is not reconstructed in public analysis):iterquarry@2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.2.0, 2.2.1(GHSA-jx5r-qjfm-5v26, MAL-2026-18131, source229de224c9319ae50283d0c8fb0f76e351d82327ac204193b7dd2d62026ee41d),libseal@1.1.0, 1.1.1, 1.1.2, 1.1.3(GHSA-8pwv-jgmv-fcm8, MAL-2026-18132, source7e6d706d49a7fce89545d12c5bd5a0cab0a4919a95ff89150b28cb838967bb09). Severitymedium(confirmed obfuscated payload split across two packages with a historical Discord C2, but current-version second-stage is not publicly reconstructed and reach is limited to whoever installs the pair by mistake) - Cluster D - PyPI kam193
2026-10-journey-test-helloshellreverse-shell family (malicious-package; OSSF-flaggedMALICIOUS+targeted-attack;setup.pyoverrides the install command so code runs duringpip install; confirmed reverse-shell code AND install-time environment-variable exfiltration - any.env-sourced secret, CI credential, or private key present in the install environment is in scope):journey-test-helloshell@0.2.0(GHSA-g885-3jpg-94hg, MAL-2026-18124, sourcebdf4549e34df1c1c7dfd704454011cf0a26ea5807948e917d7bc65f130182fc9, published 2026-10-21 but ingested overnight),journey-test-hellospy@0.1.1(GHSA-v8q8-jrm2-52jp, MAL-2026-18133, source418fea1fe789e9a44c77c08c9135b3da66b773882c9fb2757094c3f55b04321b). Thejourney-test-prefix suggests a staging / test / QA-flavoured internal-slug naming that targets organisations runningjourney-*namespaced internal pipelines. Severityhighfor this cluster (confirmed reverse-shell + env-var exfil at install time) - Cluster E - npm backfill from 2026-10-21 batch (CWE-506 boilerplate takedowns ingested after yesterday`s sweep cut-off; no vendor runtime analysis published; all 3 published 2026-10-21):
@worrisome/reutilall versions (GHSA-4f5p-mp5p-863f),@worrisome/aaaaall versions (GHSA-fxf3-w84v-3v6g - theaaaaslug self-identifies as a test / canary artefact),peptide-modifyall versions (GHSA-h643-5mcg-c726 - this is the UNSCOPED republish; the prior scoped@peptide-unit/peptide-modifyand@peptide-packets/peptide-modifyslugs were catalogued in the 2026-07-30 and 2026-07-31 sweeps - the operator has graduated the slug off its original biotech-impersonation scope). Severitymediumfor this cluster - Operator continuity:
kam193publishes three distinct campaigns in a single day (2026-10-voice-synthesis-profilesloaders,2026-10-iterquarrysplit-payload cipher pair,2026-10-journey-test-helloshellreverse-shell family), continuing the pattern that drove yesterdays [2026-10-21 sweep](/incident/multi-2026-10-21-ghsa-malware-sweep)2026-10-semvverPyPI typosquat family and2026-10-vacsdkdep-confusion probes. The@sudobilityscope is a NEW operator with a sharper real-world payload (XMRig + root-escalation) than any PyPI loader in the batch - treat the scope as an active probe pattern worth watching for wave 2. **No new activity** from the 2026-10-21 batchs 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 from yesterdays sweep. No new Baileys-lure wave 9 slugs today (operator cadence suggests another wave in 24-48 hours). No newsc-*Best Buy dep-confusion slugs today beyond yesterdayssc-announcer/sc-wizard. 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 (`@sudobility/
XMRig miner, CONFIRMED payload)**: grep everypackage.json,package-lock.json,pnpm-lock.yaml,yarn.lock,bun.lockand internal registry mirrors for@sudobility/indexer_client@0.0.146,@sudobility/shaperouter_client@0.0.14,@sudobility/testomniac_client@0.0.131,@sudobility/wildduck_client@2.3.102. On any hit on a Linux host that rannpm install: treat the host as compromised. **Hunt for the drop and persistence artefacts**:/tmp/.smi,$HOME/.sysmond.json,$HOME/.local/lib/entries under disguised system-service names (edid-mon,smmon,irqstatsd,kmod-cache), anynohupchild under those names, unexpected cron entries, and - on root-sudo hosts - any new Tor relay process orsystemdunit. **Egress block**:networkservicesupp.flashhub.net:8443on every host (Monero pool, sharp IOC). Also block egress to thes3.amazonaws.compresigned URL path the installer uses (specific bucket not published at advisory level - audit CI / dev-workstation egress logs for S3 presigned GETs during the exposure window). Any@sudobility/*` slug under any version is suspect by default - the scope is operator-controlled - For Cluster B (PyPI
2026-10-voice-synthesis-profilesloader campaign, 43 packages): grep everyrequirements.txt,pyproject.toml,Pipfile.lock,poetry.lock,uv.lock,pdm.lock,conda envand every internal PyPI mirror for the full slug list (all 43 at0.1.0). On any hit on any Python environment on any host that ranpip installsince 2026-10-22: treat the environment as a candidate compromise. The published tarballs do not carry the final payload but DO contain a loader stub that will fetch andexec()a remote URL under operator control - so the install-time behaviour on any environment that still has the package resident is to re-fetch and re-execute from that URL whenever the loader is imported. Uninstall the slug AND rebuild the environment rather than relying onpip uninstallalone. Rotate every secret the install environment could reach (CI tokens, cloud CLI credentials,.enventries, package registry credentials). Grep rules: block the full slug list on your public-PyPI denylist; addtts*,*tts,voice*,voc*,speak*,speech*,phonem*,acoustic*,asr*,audio*prefix / suffix patterns to your heightened-scrutiny list for the next 30 days - For Cluster C (
iterquarry+libsealsplit-payload family): grep every PyPI manifest foriterquarryat2.1.1,2.1.2,2.1.3,2.1.4,2.2.0,2.2.1, andlibsealat1.1.0,1.1.1,1.1.2,1.1.3. If BOTH packages are present together on the same host, the pair has had the opportunity to decrypt and execute the embedded ciphertext - treat the host as atreat as fully compromisedevent per the CWE-506 boilerplate. If only one of the two is present, the payload cannot execute without its sibling, but the slug is still an active-malicious artefact and the environment should be quarantined. Historical versions used a Discord bot C2 - audit outbound Discord webhook / API traffic from the install window - For Cluster D (
journey-test-helloshell+journey-test-hellospyreverse-shell + env-var exfil family): grep every PyPI manifest forjourney-test-helloshell@0.2.0andjourney-test-hellospy@0.1.1. On any hit: 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 is bundled insetup.py- any resource reachable from the install users network context is in scope; audit outbound TCP connections from the install window and quarantine the host for forensic review. If your organisation runsjourney-*` namespaced internal pipelines, review the internal-registry resolution order to prevent public-PyPI shadowing - *For Cluster E (npm `@worrisome/
+ unscopedpeptide-modifybackfill)**: grep everypackage.jsonand lockfiles for@worrisome/reutil,@worrisome/aaaa,peptide-modify(unscoped, distinct from the earlier@peptide-unit/peptide-modifyand@peptide-packets/peptide-modifyentries). On any hit: treat as the standard CWE-506 boilerplate (rotate secrets from a different machine, remove the package, assume host compromise). The unscopedpeptide-modify` re-publish signals that the operator behind the earlier scoped biotech-impersonation attempts has escalated to an unscoped slug - watch for further unscoped single-word biotech / chemistry / peptide slugs - Standing egress-denylist carry-forward from prior sweeps (keep in place; today adds
networkservicesupp.flashhub.net:8443apex):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 (now includingnetworkservicesupp.flashhub.net:8443); 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-2gvv-vgvw-559c - npm @sudobility/indexer_client@0.0.146 (Cluster A - CONFIRMED XMRig miner postinstall + root-escalation branch to Tor relay persistence, miner pool networkservicesupp.flashhub.net:8443, MAL-2026-18127, Amazon Inspector)github.com
- GHSA-mj95-29f2-vxg2 - npm @sudobility/shaperouter_client@0.0.14 (Cluster A - same miner payload, MAL-2026-18128)github.com
- GHSA-58jf-66x8-7q28 - npm @sudobility/testomniac_client@0.0.131 (Cluster A - advertised as TanStack Query client, same miner payload, MAL-2026-18129)github.com
- GHSA-vhv8-cmrm-5fpr - npm @sudobility/wildduck_client@2.3.102 (Cluster A - advertised as WildDuck email-server client, same miner payload, MAL-2026-18130)github.com
- GHSA-hxqp-f9h5-2vc7 - pypi ttsdock@0.1.0 (Cluster B - 2026-10-voice-synthesis-profiles loader campaign representative sample, MAL-2026-18169)github.com
- GHSA-gvgp-r29f-8j66 - pypi audiokit@0.1.0 (Cluster B - 2026-10-voice-synthesis-profiles, MAL-2026-18158)github.com
- GHSA-5286-9g82-mpg2 - pypi asrloom@0.1.0 (Cluster B - 2026-10-voice-synthesis-profiles, MAL-2026-18157)github.com
- GHSA-cppv-x8vc-pgq6 - pypi modelworks@0.1.0 (Cluster B - 2026-10-voice-synthesis-profiles, MAL-2026-18162)github.com
- GHSA-rrj6-3qm9-67cr - pypi orchestril@0.1.0 (Cluster B - 2026-10-voice-synthesis-profiles, MAL-2026-18142)github.com
- GHSA-8jxf-7hjv-2f3h - pypi shellgrip@0.1.0 (Cluster B - 2026-10-voice-synthesis-profiles, MAL-2026-18146)github.com
- GHSA-ph85-49q2-52ph - pypi codecraze@0.1.0 (Cluster B - 2026-10-voice-synthesis-profiles, MAL-2026-18137)github.com
- GHSA-85jh-m5mm-cxm2 - pypi batchspar@0.1.0 (Cluster B - 2026-10-voice-synthesis-profiles, MAL-2026-18135)github.com
- GHSA-jx5r-qjfm-5v26 - pypi iterquarry@2.1.1..2.2.1 (Cluster C - 2026-10-iterquarry split-payload, Discord C2 in earlier versions, MAL-2026-18131)github.com
- GHSA-8pwv-jgmv-fcm8 - pypi libseal@1.1.0..1.1.3 (Cluster C - decryption-algorithm sibling to iterquarry, MAL-2026-18132)github.com
- GHSA-g885-3jpg-94hg - pypi journey-test-helloshell@0.2.0 (Cluster D - CONFIRMED reverse shell + install-time env-var exfil, OSSF targeted-attack tag, MAL-2026-18124)github.com
- GHSA-v8q8-jrm2-52jp - pypi journey-test-hellospy@0.1.1 (Cluster D - same campaign, MAL-2026-18133)github.com
- GHSA-4f5p-mp5p-863f - npm @worrisome/reutil (Cluster E - CWE-506 boilerplate, published 2026-10-21)github.com
- GHSA-fxf3-w84v-3v6g - npm @worrisome/aaaa (Cluster E - CWE-506 boilerplate, published 2026-10-21)github.com
- GHSA-h643-5mcg-c726 - npm peptide-modify (Cluster E - unscoped republish, distinct from the earlier @peptide-unit/@peptide-packets scoped slugs catalogued in the 2026-07-30 and 2026-07-31 sweeps, published 2026-10-21)github.com
- DependencyWatch: multi-2026-10-21-ghsa-malware-sweep (yesterday`s sweep - 2026-10-semvver PyPI typosquat family with sharp c2-worker.crawlnet-claim.workers.dev IOC, Baileys wave 8, sc-* Best Buy wave 2, @securihackbot depconf-stage)dependencywatch.io
- DependencyWatch: pypi-2026-10-21-litellm-infostealer-rat (co-dated LiteLLM 1.107.0 compromise 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.