GitHub Advisory malware sweep, 17 October 2026
GHSA 2026-10-16/17 batch (19 advisories). Legacy itsa-react-* maintainer compromise finally indexed. conx3993 operator wave 2 adds 4 realwbx.com beacon packages. @flexmr dep-confusion wave 2 pivots to artifacts.creditslib.com bare-URL deps. 7-package @beloved-lenora/opencode-* AI-coding-tool lure. PyPI marocolor Telegram-bot stealer + fromthehotel-poems LLM-threat.
Published 17 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
- 17 Oct 2026
- Ecosystems
- npmPyPI
- Detected by
- GitHub Advisory Database, OpenSSF malicious-packages, kam193/bad-packages, Amazon Inspector, InvisiRisk, npm security, PyPI security
- Also known as
- 2026-10-17 GHSA sweep, itsa-react-* legacy maintainer compromise (May 2025 backfill), conx3993 operator wave 2
- 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-16 06:00 UTC (yesterdays sweep cutoff) and 2026-10-17 06:00 UTC (todays ingest-window start), the GitHub Advisory Database and OpenSSF malicious-packages published 19 fresh malware advisories not already in yesterdays sweep: 17 npm and 2 PyPI. Todays material continues several week-running operators (conx3993, @flexmr, Baileys lure) and surfaces one legacy maintainer-compromise backfill (itsa-react-*) alongside one new AI-coding-tool-lure operator (@beloved-lenora/opencode-*) and two single-package PyPI threats from kam193 (marocolor + fromthehotel-poems).
Headlines
*Legacy `itsa-react- maintainer compromise, finally indexed** (Cluster A): GHSA ingested two advisories on 2026-10-16 for a May 2025 maintainer-account compromise of the itsasbreuk (Marco Asbreuk) npm account - itsa-react-maskedinput@16.1.2 (malicious, 2025-05-04T21:28 UTC) and itsa-react-focuscontainer@16.0.10 (malicious, 2025-05-04T21:44 UTC). Both are 8-year-old React component libraries with 100+ releases each, and both show the canonical patch-above-latest fingerprint of a maintainer-account compromise. The maintainer republished clean 16.1.3 and 16.0.11 within 15 hours. Current latest` on both packages is the clean maintainer release. This is a 2026-10 GHSA backfill of a 2025-05 compromise, not a fresh takeover; current reach is limited to teams whose old lockfiles pin the malicious versions exactly.
conx3993 operator wave 2 (Cluster B): 4 new realwbx.com preinstall-beacon packages (buyerdashboard, web-pixels-manager@76.2.4 lookalike of the real Shopify package, xapi-lib, idlive-face-capture-web-development@78.8.1) continue the 2026-10-15 Cluster A 5-package wave. Same npm account, same C2 apex, same per-package Authorization scheme. Operator totals 9 packages across the Sep 30 - Oct 15 2026 window.
*`@flexmr/ dep-confusion wave 2** (Cluster C): @flexmr/survey-conversation + @flexmr/survey-client extend yesterdays Cluster F into a new C2 (artifacts.creditslib.com) and a new technique (bare-URL dependency instead of 99.99.99 sentinel beacon). The reused five-version ladder 1.0.0, 1.0.12, 2.0.12, 3.0.12, 10.0.12 is the operator fingerprint.
Confirmed-payload carve-outs within the sweep
- Cluster F
marocolor(PyPI, 1.0.0) - home-directory file exfiltration via Telegram-bot C2 + resource-exhaustion DoS on import. Reporterkam193. The combination of two independent payload classes in a single package is unusual and worth highlighting. - Cluster G
fromthehotel-poems(PyPI, 0.1.0) - novel LLM-agent-threat: library function hides remote code execution designed to steer an LLM coding agent into fetching and executing a self-hosted wheel fromlogin.fromthehotel.com. Current remote content is non-malicious at analysis time but the delivery design is live. This cluster is the significant find of the sweep as a signal that LLM-prompt-injection-via-dependency is a growing operator class.
Lures and typosquats
Cluster D 7-package @beloved-lenora/opencode-* AI-coding-tool lure - targets the opencode (sst.dev) plugin ecosystem under a parallel scope. Cluster E Baileys-lure wave 5 (@xatancchii/natabaileys + residual parxleys) - continues the operator lineage from yesterday`s Cluster H wave 4 under a new scope.
Classification
sweep. Severity high taken as a whole, driven by Cluster A (confirmed hijack of a legitimate 8-year-old scope, even though the compromise is now 1.5 years dormant and the maintainer-recovery version has been latest for the same period). Clusters B through G are medium on their own and do not raise overall sweep severity above high. No cluster today would independently merit critical - Cluster A`s current reach is limited to teams whose old lockfiles pin the exact malicious versions, and the other clusters are first-publish lures or probes without confirmed worm propagation.
Discovery
GitHub Advisory Database, OpenSSF malicious-packages, kam193/bad-packages (both PyPI records), Amazon Inspector (Clusters B and C), InvisiRisk, Inc. (Cluster B contributions), npm security (Clusters A, D, E takedowns), PyPI security.
19 packages 30 versions
- npm@beloved-lenora/opencode-btw0.0.0→
- npm@beloved-lenora/opencode-goal0.0.0→
- npm@beloved-lenora/opencode-orchestrator0.0.0→
- npm@beloved-lenora/opencode-shared-rpc0.0.0→
- npm@beloved-lenora/opencode-shell-guard0.0.0→
- npm@beloved-lenora/opencode-stats0.0.0→
- npm@beloved-lenora/opencode-todo0.0.0→
- npm@flexmr/survey-client1.0.01.0.122.0.123.0.1210.0.12→
- npm@flexmr/survey-conversation1.0.01.0.122.0.123.0.1210.0.12→
- npm@xatancchii/natabaileys0.0.0→
- npmbuyerdashboard45.3.4→
- PyPIfromthehotel-poems0.1.0→
- npmidlive-face-capture-web-development78.8.1→
- npmitsa-react-focuscontainer16.0.10→
- npmitsa-react-maskedinput16.1.2→
- PyPImarocolor1.0.0→
- npmparxleys0.0.0→
- npmweb-pixels-manager76.2.4→
- npmxapi-lib88.2.388.2.590.2.190.3.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 `itsa-react-
legacy maintainer-account compromise, GHSA-indexed 2026-10-16 (compromise, confirmed hijacked legitimate scope byitsasbreuk/ Marco Asbreuk; CWE-506 boilerplate takedowns on both advisories; malicious versions have been dormant on the registry since 2025-05 and maintainer-recovery releases followed within 15 hours - this is a 2026-10-16 GHSA backfill of a May 2025 compromise, not a fresh takeover)**:itsa-react-maskedinput@16.1.2(GHSA-hhr5-rjw6-9hr5, published to npm 2025-05-04T21:28:00 UTC; superseded by legitimate16.1.3on 2025-05-05T11:13:59 UTC - a ~14-hour exposure window and the currentlatest) anditsa-react-focuscontainer@16.0.10(GHSA-8c34-p746-v5rq, published to npm 2025-05-04T21:44:15 UTC; superseded by legitimate16.0.11on 2025-05-05T10:59:47 UTC - a ~13-hour exposure window and the currentlatest). Theitsa-react-*family is an 8-year-old legitimate React component library (itsa-react-maskedinputhas 100+ releases dating back to 0.0.1 in 2017;itsa-react-focuscontainersimilarly dates to 2017 under the same npm accountitsasbreuk, emailmarco@itsasbreuk.nl). The malicious patch-above-latest pattern (16.1.2sat between legitimate16.1.12018 and the recovery16.1.3of 2025-05-05;16.0.10sat between16.0.92023 and16.0.112025-05-05) is the canonical fingerprint of a maintainer-account or publish-credential compromise. The registrymodifiedtimestamp on both packages jumped to 2026-10-16T23:28-29 UTC - the day GHSA ingested the records. Severityhighfor this cluster (confirmed hijack of a legitimate long-standing scope; CWE-506 means malicious payload is confirmed present on the pulled tarballs but no vendor runtime analysis has been published; the ~14-hour live window and the fact that currentlatest` is a clean maintainer republish mean active exposure for anyone pinned to the malicious versions in old lockfiles only - no new reach) - Cluster B - npm
conx3993operator wave 2: 4realwbx.compreinstall-beacon packages (dependency-confusion / typosquat lures, confirmed install-time HTTP beacon with hardcoded Authorization per package, same account as 2026-10-15 Cluster A, operator totals 9 packages across the Sep 30 - Oct 15 2026 window):buyerdashboard@45.3.4(GHSA-gp7c-v9m4-rx6c, MAL-2026-17893, Authorization8eb5e8641a5795b022d68e14d8858415),web-pixels-manager@76.2.4(GHSA-g99r-gv24-gqpp, MAL-2026-17895, Authorization207e4133bd083b9e3e89c5556fc8677e- shadows the realweb-pixels-managerShopify-published npm package),xapi-lib(88.2.3, 88.2.5, 90.2.1, 90.3.1; GHSA-q29m-w8xx-cvvg, MAL-2026-17896, Authorizationfa79878bc2cfb48bd5127ae26fb661b1),idlive-face-capture-web-development@78.8.1(GHSA-xvmh-mc7p-r5vj, MAL-2026-17894, Authorizationa3b620ea8719eae2fa9b62726364bcc9). All four were published 2026-10-15 by npm accountconx3993and taken down 2026-10-16 after GHSA ingestion. Each ships apreinstallhook that runsnode index.jsand POSTs host identity tohttps://realwbx.com/ip.php?ip=8.8.8.8under a per-package hardcodedAuthorizationheader (same scheme as the 2026-10-15 Cluster A@mntv-analysis/*+@user-interface-common/*+monkey-tags-ip5-package wave, same C2 apexrealwbx.com, same/ip.php+/ippath family). The yesterday 2026-10-16 sweep marked this operator "quiet"; todays publish-list proves wave 2 landed before yesterdays GHSA ingest cutoff but surfaced in the advisory feed after it. Severitymediumfor this cluster (dep-confusion / typosquat probe-tier - confirmed install-time HTTP beacon and host identity leak, but no credential-stealing payload confirmed; the per-package Authorization header suggests the operator is correlating install-telemetry with victim identity for later targeted follow-up) - *Cluster C - npm `@flexmr/
dep-confusion operator wave 2:@flexmr/survey-conversation+@flexmr/survey-client(dependency-confusion, confirmed install-time arbitrary code execution via bare-URL dependency toartifacts.creditslib.com; operator pivot from yesterdays Cluster F99.99.99sentinel +oob.recon.devDNS canary to a newartifacts.creditslib.comstage-2 host and a bare-URL-dep technique that fully delegates installed code to the attacker server)*:@flexmr/survey-conversation(1.0.0, 1.0.12, 2.0.12, 3.0.12, 10.0.12; GHSA-3h5x-5663-jx9x, MAL-2026-17899, bare-URL depcache-format-syntax-tracerserved fromhttps://artifacts.creditslib.com/npm/cache-format-syntax-tracer) and@flexmr/survey-client(1.0.0, 1.0.12, 2.0.12, 3.0.12, 10.0.12; GHSA-w9wx-pxhr-p9g4, MAL-2026-17898, bare-URL depmarker-index-symbol-schemaserved fromhttps://artifacts.creditslib.com/npm/marker-index-symbol-schema). Both packages ship a one-lineindex.jsthat re-exports the bare-URL dependency;npm installfetches whateverartifacts.creditslib.comis currently serving under that path and runs its lifecycle scripts (same pattern as 2026-10-12 hridoy-ultimate wherefca-unofficialwas pinned to a bare GitHub repo). Install integrity hashes do not protect against this because the resolver pins to the URL, not the tree. Both show placeholder metadata (author: "Package Registry",description: "Generated package",repository: github.com/example/) consistent with a scripted dep-confusion generator. The reused five-version ladder1.0.0, 1.0.12, 2.0.12, 3.0.12, 10.0.12is the operator fingerprint - the operator probes which internal `@flexmr/version an internal registry resolves at and matches it. Severitymedium` for this cluster (confirmed install-time arbitrary code execution via bare-URL dep but payload is fully under attacker server control at install time - no fixed payload hash can be IOC-matched; dep-confusion probe tier against FlexMR, a UK market-research platform, so dev-fleet exposure outside FlexMR and its vendors is low) - *Cluster D - npm `@beloved-lenora/opencode-
7-package AI-coding-tool lure wave (malicious-package / typosquat targeting theopencodeAI coding agent ecosystem - sst.devs opencode uses the@opencode-ai/*scope;@beloved-lenora/opencode-*is a parallel-scope impersonation of plausible-sounding plugin names; CWE-506 boilerplate takedowns on all 7 advisories; versions 1.0.0 through 1.0.3 were published and npm security replaced them with0.0.1-securityholding packages; no runtime analysis published)**:@beloved-lenora/opencode-todo(GHSA-9rjq-6mhc-46c5),@beloved-lenora/opencode-shared-rpc(GHSA-8c9g-fwgq-rqq5),@beloved-lenora/opencode-stats(GHSA-f4h2-68pg-ffhj),@beloved-lenora/opencode-orchestrator(GHSA-7wq2-8pc2-wm26),@beloved-lenora/opencode-shell-guard(GHSA-pm76-w63j-7j29),@beloved-lenora/opencode-goal(GHSA-c78h-wwhq-g6j8),@beloved-lenora/opencode-btw(GHSA-xv54-6gmc-3xph). All seven published to the same new scope@beloved-lenorain a single coordinated drop and all taken down together. The naming (todo,shared-rpc,stats,orchestrator,shell-guard,goal,btw) targets the plausible shape of opencode plugin / helper modules a developer or an LLM agent might reach for. Severitymediumfor this cluster (coordinated 7-package publish under a brand-impersonation scope, CWE-506 means malicious payload is confirmed present on the pulled tarballs but no vendor runtime analysis has been published; AI-coding-tool lures are a growing operator category - the 2026-10-15 agentaix wave (py-worm+py-wormgpt+py-sock2) and todays Cluster Gfromthehotel-poems` LLM-threat are peers) - Cluster E - npm Baileys-lure operator wave 5 continuation + residual CWE-506 (malicious-package;
@xatancchii/natabaileysdirectly extends the 7-package wave 4 of yesterdays Cluster H under a new@xatancchiiscope;parxleys` is a residual CWE-506 takedown with no explicit Baileys string but the timing + boilerplate pattern suggest the same operator or a very similar one):@xatancchii/natabaileys(all versions; GHSA-cgq9-cff6-pf33) andparxleys(all versions; GHSA-rg3c-8x72-6pmc). Both CWE-506 boilerplate with no published IOCs. The@xatancchiiscope is new; thenatabaileysslug follows the Baileys-brand-impersonation signature (same as yesterdaysxmd-baileys,@developmentyora/baileyss,@celestial-community/baileys, prior waves@fer2809fl/baileys,arsya-baileys,my-baileys). Severitymediumfor this cluster (install-time code execution risk per CWE-506 pattern, no vendor runtime analysis published; the Baileys operators week-running wave count and consistent naming lineage are the operator continuity signal) - Cluster F - PyPI
marocolorsingle-package infostealer + DoS (malicious-package, confirmedfiles-exfiltration+uses-telegram-bot+destructive-actionsOSSF reasons; home-directory scrape of secret-pattern files + resource-exhaustion DoS on import; kam193 reporter):marocolor@1.0.0(GHSA-m6jr-rmfr-29w4, MAL-2026-17900, campaign2026-10-marocolor, reporterkam193). On import, the package scans$HOMEfor files matching document / image / secret extensions (.env,.key,.sqland similar) and uploads them to a Telegram-bot endpoint; a second import-time thread spawns threads unbounded to exhaust the host. The combination of file exfiltration + Telegram-bot C2 + destructive-action denial-of-service in a single package is unusual - typical kam193-reported PyPI malware ships one payload class at a time. The package namemarocolorcarries no obvious brand-impersonation shape, suggesting a lure name chosen for a specific victim rather than a mass-reach typosquat. OSSF commit38b0fa2ee77af46ad9daf78c024a0f599fd0798eef7605cb3eed50d8db65fa22and reporter-maintained pagehttps://bad-packages.kam193.eu/pypi/package/marocolorare the entry points for the specific Telegram-bot token and file-match patterns. Severitymediumfor this cluster (confirmed functional file-exfiltration payload with Telegram-bot C2 + confirmed destructive-action DoS; single package with a specific-target lure name means dev-fleet reach is low but any installer host should be presumed exfiltrated) - Cluster G - PyPI
fromthehotel-poemssingle-package LLM-agent-threat (malicious-package, confirmedllm-threat+action-hidden-in-lib-usageOSSF reasons; one function hides remote code execution designed to steer an LLM coding agent into fetching and executing a self-hosted wheel from a freshly registered domain; kam193 reporter notes remote payload non-malicious at analysis time but the design is clearly an LLM-threat prototype):fromthehotel-poems@0.1.0(GHSA-q5q7-gj32-mwhh, MAL-2026-17897, campaign2026-10-fromthehotel-poems, reporterkam193). The package provides a function that fetches instructions fromhttps://login.fromthehotel.com/muse, which read as prompt-injection targeting an LLM agent (telling the agent to download a self-hosted wheel fromhttps://login.fromthehotel.com/api/art/downloads/<wheel>and run it) and separately exposes a/api/poems/codeendpoint that returns executable Python code hidden inside what reads as poetry. The current remote content is reported as non-malicious at analysis time, but the delivery design (library function that fetches instructions, prompt-injected agent coercion, wheel download URL already live) is a working framework for turning any LLM coding assistant that installs the package into a confused deputy. Source hashbf72dad3e2f32ee2e66a3a5ee5642b4a20a9fb9458fcd677f6250b1e4b805906. Severitymediumfor this cluster (confirmed novel LLM-threat primitive and working infrastructure, but current remote payload is non-malicious so no confirmed exploitation yet; the attack class is the significant find - LLM-agent prompt-injection via package-shipped library function is a growing operator category that this record flags for future tracking) - Operator continuity: this sweep extends several week-running operators.
conx3993operator returns from "quiet since 2026-10-15" (yesterdays sweep marked it so) with wave 2 under 4 new slugs; same npm account, samerealwbx.comC2 apex, same per-package Authorization scheme. **@flexmrdep-confusion operator** continues from yesterdays Cluster F with a technique pivot: bare-URL deps to a newartifacts.creditslib.comhost instead of a99.99.99sentinel beacon. Baileys-lure operator continues from yesterdays Cluster H with 1 new slug (@xatancchii/natabaileys) and possiblyparxleys. **kam193remains top PyPI reporter** - today reports both PyPI advisories (marocolor,fromthehotel-poems). **New disclosed attacker-controlled hosts today**:artifacts.creditslib.comapex +/npm/cache-format-syntax-tracer+/npm/marker-index-symbol-schemapaths (Cluster C),login.fromthehotel.comapex +/muse+/api/poems/code+/api/art/downloads/` paths (Cluster G). New operator lineage:@beloved-lenoraAI-coding-tool-lure scope (Cluster D) is a new seven-package operator targeting the opencode ecosystem; watch for a wave 2 under additional `opencode-orclaude-code-` or similar AI-coding-tool-brand-impersonation scopes. New attacker npm scope@xatancchii(Cluster E) added to the Baileys-operator`s scope rotation. No new activity* from: yesterdaysagentaixoperator wave 2 (py-worm+py-wormgpt+py-sock2quiet;anonrider404/pyplGitHub repo andgoogleforum.pythonanywhere.comC2 unchanged), Wix dep-confusion wave 3 (util-foriepftquiet;dxpoc.gt.tcunchanged),seapy-opsoperator (space-z.aiquiet),getpubipoperator (api-bsx.pages.devquiet),proxyrubikaoperator,tailwindcss-form/-uniformtyposquat operator. [TensorLake AI maintainer compromise (2026-10-08 carve-out)](/incident/npm-2026-10-08-tensorlake-maintainer-compromise) confirmed-recovered: maintainers own clean releases0.5.145through0.5.151have shipped, no wave-2 malicious republish, record updated today with the recovery timeline
Clean-up steps
- For Cluster A (
itsa-react-maskedinput@16.1.2+itsa-react-focuscontainer@16.0.10- legacy maintainer compromise): grep everypackage.json,package-lock.json,yarn.lock,pnpm-lock.yaml,bun.lockfor the exact stringsitsa-react-maskedinput+16.1.2anditsa-react-focuscontainer+16.0.10. On ANY hit (likely only in old lockfiles that have not been refreshed since May 2025): bump to the clean maintainer republishitsa-react-maskedinput@16.1.3anditsa-react-focuscontainer@16.0.11or later, with exact-version pins; rebuild lockfiles and runnpm ci/pnpm install --frozen-lockfileto evict the compromised tarballs. The CWE-506 boilerplate advisory means the specific payload is undocumented - treat any installer host that ran the malicious tarball between 2025-05-04 and 2025-05-05 as potentially credential-compromised during that window. Internal registry mirrors (Nexus, Artifactory, Verdaccio) that cached the16.1.2/16.0.10tarballs between May 2025 and today should flush them. Note: this cluster is low current risk because the maintainer republish has sat atlatestfor 1.5 years and most consumers with floating^16.1or~16.1constraints resolved past the malicious versions long ago; the entries are indexed primarily to warn teams whose old pinned lockfiles still carry the exact malicious versions. If your org uses the@itsasbreukscope or publishes under similar single-maintainer scopes, this is a reminder to migrate publishing off long-lived npm tokens to npm OIDC trusted publishing and to enable mandatory 2FA on every maintainer account - For Cluster B (
conx3993operator wave 2 - 4 npm packages withrealwbx.combeacon): grep everypackage.json,package-lock.json,yarn.lock,pnpm-lock.yamlforbuyerdashboard,web-pixels-manager@76.2.4(not the real Shopify-publishedweb-pixels-manager- this is the lookalike at version 76.2.4 only),xapi-lib(any of 88.2.3, 88.2.5, 90.2.1, 90.3.1),idlive-face-capture-web-development@78.8.1. On hit: thepreinstallhook has runnode index.jsand POSTed host identity torealwbx.com/ip.php?ip=8.8.8.8. Treat the installing host as recon-tier compromised; no credential-stealing payload confirmed, but the per-package Authorization token means the operator can correlate the installing hosts outbound beacon with the specific lure package. Rotate any secret that was in thepreinstallprocesss environment. Keep egress blocks onrealwbx.comapex +/ip.php+/ippaths (already in the standing denylist from the 2026-10-15 sweep - do not remove). If your org publishes under@mntv-analysis,@user-interface-common, or any of the plausible internal names the operator shadows, scope-lock the internal registry and hold the public slugs with placeholder packages. Report npm accountconx3993for the full 9-package publish set across Sep 30 - Oct 15 2026 as the same operator`s complete wave - *For Cluster C (`@flexmr/
dep-confusion wave 2 -@flexmr/survey-conversation+@flexmr/survey-client)**: grep everypackage.json,package-lock.json,yarn.lock,pnpm-lock.yamlfor@flexmr/survey-conversationor@flexmr/survey-client(any of versions 1.0.0, 1.0.12, 2.0.12, 3.0.12, 10.0.12). On hit: the bare-URL dependency has fetched whateverartifacts.creditslib.com/npm/cache-format-syntax-traceror/marker-index-symbol-schemawas serving at install time, and lifecycle scripts have run. The payload is attacker-server-controlled so there is no fixed SHA to match - treat the installing host as fully compromised and rotate every credential reachable from the Node runtime (API tokens, SSH / GPG keys, cloud SDK creds, env-exported secrets). Add egress blocks:artifacts.creditslib.comapex +/npm/paths (new today). Keep yesterdays standing blocks on177.7.60.239:48080andoob.recon.dev(yesterdays @flexmr Cluster F). CI gates: reject anypackage.jsonwhose dependency spec is a bare URL to an arbitrary host (not just the usual bare-GitHub-repo check); the lockfile integrity field for a URL dep is a URL hash, not a tree hash, sonpm ci --frozen-lockfiledoes not protect against the attacker swapping payload. If your org is FlexMR or uses@flexmr/` internally, scope-lock the internal registry and hold the public slugs with placeholders at a safe version - *For Cluster D (7-package `@beloved-lenora/opencode-
AI-coding-tool lure wave)**: grep everypackage.json,package-lock.json,yarn.lock,pnpm-lock.yamlfor@beloved-lenora/opencode-todo,@beloved-lenora/opencode-shared-rpc,@beloved-lenora/opencode-stats,@beloved-lenora/opencode-orchestrator,@beloved-lenora/opencode-shell-guard,@beloved-lenora/opencode-goal,@beloved-lenora/opencode-btw(all all-versions, versions1.0.0-1.0.3were pulled and npm0.0.1-securityplaceholders remain). CWE-506 boilerplate advisory means the specific payload is undocumented; treat the installing host as credential-compromised until Socket or a vendor publishes a runtime analysis. Teach contributors (and any coding-agent that reads this record) that the real opencode scope is@opencode-ai; anyopencode-named package under a different scope (@beloved-lenora,@claude-code,@opencoding,@opencode-plugin) is suspect by default. Watch for a wave 2 under additional@beloved-lenora/*` or newly-created AI-coding-tool-brand-impersonation scopes - For Cluster E (Baileys lure wave 5 -
@xatancchii/natabaileys+parxleys): grep for@xatancchii/natabaileysandparxleys(both all-versions). CWE-506 boilerplate means the specific payload is undocumented; treat as credential-compromised until a vendor publishes a runtime analysis. The Baileys-operators week-running wave count means detection rules should match any npm package containingbaileys,bailey,xbails,libsignal-node, orwhiskeysocketssubstrings outside the real@whiskeysocketsscope; also match on new scopes@xatancchii/and@beloved-lenora/(todays AI-coding-tool-lure scope - no overlap confirmed with the Baileys operator but worth watching for scope-reuse) - For Cluster F (
marocolorPyPI Telegram-bot stealer + DoS): grep everyrequirements.txt,pyproject.toml,Pipfile.lock,poetry.lock,uv.lock,pdm.lock,conda envformarocolor@1.0.0. On hit: assume home-directory files matching.env,.key,.sql, document, and image extensions have been scraped and uploaded to a Telegram-bot endpoint; also assume the import-time thread-spawn DoS has fired against the installer host. Rotate every credential in$HOMEon the installing host (SSH keys, GPG keys,.envsecrets,.aws/credentials,.config/*/token,.ssh/*,.netrc, cloud SDK caches). Preserve the host for forensic review before clean-rebuilding. Add egress blocks:api.telegram.orgon CI / build hosts (already in the standing denylist from prior Telegram-bot stealer disclosures - keep it). Report the specific Telegram-bot token (listed in OSSF MAL-2026-17900 record) to Telegram abuse - For Cluster G (
fromthehotel-poemsPyPI LLM-agent-threat): grep forfromthehotel-poems@0.1.0. On hit: assume the library function has been called by whatever LLM coding assistant or notebook the package was imported in, and the function has fetched instructions fromhttps://login.fromthehotel.com/museand possibly executed a wheel fromhttps://login.fromthehotel.com/api/art/downloads/<wheel>. Current remote payload is reported non-malicious at analysis time, but the delivery design is live and the operator can swap the hosted content at will. Add egress blocks:login.fromthehotel.comapex +/muse+/api/poems/code+/api/art/downloads/*paths. For LLM-agent-threat defence more generally: coding assistants and agents that install Python packages mid-session should treat any packages hosted-instructions function with the same suspicion as a prompt from an unexpected source - the operators goal here is to turn the agent into a confused deputy that executes an attacker-provided wheel without the human seeing the fetch. This cluster is a warning signal for the growing LLM-prompt-injection-via-dependency attack class - NEW outbound denylist entries for CI / build-host egress proxies today:
artifacts.creditslib.comapex +/npm/*paths (Cluster C@flexmrdep-confusion wave 2),login.fromthehotel.comapex +/muse+/api/poems/code+/api/art/downloads/*paths (Cluster Gfromthehotel-poemsLLM-threat). Report the Telegram-bot token in MAL-2026-17900 to Telegram abuse (Cluster Fmarocolor). Keep prior egress blocks in place:realwbx.comapex +/ip.php+/ippaths (2026-10-15),googleforum.pythonanywhere.comexact subdomain (2026-10-11),space-z.aiapex +preview-chat-960504a9-b4e0-4b69-bc80-6ac3d4fa4ae0.space-z.ai+b196q82k8891-d.space-z.aisubdomains (2026-10-14),dxpoc.gt.tcapex (2026-10-09),raw.githubusercontent.com/anonrider404/pypl/*path (2026-10-16),api-bsx.pages.devapex +/downloadpath (2026-10-16),177.7.60.239:48080+oob.recon.dev(2026-10-16),uncoder.eu.orgapex +/cc-checker/api.phppath (2026-10-15),accenture-npm.azurewebsites.net,limbomail.comapex +github.com/lunexindonesia/node-net-pool+github.com/trktgq0wbre1/node-net-pool,github.com/unicodeces/font-atlas,collector.oob.s4yhii.com+*.oob.s4yhii.com+s4yhii.comapex,64.181.165.115/dc,167.88.172.33:8087+jsonspack.com,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,tele.metry.orgin.net,morroncr0w.io,api.telegram.orgon untrusted CI/build hosts,appsecc.com,webhook.site/*,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
Sources
- GitHub Advisory Database - recent malware advisoriesgithub.com
- GHSA-hhr5-rjw6-9hr5 - npm itsa-react-maskedinput@16.1.2 (Cluster A - legacy itsasbreuk maintainer-account compromise, malicious tarball live 2025-05-04 21:28 UTC until maintainer republish 16.1.3 on 2025-05-05 11:13 UTC, GHSA-indexed 2026-10-16)github.com
- GHSA-8c34-p746-v5rq - npm itsa-react-focuscontainer@16.0.10 (Cluster A - same itsasbreuk maintainer compromise, malicious tarball live 2025-05-04 21:44 UTC until maintainer republish 16.0.11 on 2025-05-05 10:59 UTC)github.com
- npm registry page for itsa-react-maskedinput (latest 16.1.3, maintainer itsasbreuk / Marco Asbreuk, 100+ releases dating to 2017)npmjs.com
- npm registry page for itsa-react-focuscontainer (latest 16.0.11, same maintainer itsasbreuk)npmjs.com
- GHSA-gp7c-v9m4-rx6c - npm buyerdashboard@45.3.4 (Cluster B - conx3993 operator wave 2, realwbx.com preinstall beacon, Authorization 8eb5e864..., MAL-2026-17893)github.com
- GHSA-g99r-gv24-gqpp - npm web-pixels-manager@76.2.4 (Cluster B - conx3993 wave 2, lookalike of real Shopify-published web-pixels-manager, Authorization 207e4133..., MAL-2026-17895)github.com
- GHSA-q29m-w8xx-cvvg - npm xapi-lib (88.2.3, 88.2.5, 90.2.1, 90.3.1) (Cluster B - conx3993 wave 2, Authorization fa79878b..., MAL-2026-17896)github.com
- GHSA-xvmh-mc7p-r5vj - npm idlive-face-capture-web-development@78.8.1 (Cluster B - conx3993 wave 2, Authorization a3b620ea..., MAL-2026-17894)github.com
- GHSA-3h5x-5663-jx9x - npm @flexmr/survey-conversation (Cluster C - @flexmr dep-confusion wave 2, bare-URL dep cache-format-syntax-tracer served from artifacts.creditslib.com, five-version ladder 1.0.0/1.0.12/2.0.12/3.0.12/10.0.12, MAL-2026-17899)github.com
- OSSF malicious-packages MAL-2026-17899 raw record (@flexmr/survey-conversation IOCs: artifacts.creditslib.com, bare-URL dep cache-format-syntax-tracer, Amazon Inspector source hash 20ab57dd...)raw.githubusercontent.com
- GHSA-w9wx-pxhr-p9g4 - npm @flexmr/survey-client (Cluster C - @flexmr dep-confusion wave 2, bare-URL dep marker-index-symbol-schema served from artifacts.creditslib.com, same five-version ladder, MAL-2026-17898)github.com
- OSSF malicious-packages MAL-2026-17898 raw record (@flexmr/survey-client IOCs: artifacts.creditslib.com, bare-URL dep marker-index-symbol-schema)raw.githubusercontent.com
- GHSA-9rjq-6mhc-46c5 - npm @beloved-lenora/opencode-todo (Cluster D - 7-package AI-coding-tool-lure wave, CWE-506 boilerplate)github.com
- GHSA-8c9g-fwgq-rqq5 - npm @beloved-lenora/opencode-shared-rpc (Cluster D - same wave, CWE-506 boilerplate)github.com
- GHSA-f4h2-68pg-ffhj - npm @beloved-lenora/opencode-stats (Cluster D - same wave, CWE-506 boilerplate)github.com
- GHSA-7wq2-8pc2-wm26 - npm @beloved-lenora/opencode-orchestrator (Cluster D - same wave, CWE-506 boilerplate)github.com
- GHSA-pm76-w63j-7j29 - npm @beloved-lenora/opencode-shell-guard (Cluster D - same wave, CWE-506 boilerplate)github.com
- GHSA-c78h-wwhq-g6j8 - npm @beloved-lenora/opencode-goal (Cluster D - same wave, CWE-506 boilerplate)github.com
- GHSA-xv54-6gmc-3xph - npm @beloved-lenora/opencode-btw (Cluster D - same wave, CWE-506 boilerplate)github.com
- GHSA-cgq9-cff6-pf33 - npm @xatancchii/natabaileys (Cluster E - Baileys lure wave 5 continuation under new @xatancchii scope, CWE-506 boilerplate)github.com
- GHSA-rg3c-8x72-6pmc - npm parxleys (Cluster E - residual CWE-506 takedown, Baileys-wave timing)github.com
- GHSA-m6jr-rmfr-29w4 - pypi marocolor@1.0.0 (Cluster F - Telegram-bot infostealer + resource-exhaustion DoS, campaign 2026-10-marocolor, kam193 reporter, MAL-2026-17900)github.com
- OSSF malicious-packages MAL-2026-17900 raw record (marocolor IOCs: Telegram-bot token, files-exfiltration + uses-telegram-bot + destructive-actions reasons, OSSF commit 38b0fa2e...)raw.githubusercontent.com
- kam193 bad-packages entry for marocolor (reporter`s own detail page)bad-packages.kam193.eu
- GHSA-q5q7-gj32-mwhh - pypi fromthehotel-poems@0.1.0 (Cluster G - novel LLM-agent-threat via hidden-in-lib-usage remote code execution, campaign 2026-10-fromthehotel-poems, kam193 reporter, MAL-2026-17897)github.com
- OSSF malicious-packages MAL-2026-17897 raw record (fromthehotel-poems IOCs: login.fromthehotel.com, /muse + /api/poems/code + /api/art/downloads/* paths, llm-threat + action-hidden-in-lib-usage reasons, source hash bf72dad3...)raw.githubusercontent.com
- kam193 bad-packages entry for fromthehotel-poemsbad-packages.kam193.eu
- DependencyWatch: multi-2026-10-16-ghsa-malware-sweep (yesterday`s context - agentaix wave 2 py-worm/py-wormgpt/py-sock2, Wix dep-confusion wave 3 util-foriepft, seapy-ops, getpubip, proxyrubika, @flexmr wave 1, tailwindcss-form, Baileys wave 4)dependencywatch.io
- DependencyWatch: multi-2026-10-15-ghsa-malware-sweep (prior-day context - conx3993 realwbx.com wave 1 of 5 packages, babel-polyfill-plugin-corejs2 + eth-react-provider typosquats, saeka PyPI credit-card checker)dependencywatch.io
- DependencyWatch: npm-2026-10-08-tensorlake-maintainer-compromise (updated today with maintainer-recovery timeline, 0.5.145 through 0.5.151 all clean, no wave-2 malicious republish)dependencywatch.io
- DependencyWatch: npm-2026-10-12-hridoy-ultimate-fb-credential-stealer (bare-URL dep pattern precedent for today`s Cluster C @flexmr wave 2 technique)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.