@lateos/npm-scan 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +16 -6
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -17,11 +17,13 @@ npx @lateos/npm-scan scan lodash
17
17
 
18
18
  ## Features
19
19
 
20
- - **Static Analysis** — detects malicious lifecycle scripts, obfuscated payloads, credential harvesting, persistence, network exfiltration, dependency confusion, typosquatting, tarball tampering, conditional triggers, and sandbox evasion (ATK-001–010)
20
+ - **Static Analysis** — detects malicious lifecycle scripts, obfuscated payloads, credential harvesting, persistence, network exfiltration, dependency confusion, typosquatting, tarball tampering, conditional triggers, sandbox evasion, and transitive propagation (ATK-001–011)
21
21
  - **SBOM Output** — CycloneDX 1.5 and SPDX 2.3 with findings mapped as vulnerabilities
22
- - **NIST 800-161 Compliance** — HTML report includes control traceability matrix (SR-2.1 → SR-10.3)
22
+ - **NIST 800-161 Compliance** — HTML report includes control traceability matrix (SR-2.1 → SR-11.4)
23
+ - **EU CRA Compliance** — report maps findings to Cyber Resilience Act articles and Annex I requirements
24
+ - **SIEM Export** — CEF format for Splunk and other SIEM ingestion
23
25
  - **SQLite Storage** — local scan history, zero external dependencies
24
- - **CLI** — `scan`, `scan-lockfile`, `report --sbom --html --nist`
26
+ - **CLI** — `scan`, `scan-lockfile`, `report --sbom --html --nist --cra --siem`
25
27
  - **Dynamic Sandbox** — gVisor-based isolation (premium, documented in `docs/sandbox-threat-model.md`)
26
28
  - **GitHub Action** — scans lockfile on PRs
27
29
  - **Docker** — multi-arch images via GHCR
@@ -38,7 +40,13 @@ npm-scan report -i <id> Show findings for a scan
38
40
  npm-scan report -i <id> --sbom Generate CycloneDX SBOM
39
41
  npm-scan report -i <id> --sbom spdx Generate SPDX SBOM
40
42
  npm-scan report -i <id> --html Generate HTML report (with NIST table)
43
+ npm-scan report -i <id> --nist Print NIST 800-161 compliance table
44
+ npm-scan report -i <id> --cra Print EU CRA compliance table
45
+ npm-scan report -i <id> --siem cef Generate SIEM CEF output
41
46
  npm-scan report --html Generate HTML report for all scans
47
+ npm-scan report --nist Print NIST compliance for all scans
48
+ npm-scan report --cra Print EU CRA compliance for all scans
49
+ npm-scan report --siem cef Generate SIEM for all scans
42
50
  ```
43
51
 
44
52
  ## Architecture
@@ -48,7 +56,7 @@ cli/ Commander.js CLI entrypoint
48
56
  backend/ Detectors, fetch, SQLite db, SBOM, report
49
57
  docker/ Multi-arch Docker images + compose
50
58
  docs/ Project plan, attack taxonomy (ATK), sandbox threat model
51
- tests/ Corpus: 5 clean + 30 malicious packages
59
+ tests/ Corpus: 5 clean + 33 malicious packages
52
60
  ```
53
61
 
54
62
  ## Detectors (ATK Taxonomy)
@@ -65,6 +73,8 @@ tests/ Corpus: 5 clean + 30 malicious packages
65
73
  | ATK-008 | Tarball tampering (published ≠ source) | high |
66
74
  | ATK-009 | Conditional/dormant triggers (CI, time) | high |
67
75
  | ATK-010 | Sandbox evasion / anti-analysis | medium |
76
+ | ATK-011 | Transitive propagation (worm) | high |
77
+ | ATK-011 | Transitive propagation (worm) | high |
68
78
 
69
79
  See `docs/attack-taxonomy.md` for full NIST 800-161 mappings, evasion surfaces, and PoC examples.
70
80
 
@@ -73,8 +83,8 @@ See `docs/attack-taxonomy.md` for full NIST 800-161 mappings, evasion surfaces,
73
83
  ```bash
74
84
  npm install
75
85
  npm run dev # CLI stub
76
- npm run test # Unit tests (13)
77
- npm run corpus # False-positive corpus test (30 malicious, 5 clean)
86
+ npm run test # Unit tests (14)
87
+ npm run corpus # False-positive corpus test (33 malicious, 5 clean)
78
88
  ```
79
89
 
80
90
  ## License
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lateos/npm-scan",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Powerful npm supply chain security scanner - detects malicious packages (Shai-Hulud style), behavioral analysis, SBOM, and compliance reporting.",
5
5
  "main": "backend/index.js",
6
6
  "bin": {