GitHub Advisory malware sweep, 1 November 2026
Eight fresh GHSA malware advisories in the 2026-10-31 → 2026-11-01 window. Headlines are the carved-out PyPI pystr-codec first-PyPI Miasma worm variant (own record), a four-package PyPI 2026-10-is-it-ai kam193 campaign (hidden-dep remote-executable loader, confirmed C2 at cdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.app), a kam193 PyPI pentest probe doctreelstm, and two CWE-506 npm takedowns @mamans2973/maman + local-commander-agent.
Published 1 Nov 2026
Every version named by the advisory is in the scanner, so a lockfile check finds it directly.
- Severity
- High
- Type
- Advisory sweep
- Published
- 1 Nov 2026
- Ecosystems
- npmPyPI
- Detected by
- GitHub Advisory Database, OpenSSF Package Analysis, OpenSSF malicious-packages, kam193, SafeDep
- Also known as
- GHSA 2026-10-31 → 2026-11-01 batch, kam193 2026-10-is-it-ai hidden-dep campaign, Miasma PyPI variant pystr-codec (carve-out)
- 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-31 06:00 UTC (yesterdays sweep cut-off) and 2026-11-01 06:00 UTC (todays ingest-window start) the GitHub Advisory Database published eight malware advisories. The headline is the carved-out PyPI pystr-codec first-PyPI Miasma worm variant (full detail on its own record). The sweep catches four PyPI kam193 slugs under a new 2026-10-is-it-ai hidden-dependency remote-executable-loader campaign, a kam193 PyPI pentest probe doctreelstm, and two CWE-506 boilerplate npm takedowns.
Headlines
pystr-codec Miasma PyPI variant (carved out): kam193 and OpenSSF published MAL-2026-18432 on 2026-11-01 flagging pystr-codec@0.1.0, 0.1.1, 0.1.2 as a Miasma-family worm variant - the first observed PyPI incarnation of the June-2026 npm Miasma worm (SafeDep alias testmetest). The .pth on-startup hook, Bun-runtime payload, GitHub-dead-drop exfil, worm propagation via publish tokens, and conditional-wiper destructive-actions trigger are all preserved from the npm family TTP. See the carve-out record for IOCs, remediation sequence (IMAGE BEFORE ROTATING - credential rotation itself detonates the wiper), and attribution linkage to the npm -testmetest slug family across the 2026-10-22 through 2026-10-26 sweeps.
kam193 2026-10-is-it-ai hidden-dep campaign (Cluster A): 4 PyPI packages / 13 versions under a new campaign shape for kam193. The three "wrapper" slugs (skills-analyzer, md-to-slides, multi-convert) each pin is-it-ai as a dependency at the specific version that carries the malicious payload; the payload fingerprints the environment, contacts a Google Cloud Run C2 at cdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.app/v1/session/info, and if the server replies with a URL downloads and executes whatever is at that URL. Server-side victim filtering ("targetted-attack" OSSF tag) means sandbox resolution gets a null reply and looks clean while real victims get the second stage. The cover-release pattern (publishing several versions where only one triggers) is explicit scanner evasion.
kam193 doctreelstm pentest probe (Cluster B): single-slug sibling of yesterdays stdid-nyxprobe under the same GENERIC-standard-pypi-install-pentest campaign. Install-time + import-time host-fingerprint exfil via a custom setup.py install` cmdclass override.
npm CWE-506 boilerplate takedown (Cluster C): @mamans2973/maman (personal scope, 4-version pre-staged iteration) and local-commander-agent@0.3.52 (developer-tool-lure-shaped slug). No published analysis bytes at advisory time.
Classification
sweep. Severity high (above the sweep baseline medium) because the carved-out pystr-codec Miasma variant is critical on its own record, Cluster A carries a confirmed install-time remote-executable loader with server-side victim filtering across four real PyPI slugs, and Cluster B carries confirmed install-time host-fingerprint exfil. Cluster C is medium CWE-506 boilerplate without captured payload. No cluster inside the sweep itself clears the critical threshold - the critical finding was pulled out into its own named incident file per the authoring policy for critical-severity items inside a sweep.
Discovery
GitHub Advisory Database, OpenSSF Package Analysis, OpenSSF malicious-packages (MAL-2026-18426 through MAL-2026-18432 range), kam193 operator-controlled tracker bad-packages.kam193.eu (Clusters A + B and the carve-out), SafeDep (carve-out attribution to Miasma family).
7 packages 23 versions
- npm@mamans2973/maman1.0.01.0.11.0.21.0.3→
- PyPIdoctreelstm1.0.010.0.0→
- PyPIis-it-ai0.1.00.1.10.1.3→
- npmlocal-commander-agent0.3.52→
- PyPImd-to-slides0.1.00.1.10.1.20.1.3→
- PyPImulti-convert0.1.00.1.10.1.20.1.30.1.40.1.5→
- PyPIskills-analyzer0.1.00.1.10.1.2→
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
- Carve-out: PyPI
pystr-codecfirst-PyPI Miasma worm variant (malicious-package; 1 package / 3 versions, 2026-11-01, kam193 campaign2026-11-pystr-codec, MAL-2026-18432, OSSF reasonsobfuscation+abuses-pth+infostealer+worm+backdoor+persistence+exfiltration-credentials+destructive-actions): tracked on its own named record and NOT duplicated here. Headline-worthy enough to pull out of the sweep because it is the first observed PyPI incarnation of the June-2026 Miasma self-propagating credential worm (SafeDep aliastestmetest) with confirmed.pthpersistence, Bun-runtime payload,paleasbest.topC2, and destructive-actions-on-credential-invalidation primitive. The SafeDep + OSSF cross-attribution upgrades the previously-logged npm*-testmetestslug family (2026-10-22 batch of 9 slugs, 2026-10-25event-bus-lite-testmetest@0.0.6Bun loader, 2026-10-26path-stream-utils-testmetest) from "research / canary" to confirmed Miasma variant - treat historical hits on any-testmetestsuffix slug accordingly - Cluster A - PyPI kam193
2026-10-is-it-aihidden-dependency remote-executable loader campaign (malicious-package; 4 packages / 13 versions total, 2026-10-31, OSSF campaign tag2026-10-is-it-ai, OSSF reasonstargetted-attack+action-hidden-in-lib-usage+downloads-executes-remote-executable):is-it-ai@0.1.0, 0.1.1, 0.1.3(GHSA-76h8-w3px-47hx / MAL-2026-18426, the actual payload carrier),skills-analyzer@0.1.0, 0.1.1, 0.1.2(GHSA-r92r-m9r8-78vj / MAL-2026-18427, trigger in 0.1.1 - other versions exist as cover),md-to-slides@0.1.0, 0.1.1, 0.1.2, 0.1.3(GHSA-7p4v-mm6f-8g5c / MAL-2026-18428, trigger in 0.1.1),multi-convert@0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5(GHSA-vh26-86vj-f72g / MAL-2026-18429, trigger in 0.1.4). The campaign shape is hidden-dependency malware: the three "wrapper" packages (skills-analyzer,md-to-slides,multi-convert) each present as a benign utility and pinis-it-aias a dependency at the specific version that carries the malicious payload. The payload fingerprints the install environment, contactshttps://cdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.app/v1/session/info, and if the server responds with a URL, downloads and executes whatever is at that URL - a two-stage dropper with the second stage controlled server-side at install time, so the actual malicious payload varies by target. The "targetted-attack" OSSF tag indicates server-side victim filtering (the C2 only returns a payload URL for interesting hosts, so sandbox resolution gets a null reply and looks clean). The campaign tags all four packages under2026-10-is-it-aiand the shared C2 apex confirms single-operator attribution. The cover-release pattern (uploading several versions where only one is actually malicious) is a scanner-evasion technique: a scanner that spot-checksis-it-ai@0.1.0sees nothing and clears the slug; the targeted-attack pin on0.1.3fires only on real victims. Severityhighfor the whole cluster (confirmed remote-executable loader with server-side victim filtering on real PyPI slugs; reach limited to anyone who installed one of the wrapper packages but every host that did ran attacker-chosen code at install time with the hidden-dep slugis-it-aias the actual payload carrier) - Cluster B - PyPI kam193
GENERIC-standard-pypi-install-pentestdoctreelstmpentest-shape host-exfil probe (malicious-package; 1 package / 2 versions, 2026-10-31, GHSA-5fxv-5qc2-53g8 / MAL-2026-18430, OSSF classificationPROBABLY_PENTEST):doctreelstm@1.0.0, 10.0.0. OSSF analysis note: "Installing the package or importing the module exfiltrates basic information about the host" via a customsetup.py installcmdclass override that runs atpip installtime. The pentest classification plus thedoctreelstmslug (plausibly reads as a doc-tree LSTM Python package - targeting ML / NLP researchers) is consistent with a bug-bounty / internal-pentest discovery probe rather than a payload-carrying infostealer. Sibling continuity: this slug follows yesterdaysstdid-nyxprobe@0.0.1, 0.0.2(2026-10-31 Cluster C on the 2026-10-31 sweep) under the sameGENERIC-standard-pypi-install-pentestcampaign. **Severitymedium`** (pentest probe with confirmed install-time + import-time host-fingerprint exfil; harmless beyond the fingerprint leak but any CI host that resolved it leaked host identification) - Cluster C - npm CWE-506 boilerplate takedown (malicious-package; 2 packages, 2026-10-31):
@mamans2973/maman@1.0.0, 1.0.1, 1.0.2, 1.0.3(GHSA-fg5w-8hhw-8j6h) andlocal-commander-agent@0.3.52(GHSA-7j62-5j84-72fv). Both are CWE-506 boilerplate on the GHSA advisories without captured payload bytes - the standard "Any computer that has this package installed or running should be considered fully compromised" language. The@mamans2973/mamanslug reads as a personal-scope test / lure (Arabic name, 4-version pre-staged iteration pattern); thelocal-commander-agentslug reads plausibly as a developer-adjacent lure targeting people searching for a local commander agent / CLI tool. No analysis bytes published, no C2 or IOC captured at advisory time. Severitymediumper package (no analysis bytes published; brand-adjacent slugs make these plausible operator payloads but no second-tool corroboration yet) - Operator continuity signals: kam193 PyPI operator is still active - 2026-10-28 trio (
trajmetrics/numprint/h13t0ry-hello-demo), 2026-10-30 pair (bq-helix-recon+test-01-rafamarrara-learning-dc), 2026-10-31 pair (log-utils-sdk+stdid-nyxprobe), todays 5 slugs under2026-10-is-it-ai(4 packages) +GENERIC-standard-pypi-install-pentest(doctreelstm). The2026-10-is-it-aicampaign is a new TTP shape for kam193 - the hidden-dependency pattern with cover versions is distinct from the operators usual direct install-time infostealer. Watch for a wave-2 under additional slugs pinningis-it-aias a dependency. testmetest / Miasma family - today upgrades the previously-logged npm-testmetestslug family to confirmed Miasma variant, withpystr-codecas the first PyPI variant. Nodveta/Torre.ai fake-interview operator is idle today (no new wave-N republishes beyond yesterdays wave-3). **baileys WhatsApp Web typosquat operator** (yesterdaysourin-baileys+grizzly-baileys+ prior@chatunitycenter/baileys) is idle today. *SiriusXM-shaped `vas-tops2-/@tops2dep-confusion operator** (yesterdays 12-slug dump) is idle today. Carve-outs pystr-codec Miasma PyPI variant (today`s own named incident), LiteLLM 1.107.0, Tailwind Animate.css fake-interview, Apex Accelerator REF8801, TensorLake AI, hridoy FB credential stealer, anthropic-sdk PyPI typosquat, netweavex NetworkX typosquat, kam193 PyPI trio + camera.ui NVR compromise, @testsecuiitytestme Shai-Hulud wave-2 shaped loader, spectral-core AWS-metadata infostealer + kam193 bq-helix-recon + black-spindle-2, and the 2026-10-31 SiriusXM-shaped vas-tops2 dep-confusion dump + log-utils-sdk kam193 second-stage downloader + baileys wave-2 all remain confirmed-recovered with no new wave-N malicious republish observed today
Clean-up steps
- For the carved-out pystr-codec Miasma PyPI variant see the own record`s recommendation list in full - immediate egress block on
paleasbest.top, image hosts BEFORE rotating credentials (destructive-actions trigger fires on credential invalidation), audit PyPI publish history and GitHub exfil dead-drop repos - For Cluster A PyPI
2026-10-is-it-aihidden-dep campaign (CONFIRMED remote-executable loader with server-side victim filtering): grep everyrequirements.txt,Pipfile,Pipfile.lock,poetry.lock,uv.lock,pdm.lock, Dockerfile and container-image manifest for ANY of the four slugs AND their dependencyis-it-ai:is-it-ai@0.1.0, 0.1.1, 0.1.3,skills-analyzer@0.1.0, 0.1.1, 0.1.2,md-to-slides@0.1.0, 0.1.1, 0.1.2, 0.1.3,multi-convert@0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5. On any hit on a host that EVER ranpip installorimportof the slug: assume the two-stage dropper fired (if the C2 picked the host as a target - sandboxes and uninteresting hosts likely got the null-reply path and look clean, but a null reply at install time does not prove the host was uninteresting at the second visit, so treat every hit as compromised); rotate every credential reachable from the host (cloud, Vault, Kubernetes, package registries, GitHub PATs); image for forensics before rebuild. Egress blockcdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.appapex AND the broader Google Cloud Run*.a.run.apppattern (operator used a Google Cloud Run auto-generated hostname which rotates per redeploy). Addis-it-aiAND the three wrapper slugs to the PyPI denylist; expect a wave-2 under additional wrapper slugs pinning the sameis-it-aiversions - For Cluster B PyPI
doctreelstmkam193 pentest probe (CONFIRMED install-time + import-time host-fingerprint exfil): grep requirements files fordoctreelstmand the versions1.0.0/10.0.0(the version-10.0.0 pattern is a kam193 operator fingerprint to force resolver-first-match on anyone pinning>=0). On any hit: fingerprint-only leak event (host info, user, platform), harmless beyond the identification leak; remove, rebuild, add to denylist. Note thestdid-nyxprobesibling (2026-10-31 Cluster C on the 2026-10-31 sweep) is also still live - include both slugs in any audit sweep - For Cluster C npm
@mamans2973/maman+local-commander-agentCWE-506 takedown: grep manifests for@mamans2973/mamanandlocal-commander-agent. On any hit, remove, rebuild, add to denylist. Thelocal-commander-agentslug reads as a developer-tool lure - alert any team that uses local commander / CLI remote-agent tooling. No published analysis bytes for either slug at advisory time; watch for a captured payload hash to post - Standing egress-denylist carry-forward from prior sweeps (keep in place): continue to block
paleasbest.top(todays carve-out IOC),cdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.app+ broader Google Cloud Run.a.run.appon build hosts (today Cluster A),bad-packages.kam193.eu(OSSF tracker reference for kam193 batches),webhook.site/d6092bdc-05c0-45da-a280-c343ea6d6156(2026-10-30 Cluster A spectral-core AWS-metadata infostealer),nobody-johnston-with-enabling.trycloudflare.com+imaging-amazing-trunk-surgeons.trycloudflare.com+154.57.164.64:30664(2026-10-30 spectral-net-probe file-exfil beacon),38.242.235.206/depconf/(2026-10-30 amahrou1w dep-confusion trio),webhook.site/f52af355-4783-4acb-9de1-5e44b5963025+www.hinny.shopapex (2026-10-30 @zmtcdn pair),webhook.site/e0981a8e-081e-49a0-8b4a-235109e13045/cbhq-canary(2026-10-30 Coinbase lure),webhook.site/89bd8fe7-328c-4e6d-970c-4d567b5a48a0(2026-10-30 HTB probe),.ngrok-free.appon CI/build hosts (2026-10-30 black-spindle-2),networkservicesupp.flashhub.net:8443(XMRig Monero pool, 2026-10-22 + 2026-10-26 + 2026-10-29 + 2026-10-30 DSH waves),cdn-status.mulderitsme.net(2026-10-29 csvflow-schema),13.140.137.222:8787+/_ah/dc+185.158.107.175:8787(2026-10-29 @webapp-shared operator),api.github.com/repos/jerryjohnston91/+codeload.github.com/jerryjohnston91/(2026-10-27 netweavex),c2-worker.crawlnet-claim.workers.devapex,34.143.131.27:18080+/x-VA-1/main.js,webhook.site/553dad0e-c841-46a8-b07d-213b52a24686/,75.119.137.232:31337+/depconfuse,transfer.archivete.amapex +/H2Uxm/fabdeploycheck-config.json,realwbx.comapex,artifacts.creditslib.comapex,login.fromthehotel.comapex,googleforum.pythonanywhere.com,space-z.ai,dxpoc.gt.tc,raw.githubusercontent.com/anonrider404/pypl/,api-bsx.pages.dev+/download,177.7.60.239:48080+oob.recon.dev,uncoder.eu.org,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,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,nfjbill.ren,storage.googleapis.com/depenconf/,10.0.19.0/24+10.0.49.0/24,api.nm-streetwear.space, Discord webhook URLs,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,www.litellm.dev/healthcheck,raw.githubusercontent.com/letters9813/pythonclient-test/main/domain.txt, SSH relay servicessrv.us,.devtunnels.ms,.devtunnels.visualstudio.com,.ngrok-free.dev/canary,109.94.169.196:8443+.sslip.io:8443,api.github.com/gists/3775fd9235aa6ef29e96eb96274a0e34,115.190.210.22`. New operator identities today*: Miasma family PyPI variant C2paleasbest.top(carve-out), kam1932026-10-is-it-aihidden-dep operator C2cdn-9zp0pi12ck0dmfig-3ozmpyh7ja-uc.a.run.app(Cluster A), kam193 continuation underGENERIC-standard-pypi-install-pentestaddsdoctreelstm(Cluster B). AddBun-1.3.13-linux-x64.zipdownload + any new.pthfiles appearing under site-packages on hosts to the standing watchlist (Miasma PyPI family signatures)
Sources
- GitHub Advisory Database - recent malware advisoriesgithub.com
- DependencyWatch: pypi-2026-11-01-pystr-codec-miasma-worm (carved-out critical first-PyPI Miasma worm variant with full IOCs, remediation sequence, and family attribution)dependencywatch.io
- GHSA-f93h-mc69-274w - PyPI pystr-codec Miasma worm variant (MAL-2026-18432, carve-out root reference)github.com
- GHSA-76h8-w3px-47hx - PyPI is-it-ai (Cluster A - kam193 2026-10-is-it-ai hidden-dependency malicious payload carrier, MAL-2026-18426)github.com
- GHSA-r92r-m9r8-78vj - PyPI skills-analyzer (Cluster A - wrapper pinning is-it-ai, MAL-2026-18427)github.com
- GHSA-7p4v-mm6f-8g5c - PyPI md-to-slides (Cluster A - wrapper pinning is-it-ai, MAL-2026-18428)github.com
- GHSA-vh26-86vj-f72g - PyPI multi-convert (Cluster A - wrapper pinning is-it-ai, trigger in 0.1.4, MAL-2026-18429)github.com
- OSSF malicious-packages MAL-2026-18426 (is-it-ai OSV record with C2 IOC and campaign tag)github.com
- GHSA-5fxv-5qc2-53g8 - PyPI doctreelstm (Cluster B - kam193 GENERIC-standard-pypi-install-pentest sibling of yesterday`s stdid-nyxprobe, MAL-2026-18430)github.com
- GHSA-fg5w-8hhw-8j6h - npm @mamans2973/maman (Cluster C - CWE-506 boilerplate, personal-scope pre-staged 4-version iteration)github.com
- GHSA-7j62-5j84-72fv - npm local-commander-agent (Cluster C - CWE-506 boilerplate, developer-tool-lure-shaped slug)github.com
- DependencyWatch: multi-2026-10-31-ghsa-malware-sweep (prior day - SiriusXM-shaped vas-tops2 dep-confusion dump + log-utils-sdk kam193 second-stage downloader + baileys wave-2 + wrangler-deploy typosquat)dependencywatch.io
- DependencyWatch: npm-2026-06-24-leo-platform-miasma-hades (June 2026 reference incident for Miasma family TTP)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.