Summary
Add a real-world Payload CMS lockfile snapshot and a verified baseline scan case study to CVE Lite CLI.
Motivation
Payload CMS is a popular TypeScript-first headless CMS and application framework (~22k GitHub stars) — available as a self-hosted platform, cloud service, and npm package suite. The upstream repo is a large pnpm workspace monorepo with a root pnpm-lock.yaml. A committed lockfile snapshot and documented case study would:
- Extend CMS / application-platform coverage alongside CopilotKit, Mastra, OpenAI Agents JS, and CamoFox
- Show CVE Lite on a pnpm lockfile at meaningful scale (2,602 resolved packages) — distinct from existing pnpm fixtures
- Demonstrate pnpm workspace-scoped fix commands (
pnpm add --filter …) for direct deps across nested workspace paths
- Surface mixed outcomes: actionable direct fixes, parent-upgrade remediation paths, and advisory-only transitive findings (file-type, yaml)
- Provide a side-by-side comparison with
pnpm audit on the same lockfile
Preliminary scan (CVE Lite CLI v1.22.0, lockfile-only, 2026-06-08)
| Metric |
Value |
| Upstream revision (candidate) |
eb5708b3d3834a50a29f19d93df7406011e08114 |
| Lockfile |
root pnpm-lock.yaml (pnpm workspace monorepo) |
| Resolved packages |
2,602 |
| Vulnerable packages |
18 |
| Severity |
1 critical · 7 high · 9 medium · 1 low |
| Direct vs transitive |
1 direct / 17 transitive |
| CVE count (deduplicated) |
36 CVEs across 18 packages |
| Fix command groups (preliminary) |
2 groups covering 5 packages (5 of 18 findings) |
Notable findings (preliminary):
drizzle-orm@0.44.7 — high (direct) — pnpm add --filter packages/drizzle-adapter drizzle-orm@latest
fast-xml-parser@4.2.5 — critical (transitive) — ⊘ skipped (no direct parent upgrade path)
undici@7.18.2 — high (transitive) — parent-upgrade path available via wrangler
@sentry/nextjs → uuid@9.0.1 — medium (transitive) — path-specific parent-upgrade remediation available
file-type@20.5.0 — medium (transitive) — ⊘ skipped (OSV fix hint present, no auto-generated fix command)
yaml@2.4.5 — medium (transitive) — ⊘ skipped (advisory-only)
pnpm audit (same lockfile): 18 vulnerabilities (1 critical · 7 high · 9 medium · 1 low) — totals align closely with CVE Lite's deduplicated view.
Numbers are from a lockfile-only baseline scan and must be re-verified locally before publishing the case study.
Proposed changes
- Add
examples/payload/ with root package.json and pnpm-lock.yaml pinned to a specific upstream commit
- Add
website/docs/case-studies/payload.md with verified scan results (CVE Lite CLI version, pnpm audit comparison, reproducible commands)
- Bundle project logo under
website/static/img/ (from Payload branding/assets — do not rely on external raw URLs that 404)
- Wire the case study into docs sidebar,
examples/readme.md, README.md, and CHANGELOG
Scope
- Documentation and example fixture only
- No changes to scanner source code or existing examples
- Baseline only — no fake "after" remediation results
Acceptance criteria
Claiming this issue — happy to open a PR once maintainers confirm scope. @sonukapoor
Summary
Add a real-world Payload CMS lockfile snapshot and a verified baseline scan case study to CVE Lite CLI.
Motivation
Payload CMS is a popular TypeScript-first headless CMS and application framework (~22k GitHub stars) — available as a self-hosted platform, cloud service, and npm package suite. The upstream repo is a large pnpm workspace monorepo with a root
pnpm-lock.yaml. A committed lockfile snapshot and documented case study would:pnpm add --filter …) for direct deps across nested workspace pathspnpm auditon the same lockfilePreliminary scan (CVE Lite CLI v1.22.0, lockfile-only, 2026-06-08)
eb5708b3d3834a50a29f19d93df7406011e08114pnpm-lock.yaml(pnpm workspace monorepo)Notable findings (preliminary):
drizzle-orm@0.44.7— high (direct) —pnpm add --filter packages/drizzle-adapter drizzle-orm@latestfast-xml-parser@4.2.5— critical (transitive) — ⊘ skipped (no direct parent upgrade path)undici@7.18.2— high (transitive) — parent-upgrade path available viawrangler@sentry/nextjs → uuid@9.0.1— medium (transitive) — path-specific parent-upgrade remediation availablefile-type@20.5.0— medium (transitive) — ⊘ skipped (OSV fix hint present, no auto-generated fix command)yaml@2.4.5— medium (transitive) — ⊘ skipped (advisory-only)pnpm audit(same lockfile): 18 vulnerabilities (1 critical · 7 high · 9 medium · 1 low) — totals align closely with CVE Lite's deduplicated view.Proposed changes
examples/payload/with rootpackage.jsonandpnpm-lock.yamlpinned to a specific upstream commitwebsite/docs/case-studies/payload.mdwith verified scan results (CVE Lite CLI version,pnpm auditcomparison, reproducible commands)website/static/img/(from Payload branding/assets — do not rely on external raw URLs that 404)examples/readme.md,README.md, andCHANGELOGScope
Acceptance criteria
--filterfix commands and partial monorepo modeling caveatswrangler→undici)pnpm auditalignment (36 CVEs / 18 packages)website/static/img/Claiming this issue — happy to open a PR once maintainers confirm scope. @sonukapoor