fad-checker 2.1.1 → 2.1.2
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 +7 -12
- package/fad-checker-report/cve-report.doc +643 -105
- package/fad-checker-report/cve-report.html +653 -108
- package/fad-checker.js +103 -12
- package/lib/codecs/index.js +66 -2
- package/lib/codecs/maven/jar-scan.js +174 -28
- package/lib/codecs/maven.codec.js +2 -2
- package/lib/codecs/npm/collect.js +3 -1
- package/lib/codecs/npm/parse.js +25 -0
- package/lib/codecs/npm.codec.js +5 -1
- package/lib/core.js +15 -0
- package/lib/cve-report.js +3 -1
- package/lib/license-policy.js +3 -1
- package/lib/outdated.js +3 -0
- package/lib/parallel-walk.js +47 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -356,7 +356,7 @@ of thing a security consultant or an ANSSI-PASSI engagement needs.
|
|
|
356
356
|
| | **fad-checker** | OSV-Scanner | Trivy | Grype + Syft | OWASP DC | Snyk OSS |
|
|
357
357
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
358
358
|
| Ecosystems it targets¹ | Maven, npm, Yarn, **pnpm**, Composer, PyPI, NuGet, Go, Ruby + vendored JS | 11+ langs / 19+ lockfiles | 20+ | 20+ | Java/.NET (others exp.) | many |
|
|
359
|
-
| Reads lockfiles without `install`/build
|
|
359
|
+
| Reads lockfiles without `install`/build | ✅ | ✅ | ✅ | ✅ | ⚠️ Java needs Maven Central/build | ❌ build required |
|
|
360
360
|
| Best-effort when **no lockfile** (pinned versions) | ✅ | ❌ | ❌ | ❌ | ⚠️ | ⚠️ |
|
|
361
361
|
| Vulnerability sources | CVEProject + OSV + NVD + EPSS + KEV + retire.js (+ Snyk), merged | OSV.dev | Aqua DB | Anchore DB | NVD / CPE | Snyk DB |
|
|
362
362
|
| False-positive control | CPE/version cross-check | ecosystem-aware | ecosystem-aware | ecosystem-aware | ⚠️ CPE → noisy | ecosystem-aware |
|
|
@@ -369,26 +369,21 @@ of thing a security consultant or an ANSSI-PASSI engagement needs.
|
|
|
369
369
|
| CI gating (`--fail-on`) + triage | ✅ severity/KEV + ignore/VEX | ✅ | ✅ | ✅ | ⚠️ | ✅ |
|
|
370
370
|
| Auto-remediation / PRs | ❌ (fix recipes only) | ✅ `fix` | ❌ | ❌ | ❌ | ✅ |
|
|
371
371
|
| Offline | ✅ cache | ✅ local DB | ✅ | ✅ | ✅ feed | ❌ mostly online |
|
|
372
|
-
| **Scan without exposing the codebase
|
|
372
|
+
| **Scan without exposing the codebase**² | ✅ anonymized descriptor | ❌ | ❌ | ❌ | ❌ | ❌ |
|
|
373
373
|
| **Maven private-dep cleanup** (→ Snyk) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
|
374
374
|
| Output | **HTML + Word `.doc`** + JSON / SARIF / CycloneDX / CSAF | table/JSON/SARIF | table/JSON/SARIF | table/JSON/SARIF | HTML/XML/JSON | JSON / cloud UI |
|
|
375
375
|
|
|
376
376
|
¹ Narrower language coverage — no Rust/Dart/Swift (Go and Ruby are now covered).
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
reach Maven Central (or rely on a real build / CycloneDX SBOM) to resolve transitive versions;
|
|
380
|
-
Trivy can resolve wrong transitive versions in that mode, while `fad-checker` flags what it
|
|
381
|
-
can't resolve in chapter 0. The genuine "no build" win is **vs Snyk** (requires building the
|
|
382
|
-
project) and **OWASP DC** (needs Maven Central access for Java accuracy).
|
|
383
|
-
³ Phase 1 exports only public coordinates; the online scan never sees your source tree —
|
|
377
|
+
|
|
378
|
+
² Phase 1 exports only public coordinates; the online scan never sees your source tree —
|
|
384
379
|
see [Air-gapped / PASSI](#air-gapped--passi-audits-anonymized-dependency-descriptor). OSV-Scanner
|
|
385
380
|
has an offline mode, but it still needs the **source on the scanning machine**.
|
|
386
381
|
|
|
387
382
|
**Where it fits:** a one-shot audit of a polyglot checkout you may not be able to build, a
|
|
388
383
|
presentable HTML/Word deliverable, and confidential / air-gapped engagements.
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
384
|
+
|
|
385
|
+
**Where it doesn't:** container/OS scanning,
|
|
386
|
+
reachability analysis, auto-fix PRs — reach for **Trivy** or **Grype + Syft**.
|
|
392
387
|
|
|
393
388
|
You don't have to choose — `fad-checker` takes Snyk's results as input (`--snyk`) and merges them.
|
|
394
389
|
|