fullshield 1.2.0 → 1.3.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/CHANGELOG.md +13 -0
- package/README.md +2 -2
- package/dist/agent.js +50 -50
- package/dist/cli/index.js +90 -90
- package/dist/compliance.js +2 -2
- package/dist/index.js +63 -63
- package/dist/mcp.js +44 -44
- package/models/advisory-symbols.json +11 -0
- package/models/index.json +1 -1
- package/models/sinks.json +29 -0
- package/package.json +10 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to FullShield are documented here.
|
|
4
4
|
|
|
5
|
+
## 1.3.1 — 2026-10-24
|
|
6
|
+
|
|
7
|
+
### Dev
|
|
8
|
+
|
|
9
|
+
- Autopilot writes `docs/FEATURES.md` and requires approval of that file before any spec edit. Default scan output is unchanged.
|
|
10
|
+
|
|
11
|
+
## 1.3.0
|
|
12
|
+
|
|
13
|
+
### Experimental
|
|
14
|
+
|
|
15
|
+
- Phases 252–260 and 262–270: field-sensitive heap, call summaries, async flow, route model, per-class taint labels, IR types, dominating guards, dependency call graph, advisory symbol rows, machine-checkable proofs, Semgrep disagreement export, metamorphic variants, precision gate, shared sink catalog, runtime-observed reachability, incremental queries, and workspace shards. Each analysis stays behind its own `FULLSHIELD_EXPERIMENTAL_*` flag. Default scan output is unchanged. Phase 261 group flags alias the per-phase npm flags for one minor release. Phase 266 records 50 pinned repos in `bench/realworld-v2.json` and does not clone or install them.
|
|
16
|
+
- Phases 271–465 and 467–500: deeper analysis, codemods, and local dev checks, each behind its own `FULLSHIELD_EXPERIMENTAL_*` flag or an unpackaged script. Default scan output is unchanged. Phase 466 stays parked until a human names ten holdout repos. It does not write `bench/holdouts.json`.
|
|
17
|
+
|
|
5
18
|
## 1.2.0
|
|
6
19
|
|
|
7
20
|
### Experimental
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# FullShield
|
|
2
2
|
|
|
3
|
-
**v1.
|
|
3
|
+
**v1.3.1.** One install for Node.js/TypeScript backends: detect → classify → report → notify → fix → gate (CI `--fail-on` + runtime monitor). It does not stop attacks by itself.
|
|
4
4
|
|
|
5
5
|
**Headline: dependency reachability.** A lockfile CVE is not the same as an unused package. FullShield classifies each OSV hit as `reachable` (imported and called), `imported-not-called` (−1), `reachable-via-dependency` (lockfile path from an imported direct dep — **severity kept**, path shown, e.g. `express > body-parser > qs`), `not-imported` (−2, only when no such path exists), or `reachability-unknown` (severity kept) when the lockfile format has no parsed dependency edges. DevDependency-only vulns are `info` with a `dev-only` note unless production sources import the package. Pair it with `fullshield sbom --format cyclonedx`.
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ npx fullshield scan --json --fail-on high
|
|
|
10
10
|
npx fullshield scan --sarif fullshield.sarif
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
1.
|
|
13
|
+
1.3.1 is the version of this tree. The stable contract is [docs/stability.md](docs/stability.md). The 1.0.1 release moved values that only experimental flags produce out of Stable. Experimental flags stay off unless you set them. Do not treat a scan as a penetration test. Reviewed recall for untouched apps is not published. The stored Next.js cold scan is 71.7 seconds, above the 60-second target.
|
|
14
14
|
|
|
15
15
|
**Supported runtime is Node.js >= 22.13.** `package.json` `engines` and `doctor` enforce that floor. `node:sqlite` runs without `--experimental-sqlite` from 22.13.0 (the module is still experimental and is loaded only by history/confirm, not by `--import` register).
|
|
16
16
|
|