Add Builder.io lockfile example and verified case study - #660
Conversation
sonukapoor
left a comment
There was a problem hiding this comment.
Good foundation here - the fixture is solid and the baseline numbers check out. A few things to fix:
Missing final section - the doc ends at ## Baseline findings but every case study needs a ## Want your project reviewed? section as the last section. You can copy it from any of the existing studies (analog.md, nestjs.md etc.).
Extra sections - ## Lockfile scope and ## Scan verification aren't in the required template. The lockfile scope content fits naturally inside ## What this case study demonstrates, and the scan verification content can go inside ## Scan command. Could you fold them in to keep the structure consistent across all studies?
Once those are sorted this is good to go.
|
Thanks for the review, @sonukapoor — addressed the template feedback in
Ready for another look when you have a moment. |
sonukapoor
left a comment
There was a problem hiding this comment.
Three things to fix:
The "Want your project reviewed?" closing section links to github.com/sonukapoor/cve-lite-cli/issues - please change this to github.com/OWASP/cve-lite-cli/issues.
The logo is a PNG - all other case study logos in website/static/img/ are SVGs. Please swap for an SVG export from Builder.io's brand assets.
The next fix hints in the critical findings table show version downgrades (e.g. next@15.x to 12.3.5). This reflects the minimum patched version in the OSV advisory data and can confuse readers. Please add a short note near that table explaining that fix hints reflect the earliest patched release in the advisory - developers should verify against the Next.js security page before upgrading.
Branch is also behind main - please rebase with git fetch origin && git rebase origin/main && git push --force-with-lease.
|
Thanks @sonukapoor — all three points addressed and rebased onto latest
Ready for another look. |
- Point "Want your project reviewed?" link to OWASP/cve-lite-cli/issues - Replace builder-logo.png with official brand SVG (matches other case studies) - Add note explaining OSV fix hints can show earliest patched version (next downgrade) Co-authored-by: Cursor <cursoragent@cursor.com>
- Point "Want your project reviewed?" link to OWASP/cve-lite-cli/issues - Replace builder-logo.png with official brand SVG (matches other case studies) - Add note explaining OSV fix hints can show earliest patched version (next downgrade)
- Point "Want your project reviewed?" link to OWASP/cve-lite-cli/issues - Replace builder-logo.png with official brand SVG (matches other case studies) - Add note explaining OSV fix hints can show earliest patched version (next downgrade)
|
Thanks @sonukapoor — rebased onto latest |
sonukapoor
left a comment
There was a problem hiding this comment.
The 2-vs-315 contrast is a compelling headline and the fixture is legitimately interesting. Three things to address before merge.
The Before vs After table having only a baseline row is a structural issue - the project rule requires at least one measured pass. The justification (both fix commands are breaking majors that weren't applied) is understandable, but other reviewers will flag it too. One option: run the two commands against a branch, rescan, record the row, then restore with git checkout -- .. Even if the count drops by only 2, the table shows the process worked.
| @@ -0,0 +1,263 @@ | |||
| # Builder.io Case Study | |||
|
|
|||
| > Verified baseline scan — CVE Lite CLI v1.22.0 · 2026-06-14 | |||
There was a problem hiding this comment.
Em dashes (—) are not allowed anywhere in project docs - please replace every instance with a hyphen or rewrite the sentence. There are 15+ throughout this file. This one is the first, but they appear on lines 3, 11, 20, 26, 28, 34, 38, 62, 64, 66, 78, 91, 111, 121, 149, 167, and 249.
|
|
||
| --- | ||
|
|
||
| ## Remaining risk |
There was a problem hiding this comment.
The required heading format includes "after": ## Remaining risk after baseline scan. Can you update?
Fold Lockfile scope into What this case study demonstrates, merge Scan verification into Scan command, and add Want your project reviewed section per PR review.
- Point "Want your project reviewed?" link to OWASP/cve-lite-cli/issues - Replace builder-logo.png with official brand SVG (matches other case studies) - Add note explaining OSV fix hints can show earliest patched version (next downgrade)
Record two-pass fix results (336→332→331), remove em dashes, and rename the remaining-risk heading per PR OWASP#660 review. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Thanks @sonukapoor — all three review items addressed in d38d846:
Rebased onto latest |
Record two-pass fix results (336→332→331), remove em dashes, and rename the remaining-risk heading per PR OWASP#660 review.
sonukapoor
left a comment
There was a problem hiding this comment.
All the previous issues are resolved - measured passes are in, SVG logo, correct OWASP URL, and the heading format is right. The Before vs After story (336 to 331 across two breaking majors) is a good one. Ready to merge.
|
Merged - thank you @Ayush7614! |
Document BuilderIO/builder at 1219cc4 (5,655 packages, 315 findings) with Yarn Berry + Nx monorepo lockfile coverage,
yarn npm audit --allcomparison, and extreme unknown-relationship triage graph.Fixes #641
Summary
examples/builder/from BuilderIO/builder@1219cc4 (rootpackage.json+yarn.lock)website/docs/case-studies/builder.md— visual CMS / page-builder SDK monorepo coverage on one of the largest Yarn Berry lockfiles in the portfolio (5,655 packages, 315 findings)yarn npm audit --allon the same lockfile (2 vulnerability entries vs 315 deduplicated packages)website/static/img/builder-logo.pngCase-study-only PR — no shared-file edits (
index.md,sidebars.ts,README.md,examples/readme.md,CHANGELOG.md, root lockfile) per CONTRIBUTING guidance.Why this change
Builder.io (~8.7k GitHub stars) is a widely adopted visual development / headless CMS platform — drag-and-drop editing, Figma-to-code, SDKs for React, Vue, Svelte, Qwik, Angular, Next.js, and more. A committed Yarn Berry lockfile snapshot extends CVE Lite coverage into visual CMS / page-builder SDK monorepos — distinct from Mitosis (cross-framework compiler) while sharing the Builder.io ecosystem — and documents how CVE Lite behaves on a 5,655-package
yarn.lockvs defaultyarn npm audit --allscope.What changed
examples/builder/package.json+examples/builder/yarn.lockpinned to upstream revision1219cc4website/docs/case-studies/builder.mdwith verified scan results,yarn npm audit --allcomparison, Yarn Berry unknown-relationship caveats at scale, and baseline findings table (all 32 critical + 2 direct + representative high subset; full 315 rows match scan JSON)website/static/img/builder-logo.png(bundled locally fromexamples/next-js-builder-site/public/assets/logo.png)Verified scan output
Notable findings:
octokit@2.1.0(high) →yarn add octokit@3.1.2(breaking),zx@7.2.1(medium) →yarn add zx@8.8.5(breaking)@angular/ssr,@builder.io/qwik,@builder.io/qwik-city,@nguniversal/*,@remix-run/node,next,handlebars,form-data,nuxt,simple-git,vitest— framework example pathsesbuild,axios,minimatch,semver,rollup,vite,svelte,lodashacross examples/pluginsyarn npm audit --all(Yarn 3.6.1, same lockfile): 2 vulnerability entries (1 high · 1 moderate) on root workspace direct deps —octokit@2.1.0andzx@7.2.1. Case study explains full-lockfile parse vs Yarn Berry default audit scope (parallel to Storybook/Mitosis case studies).Validation
npm run buildnode dist/index.js examples/builder --verbose --all --json— 315 findings, 2 command groups, 5,655 packages parsedyarn npm audit --allrun fromexamples/builder/— 2 entries documented in case studycve-lite-scan-2026-06-14T22-44-44.json)User-facing impact
Does this change:
Notes
Issue #641 preliminary scan (v1.22.0, 2026-06-12) numbers match the verified live scan on 2026-06-14: 315 findings, 2/0/313 relationship split, 2 fix groups, 2/315 first-pass coverage. Baseline only — no fake "after" remediation results.
cc: @sonukapoor