# GitHub Advisory malware sweep, 4 November 2026

> 127 packages from GitHub malware advisories published between 3 and 4 November 2026 (06:00 UTC). Headlines: PyPI packages carrying the Overlord RAT and an infostealer executable, 25 dependency-confusion probes in lookalike GoParrot scopes, game-cheat spam, and a large batch of CWE-506 takedowns.

- Published: 2026-11-04
- Last updated: 2026-11-06
- Severity: high
- Kind: 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.
- Ecosystems: npm, PyPI, RubyGems
- Scope: 127 packages, 164 compromised versions
- Tags: infostealer, credential-theft, dependency-confusion
- Also known as: GHSA 2026-11-04 batch
- Detected by: GitHub Advisory Database, OpenSSF Package Analysis, kam193
- Incident ID: multi-2026-11-04-ghsa-malware-sweep

## Affected packages (127)

Only the exact versions listed were named by the source advisories. Other versions are not implicated.

| Package | Ecosystem | Compromised versions |
|---|---|---|
| [@atedone/workspace-context](https://dependencywatch.io/package/npm/@atedone/workspace-context) | npm | 0.0.12, 0.0.13, 0.0.14, 0.0.15, 0.0.16, 0.0.17, 0.0.18, 0.0.19, 0.0.20, 0.0.21, 0.0.22, 0.0.23, 0.0.24, 0.0.25 |
| [@corexium/xbails](https://dependencywatch.io/package/npm/@corexium/xbails) | npm | 0.0.7 |
| [@goparrot-dashboard-api/orchestration](https://dependencywatch.io/package/npm/@goparrot-dashboard-api/orchestration) | npm | 0.0.1 |
| [@goparrot-dashboard-api/role-v2](https://dependencywatch.io/package/npm/@goparrot-dashboard-api/role-v2) | npm | 0.0.1 |
| [@goparrot-dashboard-api/shared](https://dependencywatch.io/package/npm/@goparrot-dashboard-api/shared) | npm | 0.0.1 |
| [@goparrot-dashboard-api/store](https://dependencywatch.io/package/npm/@goparrot-dashboard-api/store) | npm | 0.0.1 |
| [@goparrot-dashboard-api/users](https://dependencywatch.io/package/npm/@goparrot-dashboard-api/users) | npm | 0.0.1 |
| [@goparrot-dashboard/analytics](https://dependencywatch.io/package/npm/@goparrot-dashboard/analytics) | npm | 0.0.1 |
| [@goparrot-dashboard/app](https://dependencywatch.io/package/npm/@goparrot-dashboard/app) | npm | 0.0.1, 0.0.2, 0.0.3 |
| [@goparrot-dashboard/auth](https://dependencywatch.io/package/npm/@goparrot-dashboard/auth) | npm | 0.0.1 |
| [@goparrot-dashboard/category](https://dependencywatch.io/package/npm/@goparrot-dashboard/category) | npm | 0.0.1 |
| [@goparrot-dashboard/combo-group](https://dependencywatch.io/package/npm/@goparrot-dashboard/combo-group) | npm | 0.0.1 |
| [@goparrot-dashboard/combos](https://dependencywatch.io/package/npm/@goparrot-dashboard/combos) | npm | 0.0.1 |
| [@goparrot-dashboard/franchise-directory](https://dependencywatch.io/package/npm/@goparrot-dashboard/franchise-directory) | npm | 0.0.1 |
| [@goparrot-dashboard/franchise-management](https://dependencywatch.io/package/npm/@goparrot-dashboard/franchise-management) | npm | 0.0.1 |
| [@goparrot-dashboard/franchise-marketing](https://dependencywatch.io/package/npm/@goparrot-dashboard/franchise-marketing) | npm | 0.0.1 |
| [@goparrot-dashboard/franchise-menu-settings](https://dependencywatch.io/package/npm/@goparrot-dashboard/franchise-menu-settings) | npm | 0.0.1 |
| [@goparrot-dashboard/homepages](https://dependencywatch.io/package/npm/@goparrot-dashboard/homepages) | npm | 0.0.1 |
| [@goparrot-dashboard/i18n](https://dependencywatch.io/package/npm/@goparrot-dashboard/i18n) | npm | 0.0.1 |
| [@goparrot-dashboard/loyalty](https://dependencywatch.io/package/npm/@goparrot-dashboard/loyalty) | npm | 0.0.1 |
| [@goparrot-dashboard/marketing](https://dependencywatch.io/package/npm/@goparrot-dashboard/marketing) | npm | 0.0.1 |
| [@goparrot-dashboard/menu](https://dependencywatch.io/package/npm/@goparrot-dashboard/menu) | npm | 0.0.1 |
| [@goparrot-dashboard/order](https://dependencywatch.io/package/npm/@goparrot-dashboard/order) | npm | 0.0.1 |
| [@goparrot-dashboard/payment](https://dependencywatch.io/package/npm/@goparrot-dashboard/payment) | npm | 0.0.1 |
| [@goparrot-dashboard/promotion](https://dependencywatch.io/package/npm/@goparrot-dashboard/promotion) | npm | 0.0.1 |
| [@goparrot-dashboard/settings](https://dependencywatch.io/package/npm/@goparrot-dashboard/settings) | npm | 0.0.1 |
| [@goparrot-dashboard/store](https://dependencywatch.io/package/npm/@goparrot-dashboard/store) | npm | 0.0.1 |
| [@lynnidoffc/baileys](https://dependencywatch.io/package/npm/@lynnidoffc/baileys) | npm | * |
| [@lynnidoffc/libsignal-node](https://dependencywatch.io/package/npm/@lynnidoffc/libsignal-node) | npm | * |
| [@mntv-analysis/ui](https://dependencywatch.io/package/npm/@mntv-analysis/ui) | npm | * |
| [@mntv-analysis/ui-components](https://dependencywatch.io/package/npm/@mntv-analysis/ui-components) | npm | * |
| [@mntv-analysis/workspaces-components](https://dependencywatch.io/package/npm/@mntv-analysis/workspaces-components) | npm | * |
| [@shein-risk/si_verify](https://dependencywatch.io/package/npm/@shein-risk/si_verify) | npm | * |
| [@systemzero/baileys](https://dependencywatch.io/package/npm/@systemzero/baileys) | npm | * |
| [@touchkey0111/jito-bundle](https://dependencywatch.io/package/npm/@touchkey0111/jito-bundle) | npm | * |
| [@user-interface-common/common-styles](https://dependencywatch.io/package/npm/@user-interface-common/common-styles) | npm | * |
| [@vanzxy/baileys](https://dependencywatch.io/package/npm/@vanzxy/baileys) | npm | * |
| [@vanzxy/nusa](https://dependencywatch.io/package/npm/@vanzxy/nusa) | npm | * |
| [1b67v5](https://dependencywatch.io/package/npm/1b67v5) | npm | * |
| [2tyegs](https://dependencywatch.io/package/npm/2tyegs) | npm | * |
| [3zqth8](https://dependencywatch.io/package/npm/3zqth8) | npm | * |
| [5df897](https://dependencywatch.io/package/npm/5df897) | npm | * |
| [7un7kh](https://dependencywatch.io/package/npm/7un7kh) | npm | * |
| [9ct8bi](https://dependencywatch.io/package/npm/9ct8bi) | npm | * |
| [arbkit](https://dependencywatch.io/package/npm/arbkit) | npm | * |
| [bandkit](https://dependencywatch.io/package/npm/bandkit) | npm | * |
| [blitzstrike](https://dependencywatch.io/package/npm/blitzstrike) | npm | 2.4.180 |
| [brida-frida-hooks](https://dependencywatch.io/package/rubygems/brida-frida-hooks) | RubyGems | 1.0.1 |
| [buyerdashboard](https://dependencywatch.io/package/npm/buyerdashboard) | npm | * |
| [bznio5](https://dependencywatch.io/package/npm/bznio5) | npm | * |
| [code-resour-ces-new-app-cloner-premium-9upyk2](https://dependencywatch.io/package/npm/code-resour-ces-new-app-cloner-premium-9upyk2) | npm | * |
| [dopc-client](https://dependencywatch.io/package/rubygems/dopc-client) | RubyGems | 1.0.0, 10.0.0 |
| [dsh-moss-console](https://dependencywatch.io/package/npm/dsh-moss-console) | npm | 3.3.0 |
| [dsh-moss-wallpaper](https://dependencywatch.io/package/npm/dsh-moss-wallpaper) | npm | 3.4.0 |
| [filipt](https://dependencywatch.io/package/pypi/filipt) | PyPI | 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5 |
| [g3ypjg](https://dependencywatch.io/package/npm/g3ypjg) | npm | * |
| [gene-rator-new-hearthstone-h-a-c-k-gen-erat-or-9wy4b5](https://dependencywatch.io/package/npm/gene-rator-new-hearthstone-h-a-c-k-gen-erat-or-9wy4b5) | npm | * |
| [gene-rator-new-rope-hero-h-a-c-k-gen-erat-or-azkrvc](https://dependencywatch.io/package/npm/gene-rator-new-rope-hero-h-a-c-k-gen-erat-or-azkrvc) | npm | * |
| [gvmabc](https://dependencywatch.io/package/npm/gvmabc) | npm | * |
| [hijuko-pilara](https://dependencywatch.io/package/pypi/hijuko-pilara) | PyPI | 1.0.0 |
| [ib3rwn](https://dependencywatch.io/package/npm/ib3rwn) | npm | * |
| [idlive-face-capture-web-development](https://dependencywatch.io/package/npm/idlive-face-capture-web-development) | npm | * |
| [j4pe0w](https://dependencywatch.io/package/npm/j4pe0w) | npm | * |
| [j5ugvu](https://dependencywatch.io/package/npm/j5ugvu) | npm | * |
| [jailbreak-code](https://dependencywatch.io/package/npm/jailbreak-code) | npm | * |
| [jd7ijw](https://dependencywatch.io/package/npm/jd7ijw) | npm | * |
| [jito-bundle-jito-tip7](https://dependencywatch.io/package/npm/jito-bundle-jito-tip7) | npm | * |
| [jito-bundle-jitotip](https://dependencywatch.io/package/npm/jito-bundle-jitotip) | npm | * |
| [jito-bundle-solana](https://dependencywatch.io/package/npm/jito-bundle-solana) | npm | * |
| [jito-bundle-tip-7](https://dependencywatch.io/package/npm/jito-bundle-tip-7) | npm | * |
| [k7nhgj](https://dependencywatch.io/package/npm/k7nhgj) | npm | * |
| [kojs0k](https://dependencywatch.io/package/npm/kojs0k) | npm | * |
| [l52upm](https://dependencywatch.io/package/npm/l52upm) | npm | * |
| [latest-update-my-talking-angela-h-a-c-k-gen-erat-or-q8z42f](https://dependencywatch.io/package/npm/latest-update-my-talking-angela-h-a-c-k-gen-erat-or-q8z42f) | npm | * |
| [ll3zea](https://dependencywatch.io/package/npm/ll3zea) | npm | * |
| [ln9qw38745g](https://dependencywatch.io/package/pypi/ln9qw38745g) | PyPI | 0.1.0, 0.1.1 |
| [luna-baileys](https://dependencywatch.io/package/npm/luna-baileys) | npm | 0.0.0-stage, 1.0.0, 9.0.24, 9.0.25, 9.0.26, 9.0.27, 9.0.28, 9.0.33 |
| [mocha-ui-themes](https://dependencywatch.io/package/npm/mocha-ui-themes) | npm | * |
| [monkey-tags-ip](https://dependencywatch.io/package/npm/monkey-tags-ip) | npm | * |
| [more-resour-ces-gen-daylio-h-a-c-k-gen-erat-or-qvi0r6](https://dependencywatch.io/package/npm/more-resour-ces-gen-daylio-h-a-c-k-gen-erat-or-qvi0r6) | npm | * |
| [more-resour-ces-gen-disney-mirrorverse-h-a-c-k-gen-erat-or-gulnxl](https://dependencywatch.io/package/npm/more-resour-ces-gen-disney-mirrorverse-h-a-c-k-gen-erat-or-gulnxl) | npm | * |
| [more-resour-ces-gen-stickman-legends-f-r-e-e-h-a-c-k-gen-erat-or-bv4n15](https://dependencywatch.io/package/npm/more-resour-ces-gen-stickman-legends-f-r-e-e-h-a-c-k-gen-erat-or-bv4n15) | npm | * |
| [more-resour-ces-gen-tailed-demon-slayer-h-a-c-k-gen-erat-or-yas2jz](https://dependencywatch.io/package/npm/more-resour-ces-gen-tailed-demon-slayer-h-a-c-k-gen-erat-or-yas2jz) | npm | * |
| [new-code-unlim-ited-jurassic-world-m-od-f-r-e-e-wuo1ky](https://dependencywatch.io/package/npm/new-code-unlim-ited-jurassic-world-m-od-f-r-e-e-wuo1ky) | npm | * |
| [new-code-unlim-ited-my-time-at-portia-h-a-c-k-gen-erat-or-i477p4](https://dependencywatch.io/package/npm/new-code-unlim-ited-my-time-at-portia-h-a-c-k-gen-erat-or-i477p4) | npm | * |
| [nulio-connector](https://dependencywatch.io/package/npm/nulio-connector) | npm | 1.1.10, 1.1.11, 1.1.16 |
| [paidwithtab](https://dependencywatch.io/package/npm/paidwithtab) | npm | 3.0.0 |
| [passwordcracker](https://dependencywatch.io/package/npm/passwordcracker) | npm | * |
| [passwordcrackv2](https://dependencywatch.io/package/npm/passwordcrackv2) | npm | * |
| [print-hello-world-test-temp](https://dependencywatch.io/package/npm/print-hello-world-test-temp) | npm | * |
| [protecteda](https://dependencywatch.io/package/pypi/protecteda) | PyPI | 0.1.0 |
| [qxjf8r](https://dependencywatch.io/package/npm/qxjf8r) | npm | * |
| [react-contact-forms](https://dependencywatch.io/package/npm/react-contact-forms) | npm | * |
| [real-gen-erator-one-shade-h-a-c-k-gen-erat-or-8ks294](https://dependencywatch.io/package/npm/real-gen-erator-one-shade-h-a-c-k-gen-erat-or-8ks294) | npm | * |
| [rootaccessxvv-bbmarker](https://dependencywatch.io/package/npm/rootaccessxvv-bbmarker) | npm | * |
| [rtvu6h](https://dependencywatch.io/package/npm/rtvu6h) | npm | * |
| [ru0z83](https://dependencywatch.io/package/npm/ru0z83) | npm | * |
| [s775oe](https://dependencywatch.io/package/npm/s775oe) | npm | * |
| [service-roles-registry](https://dependencywatch.io/package/npm/service-roles-registry) | npm | 99.0.1, 99.0.2 |
| [sgj0kx](https://dependencywatch.io/package/npm/sgj0kx) | npm | * |
| [t6unrv](https://dependencywatch.io/package/npm/t6unrv) | npm | * |
| [tailwind-form-core](https://dependencywatch.io/package/npm/tailwind-form-core) | npm | * |
| [tailwind-forms-kit](https://dependencywatch.io/package/npm/tailwind-forms-kit) | npm | * |
| [tailwind-input-kit](https://dependencywatch.io/package/npm/tailwind-input-kit) | npm | * |
| [tailwindcss-contact-form](https://dependencywatch.io/package/npm/tailwindcss-contact-form) | npm | * |
| [tailwindcss-form-utils](https://dependencywatch.io/package/npm/tailwindcss-form-utils) | npm | * |
| [txnforge](https://dependencywatch.io/package/npm/txnforge) | npm | * |
| [u0bh1f](https://dependencywatch.io/package/npm/u0bh1f) | npm | * |
| [updated-gen-erator-carx-drift-racing-h-a-c-k-gen-erat-or-tkfm7v](https://dependencywatch.io/package/npm/updated-gen-erator-carx-drift-racing-h-a-c-k-gen-erat-or-tkfm7v) | npm | * |
| [updated-gen-erator-producer-h-a-c-k-gen-erat-or-g8pi55](https://dependencywatch.io/package/npm/updated-gen-erator-producer-h-a-c-k-gen-erat-or-g8pi55) | npm | * |
| [updated-gen-erator-rainbow-six-mobile-h-a-c-k-gen-erat-or-1179lh](https://dependencywatch.io/package/npm/updated-gen-erator-rainbow-six-mobile-h-a-c-k-gen-erat-or-1179lh) | npm | * |
| [updated-today-gen-dr-parking-4-h-a-c-k-gen-erat-or-hmdcsa](https://dependencywatch.io/package/npm/updated-today-gen-dr-parking-4-h-a-c-k-gen-erat-or-hmdcsa) | npm | * |
| [updated-today-gen-photo-lab-pro-h-a-c-k-gen-erat-or-ofgpju](https://dependencywatch.io/package/npm/updated-today-gen-photo-lab-pro-h-a-c-k-gen-erat-or-ofgpju) | npm | * |
| [v36sl2](https://dependencywatch.io/package/npm/v36sl2) | npm | * |
| [vibes-plug](https://dependencywatch.io/package/npm/vibes-plug) | npm | 4.5.0 |
| [w002yardprobe](https://dependencywatch.io/package/rubygems/w002yardprobe) | RubyGems | 0.0.4, 0.0.5 |
| [web-pixels-manager](https://dependencywatch.io/package/npm/web-pixels-manager) | npm | * |
| [winjb6](https://dependencywatch.io/package/npm/winjb6) | npm | * |
| [wolce9](https://dependencywatch.io/package/npm/wolce9) | npm | * |
| [working-today--empire-takeover-h-a-c-k-gen-erat-or-akcp8z](https://dependencywatch.io/package/npm/working-today--empire-takeover-h-a-c-k-gen-erat-or-akcp8z) | npm | * |
| [wxmzfq](https://dependencywatch.io/package/npm/wxmzfq) | npm | * |
| [wyrj3i](https://dependencywatch.io/package/npm/wyrj3i) | npm | * |
| [xapi-lib](https://dependencywatch.io/package/npm/xapi-lib) | npm | * |
| [y0syoh](https://dependencywatch.io/package/npm/y0syoh) | npm | * |
| [yhk9j0](https://dependencywatch.io/package/npm/yhk9j0) | npm | * |
| [yzx-npm](https://dependencywatch.io/package/npm/yzx-npm) | npm | 1.0.0, 1.0.1 |
| [zyto](https://dependencywatch.io/package/pypi/zyto) | PyPI | 0.2.0, 0.2.1, 0.2.2, 0.2.3 |

## What happened

GitHub published malware advisories for 127 packages in this window across npm, PyPI and RubyGems. Severity is `high` for the confirmed RAT and infostealer payloads in the PyPI loader cluster.

The CWE-506 cluster is large but unanalysed: random six-character names, Solana `jito-bundle` lookalikes, Tailwind form-kit names and `passwordcracker` lures. Similar Tailwind-themed names appear in earlier sweeps and in the [Tailwind fake-interview campaign](https://dependencywatch.io/incident/npm-2026-10-20-tailwind-animatecss-fake-interview-campaign), but these advisories do not link them to it.

## Indicators named in the advisories

- `38.242.235.206` (probe callback)
- `*.oastify.com` and `*.oast.fun` (probe callbacks)

## Impact

- **Cluster: droppers, RATs and remote-code loaders (malicious-package; advisory analysis published) (5 packages)**: `@atedone/workspace-context`, `filipt`, `ln9qw38745g`, `protecteda`, `zyto`. `filipt` runs the Overlord RAT during install; `protecteda` runs an embedded infostealer; `zyto` and `ln9qw38745g` ship executables flagged by antivirus vendors as preparation for a RAT. `@atedone/workspace-context` installs shell start-up files and a hidden background process when imported.
- **Cluster: trojanised Baileys WhatsApp library forks (malicious-package; advisory analysis published) (6 packages)**: `@corexium/xbails`, `@lynnidoffc/baileys`, `@lynnidoffc/libsignal-node`, `@systemzero/baileys`, `@vanzxy/baileys`, `luna-baileys`. Forks of the Baileys WhatsApp Web library republished under new names. Advisories report they silently subscribe the user's WhatsApp account to channels chosen by the publisher, or pull an unpinned `libsignal` dependency from a third-party source that can change at any time. Use the official `@whiskeysockets/baileys` only.
- **Cluster: dependency-confusion and pentest probes (dependency-confusion; beacon only) (29 packages)**: `@goparrot-dashboard-api/orchestration`, `@goparrot-dashboard-api/role-v2`, `@goparrot-dashboard-api/shared`, `@goparrot-dashboard-api/store`, `@goparrot-dashboard-api/users`, `@goparrot-dashboard/analytics`, `@goparrot-dashboard/app`, `@goparrot-dashboard/auth` and 21 more. Mostly names in `@goparrot-dashboard` and `@goparrot-dashboard-api`, scopes created next to GoParrot's real `@goparrot` scope, plus `service-roles-registry@99.0.2` and RubyGems probes. They send host details only.
- **Cluster: game cheat and hack-generator spam lures (malicious-package; CWE-506, no published analysis) (17 packages)**: `code-resour-ces-new-app-cloner-premium-9upyk2`, `gene-rator-new-hearthstone-h-a-c-k-gen-erat-or-9wy4b5`, `gene-rator-new-rope-hero-h-a-c-k-gen-erat-or-azkrvc`, `latest-update-my-talking-angela-h-a-c-k-gen-erat-or-q8z42f`, `more-resour-ces-gen-daylio-h-a-c-k-gen-erat-or-qvi0r6`, `more-resour-ces-gen-disney-mirrorverse-h-a-c-k-gen-erat-or-gulnxl` and 11 more. SEO spam packages advertising game cheats and free premium apps. GitHub published only its standard CWE-506 notice.
- **Cluster: CWE-506 takedowns with no published analysis (malicious-package; likely probes or lures) (70 packages)**: `1b67v5`, `2tyegs`, `3zqth8`, `5df897`, `7un7kh`, `9ct8bi`, `@mntv-analysis/ui`, `@mntv-analysis/ui-components`, `@mntv-analysis/workspaces-components`, `@shein-risk/si_verify` and 60 more. GitHub published only its standard "treat the host as compromised" notice for these, with no payload analysis.

## What to do

1. **Check your lockfiles** - search `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`, `requirements*.txt`, `poetry.lock`, `uv.lock` and `Gemfile.lock` for every package and version listed below, or upload them to the DependencyWatch scanner
2. **Stealers, loaders and RATs** - on any hit, isolate the host, rebuild it from a clean image, and rotate every credential it could reach from a different machine
3. **Probes and spam** - remove the package, rebuild, and check whether your registry configuration lets public packages shadow internal or scoped names
4. **GoParrot users** - make sure `@goparrot*` scopes resolve only from your own registry
5. **Block** - `38.242.235.206` (RubyGems `dopc-client` probe callback)

## Check your own dependencies

- Check a package-lock.json against this incident: https://dependencywatch.io/check/package-lock-json
- Check a requirements.txt against this incident: https://dependencywatch.io/check/requirements-txt

The scan runs entirely in the browser; lockfile contents are never uploaded.

## References

- [GitHub Advisory Database, malware advisories](https://github.com/advisories?query=type%3Amalware&sort=published-desc) - GitHub
- [OpenSSF malicious-packages repository](https://github.com/ossf/malicious-packages) - OpenSSF
- [GHSA-687f-xhmq-5mwg - PyPI filipt (Overlord RAT)](https://github.com/advisories/GHSA-687f-xhmq-5mwg) - GitHub
- [GHSA-g7mf-6mcc-62hq - PyPI protecteda infostealer](https://github.com/advisories/GHSA-g7mf-6mcc-62hq) - GitHub
- [GHSA-385c-v792-v6cc - PyPI zyto](https://github.com/advisories/GHSA-385c-v792-v6cc) - GitHub
- [GHSA-39ch-q3p3-3j33 - npm @atedone/workspace-context](https://github.com/advisories/GHSA-39ch-q3p3-3j33) - GitHub
- [GHSA-726f-wf9g-5893 - npm @goparrot-dashboard/store probe](https://github.com/advisories/GHSA-726f-wf9g-5893) - GitHub
- [DependencyWatch: previous day's sweep](https://dependencywatch.io/incident/multi-2026-11-03-ghsa-malware-sweep)

---

Canonical page: https://dependencywatch.io/incident/multi-2026-11-04-ghsa-malware-sweep
Markdown version: https://dependencywatch.io/incident/multi-2026-11-04-ghsa-malware-sweep.md
Site index for agents: https://dependencywatch.io/llms.txt
DependencyWatch.io is operated by Precursor Security (https://precursorsecurity.com).
