Skip to content

v1.0.0 — 0 false blocks at scale; the stability contract is in force

Choose a tag to compare

@adamsjack711-ux adamsjack711-ux released this 11 Jul 17:34

The final item on the path to 1.0 is complete: the "0 false blocks" claim is now proven against real packages nobody wrote as a test, not just a curated corpus. Every box on the checklist is checked, so the compatibility contract now binds — a breaking change to a Stable surface requires a major bump.

Added

  • Top-1000 validation harness (scripts/validate-at-scale.js, validation/) — runs pkgxray guard over the 1,000 most-depended-upon npm packages and gates on 0 heuristic false blocks. Zero-dependency, reproducible against a committed corpus. Correct known-CVE blocks (26) and audited defensible blocks (pm2 genuinely installs boot persistence) are separated out. The first run surfaced 22 false blocks across ~7 detectors — all calibrated, each locked in as a benign benchmark fixture.

Fixed — calibration false blocks (all now review/safe)

  • Dual-use URL shorteners — a goo.gl/bit.ly in an error/doc link no longer escalates to a HIGH exfil block; only a hardcoded IP or a no-legitimate-use paste/webhook/OAST domain does.
  • Shell tab-completion installers<tool> completion >> ~/.bashrc is reviewed, not blocked. Crontab / systemd / launch-agent / Run-key writes still BLOCK.
  • Transform test-fixtures — a .txt/.md fixture read + vm in a test/ path gets the test-path downgrade; opaque payload blobs (.dat/.bin/.enc) still stay HIGH even in tests. b.require(x) (browserify's bundler API) no longer matches the dynamic-require exfil shape.
  • Large legitimate bundles — decode→execute now requires decoder and executor within ~600 chars, and the base64 DECODE regex no longer matches the ENCODE form .toString("base64").
  • Build artifacts — a generic code-execution/dynamic-require in a file diverging from git source (fesm bundles, Babel .bc.js, r.js) no longer correlates to a tamper block; a genuine injected conduct payload still does.
  • Comments are no longer read as conduct — example IPs, license URLs in binding.gyp, and org links no longer fire detectors; doc-site bundles get the non-runtime downgrade.
  • A 404 GitHub repo is REVIEW, not BLOCK — indistinguishable from a typosquat's fake link on the 404 alone.

Hard malware signals unchanged: benchmark recall holds at 89.5%, 0 full misses, full suite 512/512.

Full details in CHANGELOG.md.