@clear-capabilities/agentic-security-scanner 0.181.0 → 0.182.0
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 +11 -0
- package/bin/agentic-security.js +8 -0
- package/dist/3360.index.js +744 -0
- package/dist/{703e82c3705f455c16cc.json → 500bf9235f367cb445c0.json} +5 -2
- package/dist/5616.index.js +51 -8
- package/dist/5620.index.js +1 -1
- package/dist/9441.index.js +180 -0
- package/dist/9614.index.js +275 -0
- package/dist/agentic-security.mjs +2 -2
- package/dist/agentic-security.mjs.sha256 +1 -1
- package/package.json +5 -2
- package/src/posture/accuracy-scorecard.js +22 -0
- package/src/posture/assurance/release-package-cli.js +114 -0
- package/src/posture/dnr/cli.js +13 -4
- package/src/posture/dnr/exposure-window.js +39 -6
- package/src/posture/fleet/fleet-manifest.js +5 -5
- package/src/posture/strategic-metrics-cli.js +25 -0
- package/src/posture/strategic-metrics.js +122 -0
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,17 @@
|
|
|
9
9
|
> make the history less accurate, not more.
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
## 0.182.0 - Five Labs capabilities freeze their interfaces and move to Preview, and the strategic metrics become product numbers
|
|
13
|
+
|
|
14
|
+
Preview is not GA. Each move below gives a capability a reference page that lists every field, flag and exit code, and a compatibility test that runs the real commands and fails when the output gains or loses a field the page does not list.
|
|
15
|
+
|
|
16
|
+
- **Five capabilities leave Labs for Preview:** Eval Lab and the model router, fleet scanning, the finding-to-rule compiler, release assurance, and detection and response. Detector spec synthesis and runner-level capability enforcement stay Labs, with their exit criteria written on the Labs page.
|
|
17
|
+
- **Release assurance has a command and a release check.** `agentic-security release-package build|verify` assembles a signed package from the last scan (refusing a scan whose signature does not verify) and checks one offline. The new `release-assurance-gate` builds a package from a scan of a shipped project, requires the independent offline verifier to accept it, and requires it to refuse a lowered severity, a restated verdict and an unsigned scan.
|
|
18
|
+
- **The exposure window joins the artifact provenance graph.** `dnr window --artifact-graph` places a deployment that names only an image digest at the commit the image declares, refuses a record that disagrees with its image, and never infers a commit the image does not declare.
|
|
19
|
+
- **Three strategic metrics are reported with their counts.** `agentic-security metrics` (and `posture --metrics`, and the scorecard) report Assurance Coverage, Evidence Conversion and Verified Remediation Rate, each with numerator, denominator and basis. The Security Learning Rate is reported as not measured.
|
|
20
|
+
- **The proof gate on fixes is measured.** `bench/fix-verification/proof-gate.mjs` runs `fix --apply --require-proof` over the fix-verification corpus: 0 of 15 unsafe fixes applied, 1 of 8 safe fixes applied and 7 refused for want of a reproducer (generation covers command injection, path-writing traversal and request forgery). The gate fails closed. An exploit-proof contract page and test freeze the proof result and the fix proof record.
|
|
21
|
+
- **Hosted legs for real tools are written** (`scripts/artifact-real-check.mjs`, `scripts/local-model-check.mjs`); the local-model script was run against a real model server on a laptop and found and fixed one wrong assertion about where the validator lists what it rejects.
|
|
22
|
+
|
|
12
23
|
## 0.181.0 - Three capabilities earn GA: the sibling sweep, blast radius and federation
|
|
13
24
|
|
|
14
25
|
Registry, documentation and release-gate tooling, plus one precision fix to the sibling sweep. No capability was relabeled without evidence: each promotion below meets the GA bar, and four others were assessed and held at Preview with the measured reason recorded in `docs/implementation-status/ga-promotion.md`.
|
package/bin/agentic-security.js
CHANGED
|
@@ -142,6 +142,8 @@ Commands:
|
|
|
142
142
|
verify [--finding <id>] Re-run the verifier loop on last-scan findings (use --live --target <url> to execute PoCs)
|
|
143
143
|
ask "<question>" [target] Bounded local-model Q&A with read-only tool access (requires AGENTIC_SECURITY_LLM_PRESET=ollama)
|
|
144
144
|
release-view <package.json> Developer, CISO and auditor views of one signed release package (--view, --format text|json|html, --previous, --public-key)
|
|
145
|
+
metrics [path] Assurance Coverage, Evidence Conversion and Verified Remediation Rate for the last scan, each with numerator and denominator (--format text|json)
|
|
146
|
+
release-package build|verify Build a signed release package from the last scan (--private-key, --output, --fix-records), or check one offline (--public-key)
|
|
145
147
|
reset [--yes] [--keep ...] Right-to-delete: wipe accumulated learned state under .agentic-security/ (preserves operator-authored config)
|
|
146
148
|
--expired only remove artifacts past their retention-class TTL
|
|
147
149
|
Every run writes a deletion-report.json proving what was planned/deleted/preserved/failed.
|
|
@@ -7858,6 +7860,12 @@ async function main() {
|
|
|
7858
7860
|
case 'attest': process.exit(await cmdAttest(args));
|
|
7859
7861
|
case 'verify-attestation': process.exit(await cmdVerifyAttestation(args));
|
|
7860
7862
|
case 'release-view': process.exit(await cmdReleaseView(args));
|
|
7863
|
+
case 'metrics': process.exit(await (await import('../src/posture/strategic-metrics-cli.js')).cmdMetrics(args));
|
|
7864
|
+
case 'release-package': {
|
|
7865
|
+
const { spawnSync } = await import('node:child_process');
|
|
7866
|
+
const git = (root, ...a) => { const r = spawnSync('git', a, { cwd: root, encoding: 'utf8' }); return r.status === 0 ? r.stdout.trim() : null; };
|
|
7867
|
+
process.exit(await (await import('../src/posture/assurance/release-package-cli.js')).cmdReleasePackage(args, { git }));
|
|
7868
|
+
}
|
|
7861
7869
|
case 'policy-explain': process.exit(await cmdPolicyExplain(args));
|
|
7862
7870
|
case 'policy-sign': process.exit(await cmdPolicySign(args));
|
|
7863
7871
|
case 'rule-synth': process.exit(await cmdRuleSynth(args));
|