GitHub Advisory malware sweep - 2026-09-04/05 batch (`houdus` Windows sandbox-detection dropper + `timeweave` Windows WinExec dropper + Box internal dep-confusion via `canarytokens.com` DNS + `tailwind-contact-forms` crypto-drainer typosquat + `line-through` + `real-router-telemetry` + `claude-channel-discord` recon + amirgo4496 PyPI dep-confusion campaign)
Multi-ecosystem sweep. houdus (PyPI, Sept 5) is a Windows-only sandbox-detecting dropper; timeweave fetches Windows executables from globaltimedata.com via WinExec. Also: Box internal dep-confusion via canarytokens.com DNS, tailwind-contact-forms crypto-drainer typosquat, line-through/real-router-telemetry webhook.site exfil, and the amirgo4496 PyPI dep-confusion campaign.
- Detected by
- GitHub Advisory Database · OpenSSF malicious-packages · OpenSSF Package Analysis · Amazon Inspector · bad-packages.kam193.eu
- Also known as
- 2026-09-05 GHSA sweep · 2026-09-houdus · 2026-09-amirgo4496 PyPI dep-confusion · 2026-09-asti · timeweave globaltimedata.com WinExec dropper · box-sign-client canarytokens.com dep-confusion · tailwind-contact-forms crypto drainer
- Ecosystems
- npmPyPI
- Packages tracked
- 38
What happened
The 24-hour window ending 2026-09-05 published 1 new malware advisory (houdus, PyPI) plus a large tail of Sept 4 npm and PyPI advisories that were not covered in the Sept 4 GHSA sweep - GitHub kept publishing through the day after the Sept 4 batch closed. All 30+ new advisories fall into 12 clusters, ranging from a serious Windows sandbox-detection dropper (houdus) and a Windows fetch-and-execute dropper (timeweave) down to the ongoing tea.xyz reward-farming autopublisher flood.
Cluster A - houdus PyPI Windows-only sandbox-detecting shellcode dropper (Sept 5)
| Package | Versions | GHSA | Campaign | |---|---|---|---| | houdus | 1.0.0, 1.0.1 | GHSA-frjq-w86w-r3gr | 2026-09-houdus |
Attack chain:
import houdustriggers loading of an obfuscated payload disguised as a.wavfile- Payload does extensive fingerprinting against analysis sandboxes; silently no-ops if a sandbox is detected
- On real hardware: downloads and executes heavily obfuscated code from a remote location
- Establishes persistence via a Windows scheduled task
- Runs shellcode
The .wav-disguised loader and sandbox-detection stage put this above the average GHSA-listed PyPI malware in effort. Classified as suspected infostealer by OpenSSF malicious-packages. Any Windows workstation that imported houdus must be treated as persistently compromised.
Cluster B - timeweave PyPI Windows WinExec dropper
| Package | Versions | GHSA | Payload host | |---|---|---|---| | timeweave | 1.0.0 - 1.9.0 (10 versions) | GHSA-pjqm-mp65-gqw6 | timezone.api.globaltimedata.com |
Masquerades as a timezone utility. On any advertised API call (timezone detection or conversion) it spawns a background thread deceptively named curls-autoupdate, fetches a JSON manifest from https://timezone.api.globaltimedata.com/latest/db.json, downloads arbitrary files into a temp dir prefixed firebeta_, and executes each via ctypes.windll.kernel32.WinExec.
The C2 server controls the manifest, the payload files, AND their checksums - no attacker-independent integrity check is possible. Because activation is on API-call rather than import, a scan that looks for import timeweave on live processes misses hosts that used it once and cached shellcode.
Cluster C - Box @box/sign-client dep-confusion via canarytokens.com DNS
| Package | Versions | GHSA | Exfil channel | |---|---|---|---| | box-sign-client | 1.0.0 | GHSA-g83p-hr9q-m2pp | iv6mfybhp42k33ysmzi73de5w.canarytokens.com DNS | | box-sign-client-poc | <=1.0.0 | GHSA-33rh-wv8r-6q4r | Same |
Both target Box's internal @box/sign-client namespace. preinstall reads os.hostname() and process.env.USER/USERNAME, embeds them plus a timestamp into a DNS subdomain, and resolves against iv6mfybhp42k33ysmzi73de5w.canarytokens.com (Thinkst Canarytokens beacon).
Why DNS + Canarytokens matters: canarytokens.com is a legitimate defender-side tripwire service - a defender who blocks it likely also blocks legitimate red-team infrastructure the enterprise uses. The operator is deliberately hiding inside noise a defender would hesitate to block. If this fired against a Box CI host, the operator knows Box's internal namespace resolves to public npm and a weaponised follow-up drop is coming.
Cluster D - tailwind-contact-forms crypto-drainer typosquat
| Package | Versions | GHSA | C2 | |---|---|---|---| | tailwind-contact-forms | <=0.5.12 (13 versions) | GHSA-389v-79qp-mvg6 | h.drpc.org, pc.io/eth, stapi.io, ut.com/api |
Impersonates the legitimate @tailwindcss/forms plugin. package.json repository field falsely references Tailwind Labs. Payload in src/index.js is obfuscated, fires on install and require(), and hits crypto infrastructure endpoints with Etherscan-style module=account&action=txlist queries - wallet-address enumeration and likely a follow-on wallet-drain drop.
Cluster E - real-router-telemetry .env credential exfil to webhook.site
| Package | Versions | GHSA | Exfil | |---|---|---|---| | real-router-telemetry | 1.0.1, 1.0.4 | GHSA-cwm2-j3h3-g35f | https://webhook.site/e32d3b8a-a5df-40cc-ae60-7a8343b581e4 |
Obfuscated telemetry.js grabs hostname, username, CWD, platform, arch, memory, CPU info, runs shell commands for OS + process enumeration, and reads .env from CWD - every API key and DB password in the workspace .env is exfiltrated. postinstall hook fires the payload on 1.0.1; on 1.0.4 the postinstall was partially disabled but the code still runs on require().
Cluster F - line-through GitHub Actions env-var exfil
| Package | Versions | GHSA | Exfil | |---|---|---|---| | line-through | 1.0.0 | GHSA-j28f-v2rv-5qxh | webhook.site + *.your-collab-domain.oastify.com |
preinstall script vishu.js grabs public IP, hostname, and GitHub Actions env vars: CI, GITHUB_ACTIONS, GITHUB_WORKFLOW, GITHUB_RUN_ID, ... - deliberately targets CI/CD workflow tokens rather than developer laptops. Dual-channel exfil: HTTPS GET to https://webhook.site/66059630-2030-4b44-b2df-d37e02be0a7d and DNS to <hostname>.your-collab-domain.oastify.com (the literal Burp Collaborator placeholder is either debug leftovers or a real deployment). Any GitHub Actions run that installed line-through compromised every workflow secret visible at that step.
Cluster G - claude-channel-discord pipedream fingerprinter
| Package | Versions | GHSA | Exfil | |---|---|---|---| | claude-channel-discord | 9.9.9 | GHSA-787m-xjf4-8gx6 | https://eo8f3m3ho26a0nm.m.pipedream.net/claude-channel-discord?h=<hostname> |
Low-yield dep-confusion probe. Runs on preinstall, postinstall, and require. 9.9.9 version tag and Anthropic-adjacent naming are the tell. This is a fingerprinter, not the attack. If it resolved, the follow-up drop is coming.
Cluster H - ulid-intel + @crysnovax/* npm minimal-detail malware
| Package | GHSA | Note | |---|---|---| | ulid-intel | GHSA-h48j-674x-299v | Full-compromise boilerplate | | @crysnovax/plug | GHSA-vg98-2r8g-7qw2 | Full-compromise boilerplate | | @crysnovax/baileys | GHSA-c34p-4828-cg5g | Typosquat of @whiskeysockets/baileys | | @crysnovax/baileys-fixed | GHSA-262v-p7h8-9574 | Typosquat of @whiskeysockets/baileys | | @crysnovax/baileys-stable | GHSA-p579-542j-6v98 | Typosquat of @whiskeysockets/baileys |
GHSA metadata is thin. The four @crysnovax/* packages share an operator and specifically target developers building WhatsApp Web automation with @whiskeysockets/baileys - a common target for account-takeover or session-hijack payloads.
Cluster I - amirgo4496 PyPI dep-confusion campaign
| Package | Versions | GHSA | |---|---|---| | tpu-raiden-jax | >=99.99.0 | GHSA-3cvj-xhpg-ggw5 | | pymaas | 99.99.0 | GHSA-9hv8-x7fp-26vw | | olympuslib | >=99.99.0 | GHSA-jjjp-27xc-v3pv |
All three exfiltrate environment variables on import. >=99.99.0 version numbering is classic dep-confusion. Any organisation with an internal tpu-raiden-jax / pymaas / olympuslib pinned below 99.99.0 and no --index-url override will pull the malicious public version. Environment variables in most CI shells include cloud credentials, so the payload is high-value despite the "limited risk" classification in the OpenSSF metadata.
Cluster J - Generic PyPI pentest sweep
| Package | Versions | GHSA | |---|---|---| | chartkit-core | 1.0 | GHSA-qhj3-jww9-gmfc | | metricboxlite | 1.0, 2.0 | GHSA-92qj-f225-g878 |
Both override setup.py install to exfil IP+username on install or import; campaign GENERIC-standard-pypi-install-pentest. Boilerplate pentest artefacts.
Cluster K - astlsi + qoeoe PyPI file-exfil
| Package | Versions | GHSA | Campaign | |---|---|---|---| | astlsi | 0.1.0 | GHSA-mcr6-6rvw-7mg3 | Android-targeting | | qoeoe | 0.1.0 | GHSA-mf95-3h9p-8xpm | 2026-09-asti |
Hidden code exfiltrates files to a remote server. C2 endpoints not disclosed in GHSA metadata.
Cluster L - tea.xyz autopublisher flood tail
~25 new damp_* / damaged_* / dandelion-* / daliuren-* / damradio / danangwijaya / danasah packages, all autopublisher-generated names abusing the tea.xyz protocol's dependency-count-based reward inflation. See npm-2026-07-25-ghsa-tea-xyz-backfill for the pattern write-up. No credential-stealer / wallet-drain payload; near-zero probability of a lockfile hit.
Registry state
All packages listed above were flagged as malware on the npm and PyPI registries between 2026-09-04 and 2026-09-05 and added to the respective quarantine lists. Private mirrors (Verdaccio, Artifactory, Nexus, devpi) that cached tarballs before the takedown will keep serving the malicious versions - blocking the C2 hosts (globaltimedata.com, webhook.site, canarytokens.com from build hosts, oastify.com, pipedream.net beacon subdomains) at the network edge is a durable mitigation independent of registry-side quarantine.
Discovery credits
GitHub Advisory Database, OpenSSF malicious-packages, OpenSSF Package Analysis, Amazon Inspector, bad-packages.kam193.eu.
Affected packages (38)
- npm@crysnovax/baileys0.0.0
- npm@crysnovax/baileys-fixed0.0.0
- npm@crysnovax/baileys-stable0.0.0
- npm@crysnovax/plug0.0.0
- PyPIastlsi0.1.0
- npmbox-sign-client1.0.0
- npmbox-sign-client-poc1.0.0
- PyPIchartkit-core1.0
- npmclaude-channel-discord9.9.9
- npmdamp_coyote_0xrequest1.0.0
- npmdamp_guanaco_z3n1.0.0
- npmdamp_haddock_requirement1.0.0
- npmdamp_manatee_z3n1.0.0
- npmdamp_mastodon_z3n1.0.0
- npmdamp_pelican_z3n1.0.0
- npmdamp_spoonbill_coral-601.0.0
- npmdamp_vulture_z3n1.0.0
- npmdamp_wolverine_white-891.0.0
- npmdampradio1.0.0
- npmdanangwijaya1.0.0
- npmdanasah1.0.0
- npmdandelion-amber-owt940-project1.0.0
- npmdandelion-brook-wuk348-project1.0.0
- npmdandelion-cliff-atc189-project1.0.0
- npmdandelion-coral-rpv024-project1.0.0
- npmdandelion-dune-cli341-project1.0.0
- npmdandelion-giraffe-mpa122-project1.0.0
- PyPIhoudus1.0.01.0.1
- npmline-through1.0.0
- PyPImetricboxlite1.02.0
- PyPIolympuslib99.99.0
- PyPIpymaas99.99.0
- PyPIqoeoe0.1.0
- npmreal-router-telemetry1.0.11.0.4
- npmtailwind-contact-forms0.5.00.5.10.5.20.5.30.5.40.5.50.5.60.5.70.5.80.5.90.5.100.5.110.5.12
- PyPItimeweave1.0.01.1.01.2.01.3.01.4.01.5.01.6.01.7.01.8.01.9.0
- PyPItpu-raiden-jax99.99.0
- npmulid-intel0.0.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.
Impact
- Cluster A -
houdusPyPI Windows-only sandbox-detecting shellcode dropper (1 package, 2 versions):houdus@1.0.0+1.0.1(GHSA-frjq-w86w-r3gr, campaign2026-09-houdus) loads an obfuscated payload disguised as a.wavfile on import. Windows-only, and does extensive fingerprinting against analysis sandboxes before doing anything malicious - if it detects a sandbox it silently no-ops, so a shallow dynamic-analysis pass sees nothing. On real hardware it downloads and executes heavily obfuscated code from a remote location, establishes persistence via Windows scheduled tasks, and runs shellcode. Suspected infostealer per the OSFmalicious-packagesclassification. Any Windows developer workstation that importedhoudusmust be treated as fully compromised (persistence survives package removal) - Cluster B -
timeweavePyPI Windows fetch-and-execute dropper (1 package, 10 versions):timeweave@1.0.0-1.9.0(GHSA-pjqm-mp65-gqw6) masquerades as a timezone utility. On any advertised API call (timezone detection or conversion) it spawns a background thread deceptively namedcurls-autoupdate, fetches a JSON manifest fromhttps://timezone.api.globaltimedata.com/latest/db.json, downloads arbitrary files into a temp dir prefixedfirebeta_, and executes them viactypes.windll.kernel32.WinExec. The C2 server controls both the manifest payload AND its checksums - no integrity check possible. Because activation happens on library use (not just import),--no-depsaudits miss it. Any Windows host that ran atimeweave-calling script during the exposure window must be treated as running attacker-supplied code - Cluster C - Box
@box/sign-clientdep-confusion via canarytokens.com DNS (2 packages, 2 versions):box-sign-client@1.0.0(GHSA-g83p-hr9q-m2pp) andbox-sign-client-poc@<=1.0.0(GHSA-33rh-wv8r-6q4r) target Box's internal@box/sign-clientnamespace. Both run apreinstallscript that readsos.hostname()andprocess.env.USER/USERNAME, embeds the values plus a timestamp into a DNS subdomain, and resolves againstiv6mfybhp42k33ysmzi73de5w.canarytokens.com(a Thinkst Canarytokens beacon token). This is fingerprinting for a follow-up drop against confirmed-vulnerable Box installations - a preinstall DNS beacon is deliberately low-noise and slips past HTTPS egress filters that ignore DNS. Box engineers should audit private-registry precedence rules immediately - Cluster D -
tailwind-contact-formscrypto-drainer typosquat (1 package, <=13 versions):tailwind-contact-forms@<=0.5.12(GHSA-389v-79qp-mvg6) impersonates the legitimate@tailwindcss/formsplugin. Packagerepositorymetadata falsely references Tailwind Labs' upstream. On install andrequire()an obfuscated payload insrc/index.jsreads hostname and env vars, then contacts cryptocurrency infrastructure:h.drpc.org,pc.io/eth,stapi.io,ut.com/api, and Etherscan-style endpoints withmodule=account&action=txlistparameters. Behaviour is consistent with a wallet-address enumeration / eventual wallet-drain drop. Any developer who fat-fingered@tailwindcss/formsand pulledtailwind-contact-formsmust audit for wallet-address exposure - Cluster E -
real-router-telemetry.envcredential exfil to webhook.site (1 package, 2 versions):real-router-telemetry@1.0.1+1.0.4(GHSA-cwm2-j3h3-g35f) ships an obfuscatedtelemetry.jsthat grabs hostname, username, CWD, platform, arch, memory, CPU info, runs shell commands to enumerate OS + running processes, and reads.envfrom the CWD - so any API key, DB password, or OAuth secret in the workspace.envis exfiltrated. Data is POSTed tohttps://webhook.site/e32d3b8a-a5df-40cc-ae60-7a8343b581e4. The1.0.4version had thepostinstallhook partially disabled but the module still runs on import - Cluster F -
line-throughwebhook.site +oastify.comCI/CD-env exfil (1 package, 1 version):line-through@1.0.0(GHSA-j28f-v2rv-5qxh) preinstall scriptvishu.jsgrabs public IP, hostname, and GitHub Actions env vars (CI,GITHUB_ACTIONS,GITHUB_WORKFLOW,GITHUB_RUN_ID, ...) - a targeted CI/CD workflow-token-theft posture rather than developer laptop hunting. Exfil is dual-channel: HTTPS GET tohttps://webhook.site/66059630-2030-4b44-b2df-d37e02be0a7dand DNS to<hostname>.your-collab-domain.oastify.com(default Burp Collaborator subdomain - either debug leftovers or a real deployment). Any GitHub-Actions workflow that installedline-throughshould treat every workflow secret visible at that step as compromised - Cluster G -
claude-channel-discordpipedream beacon (1 package, 1 version):claude-channel-discord@9.9.9(GHSA-787m-xjf4-8gx6) is a low-yield dep-confusion probe. Preinstall+postinstall+require paths all executenode index.jswhich readsos.hostname()and GETshttps://eo8f3m3ho26a0nm.m.pipedream.net/claude-channel-discord?h=<hostname>. The9.9.9version tag and Anthropic-adjacent naming (dep-confusion probe against an internalclaude-channel-discord-style package) are the fingerprint. Not a payload; a fingerprinter for a follow-up drop - *Cluster H -
ulid-intel+ `@crysnovax/npm minimal-detail malware (5 packages, all versions)**:ulid-intel(GHSA-h48j-674x-299v) and the four@crysnovax/packagesplug(GHSA-vg98-2r8g-7qw2),baileys-fixed(GHSA-262v-p7h8-9574),baileys-stable(GHSA-p579-542j-6v98),baileys(GHSA-c34p-4828-cg5g) - GHSA flags each with the boilerplate "any computer that has this package installed should be considered fully compromised" and no further technical detail. The four@crysnovax/names cluster under one operator;baileys*are typosquats/rebrands of the popular@whiskeysockets/baileys` WhatsApp Web API library and would be pulled by anyone building WhatsApp automation. Uninstall on any lockfile hit and rotate any credentials on the host - Cluster I -
amirgo4496PyPI dep-confusion recon campaign (3 packages, versions >=99.99.0):tpu-raiden-jax(GHSA-3cvj-xhpg-ggw5),pymaas@99.99.0(GHSA-9hv8-x7fp-26vw), andolympuslib(GHSA-jjjp-27xc-v3pv) share campaign id2026-09-amirgo4496. All exfiltrate environment variables on import; the>=99.99.0version numbering is the classic dep-confusion trick (any organisation with an internaltpu-raiden-jax/pymaas/olympuslibpackage pinned below99.99.0will resolve the malicious public version instead). Classified as "limited risk" by researchers but the fingerprint they capture (env vars including cloud credentials in most CI shells) is high-value - Cluster J - Generic PyPI pentest-pattern sweep (2 packages, 3 versions):
chartkit-core@1.0(GHSA-qhj3-jww9-gmfc) andmetricboxlite@1.0+2.0(GHSA-92qj-f225-g878) - both override thesetup.py installcommand to exfil IP and username on install or import; campaignGENERIC-standard-pypi-install-pentest. Boilerplate pentest-tooling artefacts more than targeted attacks, but the same behaviour under a different name is used by real threat actors, so flag anyway - Cluster K -
astlsi+qoeoePyPI file-exfil (2 packages, 2 versions):astlsi@0.1.0(GHSA-mcr6-6rvw-7mg3) andqoeoe@0.1.0(GHSA-mf95-3h9p-8xpm, campaign2026-09-asti) both contain hidden code that exfiltrates files to a remote server. Advisory metadata tags them Android-targeting. C2 endpoints are not disclosed in the GHSA record but the file-exfil pattern is the payload - Cluster L - tea.xyz autopublisher flood tail (>=25 npm packages, all versions):
damp_*(damp_haddock_requirement,damp_manatee_z3n,damp_coyote_0xrequest,damp_guanaco_z3n,damp_mastodon_z3n,damp_spoonbill_coral-60,damp_wolverine_white-89,damp_vulture_z3n,damp_pelican_z3n,damp_swift-gooddev,damp_dog_z3n,damp_guineafowl_z3n,damp_ermine_z3n,damp_hawk_0xrequest,damp_hippopotamus_z3n,damp_tuna_z3n,damp_gayal_z3n,damp_angelfish_gray-42,damp_sheep_z3n),damaged_*,dandelion-*(dandelion-coral-rpv024-project,dandelion-amber-owt940-project,dandelion-giraffe-mpa122-project,dandelion-dune-cli341-project,dandelion-brook-wuk348-project,dandelion-cliff-atc189-project),daliuren-*,dampradio,danangwijaya,danasah. All autopublisher-generated names abusing tea.xyz protocol reward inflation - seenpm-2026-07-25-ghsa-tea-xyz-backfillfor the pattern write-up. No credential-stealer / wallet-drain payload; zero practical dependency-audit risk (nobody legitimately depends ondamp_wolverine_white-89)
What to do
- 1Grep every
package-lock.json,yarn.lock,pnpm-lock.yaml,requirements.txt,poetry.lock,Pipfile.lock,uv.lock, and internal registry mirror for the package names below. Uninstall and rebuild the lockfile against a clean cache on any hit - 2For Cluster A (
houdusWindows dropper): any Windows host that ranimport houdusshould be treated as persistently compromised - the scheduled-task persistence survives package removal. Isolate the host, image it, and rebuild from a clean template rather than trying to clean in place. The obfuscated.wavpayload and sandbox-detection logic mean signature-based AV likely missed the initial infection - 3For Cluster B (
timeweave): block outbound DNS/HTTPS totimezone.api.globaltimedata.comand*.globaltimedata.comfrom any Windows build/dev host. Uninstalltimeweavefrom every project. Because activation is on API-call (not just import), apip list --outdatedsweep is insufficient - grep forimport timeweavein every project. Rotate any credential accessible to a host that ran atimeweave-using script - 4For Cluster C (Box
@box/sign-clientdep-confusion): Box engineers - audit.npmrcscope-registry pinning for the@boxscope on every developer laptop and CI host. If eitherbox-sign-clientorbox-sign-client-pocresolved on any host, the operator now knows Box's internal namespace resolves to public npm and a weaponised follow-up drop is coming. Block DNS to*.canarytokens.comfrom build/CI hosts (legit uses of Canarytokens are staff-side, not build-side) - 5For Cluster D (
tailwind-contact-forms): grep fortailwind-contact-formsin every lockfile. Any hit indicates a fat-finger of@tailwindcss/forms- remove it, pin@tailwindcss/formsexplicitly, and audit for wallet-address exposure or unexpected outbound toh.drpc.org/pc.io/stapi.io/ut.com - 6For Clusters E + F (
real-router-telemetry,line-throughwebhook.site exfil): rotate every credential in any.envfile present on the host during the exposure window. Block outbound towebhook.sitefrom build/CI hosts entirely (webhook.site has zero legitimate build-time use and is by far the most common exfil sink). Forline-through: any GitHub Actions workflow that installed it, treat every workflow secret visible at the step as compromised - rotate GITHUB_TOKEN, deploy keys, npm publish tokens, container registry creds, and any org-level secret exposed to the workflow - 7For Cluster G (
claude-channel-discord): fingerprinting probe only. If it resolved, the follow-up drop is coming; add@claude-*scopes and internal Anthropic-adjacent package names to your private-registry scope pin in.npmrc - 8*For Cluster H (
ulid-intel+ `@crysnovax/)**: uninstall on hit, rotate secrets. Thebaileys*-named packages are typosquats against@whiskeysockets/baileys(WhatsApp Web API) - if you build WhatsApp automation, pin explicitly to@whiskeysockets/baileys` - 9For Cluster I (
amirgo4496PyPI dep-confusion): if any internaltpu-raiden-jax,pymaas, orolympuslibpackage existed at a version below99.99.0and any developer or CI host ranpip installwithout an explicit index-url override, the malicious public version was pulled. Auditpip configand set--index-urlexplicitly to your internal mirror. Rotate any env-var-exposed secret on affected hosts (env vars in CI usually include cloud credentials) - 10For Clusters J + K + L (pentest, file-exfil, tea.xyz flood): uninstall on hit; no host-forensics response required beyond routine credential-rotation prudence. The tea.xyz flood packages are cataloguing noise - the near-zero probability of a lockfile hit means they exist here for audit-trail completeness, not urgent response
- 11For every
npm installandpip installin CI, prefer--ignore-scripts/pip install --no-depswhere feasible - this blocks Clusters B (partial), C, D (partial), E (postinstall path only), F, G preinstall vectors. Clusters A, B (main path), D (require-time), H, I still fire on import - the only defence there is not resolving the package at all
References
- GitHubGitHub Advisory Database - recent malware advisoriesgithub.com
- GitHubGHSA-frjq-w86w-r3gr - houdus (PyPI Windows sandbox-detecting shellcode dropper)github.com
- GitHubGHSA-pjqm-mp65-gqw6 - timeweave (PyPI Windows WinExec dropper via globaltimedata.com)github.com
- GitHubGHSA-g83p-hr9q-m2pp - box-sign-client (Box internal dep-confusion, canarytokens.com DNS beacon)github.com
- GitHubGHSA-33rh-wv8r-6q4r - box-sign-client-poc (Box internal dep-confusion, canarytokens.com DNS beacon)github.com
- GitHubGHSA-389v-79qp-mvg6 - tailwind-contact-forms (@tailwindcss/forms typosquat, wallet-address enumeration)github.com
- GitHubGHSA-cwm2-j3h3-g35f - real-router-telemetry (.env exfil to webhook.site)github.com
- GitHubGHSA-j28f-v2rv-5qxh - line-through (GitHub Actions env exfil to webhook.site + oastify.com)github.com
- GitHubGHSA-787m-xjf4-8gx6 - claude-channel-discord (pipedream.net dep-confusion beacon)github.com
- GitHubGHSA-h48j-674x-299v - ulid-intelgithub.com
- GitHubGHSA-vg98-2r8g-7qw2 - @crysnovax/pluggithub.com
- GitHubGHSA-c34p-4828-cg5g - @crysnovax/baileys (baileys typosquat)github.com
- GitHubGHSA-262v-p7h8-9574 - @crysnovax/baileys-fixed (baileys typosquat)github.com
- GitHubGHSA-p579-542j-6v98 - @crysnovax/baileys-stable (baileys typosquat)github.com
- GitHubGHSA-3cvj-xhpg-ggw5 - tpu-raiden-jax (2026-09-amirgo4496 env-var exfil)github.com
- GitHubGHSA-9hv8-x7fp-26vw - pymaas (2026-09-amirgo4496 env-var exfil)github.com
- GitHubGHSA-jjjp-27xc-v3pv - olympuslib (2026-09-amirgo4496 env-var exfil)github.com
- GitHubGHSA-qhj3-jww9-gmfc - chartkit-coregithub.com
- GitHubGHSA-92qj-f225-g878 - metricboxlitegithub.com
- GitHubGHSA-mcr6-6rvw-7mg3 - astlsigithub.com
- GitHubGHSA-mf95-3h9p-8xpm - qoeoe (2026-09-asti)github.com
- OpenSSFOpenSSF malicious-packages repositorygithub.com