npm-scan
npm-scan is a CLI supply-chain security scanner (@lateos/npm-scan) that inspects npm packages and lockfiles for behavioral attack patterns missed by npm audit/Snyk/Socket, including obfuscated payloads, credential stealers, eBPF kernel rootkits, memory-level OIDC token extraction, GitHub maintainer-account spoofing, and AI-platform-targeted key theft. It ships 23 detectors (D1-D25), validated against real campaigns like IronWorm and Miasma, and outputs SBOM (CycloneDX/SPDX) and SARIF for GitHub Security, plus a workflow to submit critical findings to CISA's VINCE with mandatory manual review. It's free (MIT) for individuals/OSS/evaluation, with paid commercial tiers ($799-$9,900/yr).
What it is
npm-scan (@lateos/npm-scan) is a CLI that scans npm packages and lockfiles for behavioral attack patterns, not CVE or version matches. Its README says npm audit and Snyk do not catch these patterns. The README also names Socket in its headline claim. It runs locally, with no telemetry and no cloud dependency, and claims under 30 seconds per CI run. It has 23 detectors, numbered D1 to D25.
What to do
Try it without installing:
npx @lateos/npm-scan scan axiosGlobal install and common uses:
npm install -g @lateos/npm-scan
npm-scan axios
npm-scan scan-lockfile
npm-scan express --json > findings.jsonCI gate, as given for GitHub Actions. The README says GitLab CI, Jenkins and other platforms also work, and that a GitHub Action and multi-arch Docker images exist:
- name: Scan with npm-scan
run: |
npm install -g @lateos/npm-scan
npm-scan scan-lockfile --fail-on criticalOther outputs and controls: CycloneDX and SPDX SBOMs, SARIF for GitHub Security, and YAML policy-as-code for allowlists and severity overrides.
To report to CISA's VINCE:
npm-scan scan lodash > scan_result.json
npm-scan submit-vince scan_result.json
npm-scan submit-vince scan_result.json --auto-approveThe second command starts the review step. The third submits after approval.
Caveats
- The README calls the review mandatory, yet documents
--auto-approve. Keep that flag out of automation so a human still reviews each submission. - Figures such as "95%+ confidence on real campaigns" and the IronWorm, Miasma and Dependency Confusion validation are the vendor's own claims. The page gives no methodology, false-positive rate or test set.
- The page says "23 detectors" but numbers them D1 to D25, so two numbers are unaccounted for.
- Pricing is inconsistent. The README quotes "$2.4K/year enterprise" in its ROI argument and "$799/yr to $9,900/yr" in the licensing section. Its "1,875x ROI" compares that price with an average breach cost.
- Licensing: free under MIT for individuals, open-source projects and evaluation, with no time limit. A paid BLA is required once a team ships to production commercially. LICENSING.md has the details.
- The page advises running npm-scan alongside npm audit, not instead of it.
Organisations named here
- CISA
Technologies named here
- npm-scan
- npm packages / Node.js supply chain
- npm audit
- Snyk
- Socket
- GitHub Actions
- GitLab CI
- Jenkins
- Docker
- VINCE
- SBOM/SARIF
- npm
- SARIF
- CycloneDX
- SPDX
Techniques named here
- Obfuscated payloads
- Credential stealers
- Kernel rootkits
- eBPF hooks / eBPF kernel rootkits
- Memory extraction / memory-level credential extraction
- GitHub author spoofing
- AI-targeted attacks / AI platform targeting
- Self-defending code
- Worm-like propagation
Threat actors named here
- IronWorm
- Miasma
- Dependency Confusion
Related in Supply Chain


