Help wanted: edge case lockfile fixtures for regression testing #528
Replies: 8 comments 4 replies
-
|
@Ayush7614 @coder-Yash886 — tagging you both since you have been the most active contributors recently. Would love your help claiming some of these fixtures, and if you have scanned any real projects recently the verification workflow in Step 3 is a great way to turn that into a contribution. Let us know if you have any questions. |
Beta Was this translation helpful? Give feedback.
-
|
Claiming a few fixtures — happy to help turn these into permanent regression examples.
I will open separate PRs per fixture (minimal Also ran the real-project verification workflow on several lockfile snapshots recently (pnpm/npm monorepos) — will comment here if any scan disagrees with expected fix logic before opening issues. @sonukapoor — let me know if you would rather I take different numbers from the table. |
Beta Was this translation helpful? Give feedback.
-
|
Picking up a few fixtures — would love to see these edge cases covered with solid regression tests.
I will open separate PRs per fixture (minimal @sonukapoor — let me know if you would rather I take different numbers from the table. |
Beta Was this translation helpful? Give feedback.
-
|
Status update on my claimed fixtures from #528:
Scan highlights (verified in each PR):
Also claiming the remaining open fixtures from the table — will open separate PRs per fixture:
@sonukapoor — let me know if you'd prefer I prioritize a different order. #559 should be ready to merge once CI passes. |
Beta Was this translation helpful? Give feedback.
-
|
@sonukapoor — could you update the main tracker table for #1, #4, and #6? Suggested rows:
Merge status: #557 and #558 are merged; #559 is rebased and ready to merge per your review. Full replacement lines for the main table (What it tests column unchanged): |
Beta Was this translation helpful? Give feedback.
-
|
Table updated — #1, #4, #6 are all marked completed. Great work @Ayush7614, and thanks for the detailed scan highlights on each one. One process note going forward: please claim one fixture at a time. Once your PR is merged, you are welcome to pick up the next one. This keeps the table accurate and ensures open fixtures stay available for other contributors. For your next one, #2 ( @coder-Yash886 — same applies: please focus on #10 before picking up #11. Once #10 is merged, #11 is yours to claim. |
Beta Was this translation helpful? Give feedback.
-
|
@sonukapoor i looking to work on fixture #11 |
Beta Was this translation helpful? Give feedback.
-
|
@sonukapoor I raised the Pr #633 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
What we need
We recently fixed two remediation bugs that were only discovered because a real-world project exposed them. The fixes are in — but we have no automated tests that would catch regressions if the same logic breaks again.
We want to build a set of small, crafted lockfile fixtures in
examples/that each test one specific edge case. These are not case studies — they do not need write-ups or blog content. Just a minimalpackage.jsonand lockfile that reproduces a specific scanner behavior.Why this matters
Every fixture becomes a permanent regression test. If a future change breaks the behavior, the test catches it before it ships.
Fixtures we need
Each one is a standalone contribution — claim one by commenting below.
One fixture at a time. Please claim only one fixture. Once your PR is merged, you are welcome to claim another.
multi-path-same-vulnno-fix-availableworkspace-transitivepre-release-fixexact-pinned-intermediatemultiple-versions-same-pkgdeep-chain-no-fixpnpm-within-rangewrong-parent— immediate parent range covers the fix, should suggestpnpm update <package>yarn-within-rangeyarn upgrade <package>pnpm-aliased-chainbun-within-rangebun update <package>dev-only-findingHave an edge case in mind that is not on this list? Comment below with a description and we will add it.
How to contribute a crafted fixture
examples/<fixture-name>/withpackage.jsonand the lockfilecve-lite examples/<fixture-name>and paste the output in the PR description so we can verify the behaviorIf you have cloned the repo and are running from source:
Don't have a crafted fixture? Scan a real project instead
You can find edge cases by scanning a project you already work on. Here is the workflow:
Step 1 — Install the CVE Lite CLI AI skill (once)
CVE Lite CLI ships with an AI assistant skill that teaches Claude Code how to interpret scan output — direct vs transitive findings, fix command logic, parent upgrade paths, confidence levels. Install it once:
Full guide: https://owasp.org/cve-lite-cli/docs/ai-assistant-integration#installing-skills
Step 2 — Scan your project and save the JSON output
npm install -g cve-lite-cli cve-lite . --jsonStep 3 — Verify the fix commands with Claude Code
Share the generated
cve-lite-scan-*.jsonfile with Claude Code (or any AI assistant with the skill installed) and ask:Because the skill is installed, the AI already understands the JSON schema — dependency paths, fix targets, confidence levels — and can give a precise answer without any extra context.
Step 4 — Compare the answers
This workflow makes you both a tester and an early adopter. Any real discrepancy you find is a direct contribution to improving the tool.
Questions?
Ask in this thread — we will help you set up the fixture or interpret a scan result.
Beta Was this translation helpful? Give feedback.
All reactions