docs: add Dyad lockfile example and verified case study - #658
Conversation
There was a problem hiding this comment.
Good work on the baseline - the 51-row findings table is thorough and the npm audit comparison is well-structured. Same issues as #660 though:
Before vs After table needs actual remediation rows. Run each command group against examples/dyad/, rescan after each, and record the results. The baseline-only table doesn't show that the tool made a difference.
Fix version inconsistency - @modelcontextprotocol/sdk shows 1.26.0 ⊘ in the baseline table but 6.15.0 appears in the "What this case study demonstrates" section and the PR description. These can't both be right - please reconcile them to whatever the scanner actually emits.
Missing final section - add ## Want your project reviewed? at the end (copy from any existing study).
sonukapoor
left a comment
There was a problem hiding this comment.
Strong fix coverage story here - 39/51 on first pass is worth documenting.
One factual issue to fix before anything else: the narrative says the validated upgrade for @modelcontextprotocol/sdk is 6.15.0, but the baseline findings table shows 1.26.0 ⊘ (skipped). These can't both be right. Please check the actual scan output and reconcile - the table is the source of truth.
Same structural issues as the other studies: ## Lockfile scope and ## Scan verification are non-standard sections that break the required order. Fold ## Lockfile scope content into the Summary bullets and move the scan verification details into ## Scan command.
## Want your project reviewed? is missing - please add it as the final section.
The Before vs After table needs measured after-pass rows, not just the baseline. Run the fix command groups one at a time, rescan, and record each pass.
|
Thanks @sonukapoor — all review items addressed in 731fd6b (rebased onto latest
Ready for another look. |
|
Hey @Ayush7614 - this branch is behind main. Could you rebase before I complete the review? Happy to approve once it's up to date. |
Document dyad-sh/dyad at 31bae4d with Electron AI app builder coverage, npm audit comparison, measured remediation passes (50 → 17 findings), and reconciled MCP SDK fix hint (1.26.0 ⊘). Closes OWASP#596
|
Thanks @sonukapoor — rebased onto latest |
sonukapoor
left a comment
There was a problem hiding this comment.
Great case study - Dyad is an interesting addition for the AI app builder category. The Before/After table is thorough with 8 pass rows and the MCP SDK fix validation detail (using 1.26.0 from registry validation, not the raw OSV hint 1.24.0) is exactly the kind of nuance that makes these studies credible. The note explaining the 51 vs 50 baseline delta due to OSV advisory drift between scan and remediation dates is clear and honest.
Ready to merge.
Document dyad-sh/dyad at 31bae4d (1,632 packages, 51 findings) with Electron AI app builder coverage, npm audit comparison, and 39/51 fix coverage.
Closes #596
Summary
examples/dyad/from dyad-sh/dyad@31bae4d (rootpackage.json+package-lock.json)website/docs/case-studies/dyad.md— local AI app builder coverage on Electron + Vite + React (1,632 packages, 51 findings)npm auditon the same lockfile (75 vulnerability entries vs 51 deduplicated packages)website/static/img/dyad-logo.svgCase-study-only PR — no shared-file edits (
index.md,sidebars.ts,README.md,examples/readme.md,CHANGELOG.md, root lockfile) per updated CONTRIBUTING guidance.Why this change
Dyad (~21k GitHub stars) is a high-visibility local AI app builder (Lovable / v0 / Bolt alternative) on Electron + MCP + Drizzle ORM. A committed root npm lockfile snapshot extends CVE Lite's AI app builder / agent IDE coverage with realistic triage complexity: breaking direct upgrades, test-stack criticals, and deep transitive chains.
What changed
examples/dyad/package.json+examples/dyad/package-lock.jsonpinned to upstream revision31bae4d(root lockfile only)website/docs/case-studies/dyad.mdwith verified scan results,npm auditcomparison, reproducible commands, lockfile scope note, and full 51-row baseline findings tablewebsite/static/img/dyad-logo.svg(bundled locally from upstreamassets/logo.svg)Verified scan output
Key generated commands:
Notable findings:
happy-dom@17.6.3+vitest@3.2.4— critical (direct · dev) — test-stack RCE; breaking major bumps@modelcontextprotocol/sdk@1.18.1— high (direct) — validated upgrade to6.15.0(breaking)electron@40.0.0,drizzle-orm@0.41.0,glob@11.0.3,storybook@8.6.15— high directnext@15.5.2— critical (transitive) — ⊘ skippedesbuildversions, fourminimatchmajors — deduplication vs npm audit pathsnpm audit(same lockfile): 75 vulnerabilities (5 critical · 47 high · 19 moderate · 4 low)Validation
npm run buildnode dist/index.js examples/dyad --verbose --all— 51 findings, 7 command groups, 39/51 coveragenpm auditrun fromexamples/dyad/— counts documented in case studycve-lite-scan-2026-06-14T22-26-02.json)User-facing impact
Does this change:
Notes
Issue #596 preliminary scan (v1.20.0, 2026-06-09) reported 49 findings / 73 npm audit entries. Verified scan at v1.22.0 reports 51 findings / 75 npm audit entries due to OSV advisory updates — all numbers in the case study match live scan JSON.
cc: @sonukapoor