@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.
- package/README.md +16 -6
- 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,
|
|
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-
|
|
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 +
|
|
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 (
|
|
77
|
-
npm run corpus # False-positive corpus test (
|
|
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.
|
|
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": {
|