Your CI Pipeline Is Already Too Late — CVE Lite CLI Disagrees With Your Entire Workflow
An OWASP-backed JavaScript dependency scanner built by Sonu Kapoor wants to catch vulnerable packages the moment a developer types the install command, not when the build breaks at 2 a.m.

Think of it like checking the weather before you leave the house, not after you're already soaked. CVE Lite CLI, an open-source JavaScript and TypeScript lockfile scanner now under the OWASP foundation, is built on exactly that logic: dependency security checks should happen while a developer is still deciding what to install, not after a CI pipeline has already ingested the bad choice.
Sonu Kapoor, the project's creator and maintainer, said the fundamental problem is timing. "What developers are missing is early feedback at the point where the dependency decision is made," Kapoor said. Traditional CI-centric workflows catch the vulnerability after the code is committed, reviewed, and merged, which means the developer who introduced the risk has already mentally moved on.
The tool scans npm, pnpm, and Yarn lockfiles locally using OSV vulnerability data, surfacing not just what's vulnerable but whether the dependency is direct or transitive, whether a clean upgrade path exists, and which specific version actually resolves the issue. That last part matters more than it sounds. In one documented case, Kapoor said, CVE Lite CLI skipped 27 package versions before identifying a safer recommendation. That's the kind of manual log-reading exercise most developers simply don't do.
Aaron Lamb, founder of Hexaxia Labs, said the tool solved a concrete problem for HexOps. "Developers do not just need a list of vulnerable packages, they need to understand what introduced them, whether the issue is direct or transitive, and what version actually resolves it," Lamb said. "CVE Lite gave HexOps a local, lockfile-based source of truth for dependency remediation."
AI-assisted development is, somewhat ironically, what makes local-first scanning more urgent. Kapoor is blunt about this. "AI coding assistants have made this more important, not less," he said. When a developer (or their AI pair-programmer) can integrate packages and restructure a project in minutes, dependency decisions happen faster and with less manual review. A modern JavaScript project can pull in hundreds or thousands of transitive packages from a single direct install.
But here's the part worth paying attention to: CVE Lite CLI deliberately keeps AI out of its own vulnerability analysis. The tool integrates with Claude Code, Codex CLI, Gemini CLI, Cursor, and GitHub Copilot as an explanation layer around scan results, not as the scanner itself. "I do not think AI should decide whether a CVE exists," Kapoor said. "That part needs to be boring, repeatable, and auditable."
Anupam Nandan, senior manager for cybersecurity at EY, said the early-feedback model is what makes the approach practical. "Security findings only create value when teams can truly understand them and move efficiently toward a fix," Nandan said.
The project now outputs results in JSON, SARIF, or HTML and can plug into CI as a GitHub Action, though Kapoor is careful to position it as a local complement to enterprise SCA (software composition analysis) platforms, not a replacement. He's also fielding requests to expand into .NET and Python, and turning them down — at least for now. Each ecosystem has distinct package manager behavior, lockfile semantics, and advisory sources, and fattening the tool risks making it worse for the JavaScript developers it was built to serve.
The one to watch: whether the OWASP project's lockfile-first model starts pressuring larger SCA vendors to move their own feedback loops earlier in the development cycle.



