@clear-capabilities/agentic-security-scanner 0.171.0 → 0.172.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 +29 -0
- package/bin/agentic-security.js +6 -0
- package/dist/1336.index.js +891 -719
- package/dist/550.index.js +548 -0
- package/dist/7405.index.js +885 -0
- package/dist/9382.index.js +4386 -0
- package/dist/9579.index.js +1197 -0
- package/dist/agentic-security.mjs +4 -4
- package/dist/agentic-security.mjs.sha256 +1 -1
- package/package.json +4 -4
- package/src/context-intelligence/CLAUDE.md +25 -0
- package/src/context-intelligence/adapters/existing-ir.js +14 -0
- package/src/context-intelligence/adapters/haskell-hie.js +165 -0
- package/src/context-intelligence/build.js +68 -0
- package/src/context-intelligence/candidates.js +115 -0
- package/src/context-intelligence/canonical.js +120 -0
- package/src/context-intelligence/capabilities.js +33 -0
- package/src/context-intelligence/cli.js +426 -0
- package/src/context-intelligence/config.js +91 -0
- package/src/context-intelligence/controls.js +244 -0
- package/src/context-intelligence/diff.js +97 -0
- package/src/context-intelligence/entrypoints.js +336 -0
- package/src/context-intelligence/evaluation/index.js +235 -0
- package/src/context-intelligence/evaluation/runner.js +139 -0
- package/src/context-intelligence/evaluation/scripted-reader.js +289 -0
- package/src/context-intelligence/files.js +80 -0
- package/src/context-intelligence/graph-schema.js +227 -0
- package/src/context-intelligence/imports.js +123 -0
- package/src/context-intelligence/manifest.js +99 -0
- package/src/context-intelligence/packer.js +224 -0
- package/src/context-intelligence/persist.js +40 -0
- package/src/context-intelligence/prompts/packs.js +82 -0
- package/src/context-intelligence/queue.js +355 -0
- package/src/context-intelligence/reachability.js +188 -0
- package/src/context-intelligence/repo-info.js +16 -0
- package/src/context-intelligence/review.js +370 -0
- package/src/context-intelligence/spans.js +147 -0
- package/src/context-intelligence/store.js +203 -0
- package/src/posture/artifact-registry.js +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,35 @@
|
|
|
9
9
|
> make the history less accurate, not more.
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
## 0.172.1 - Deterministic Context Intelligence: adversarial review fixes
|
|
13
|
+
|
|
14
|
+
An adversarial review of the first release found nine problems, each demonstrated against the shipped code and each now pinned by a regression test (`scanner/test/context-intelligence/premortem.test.js`).
|
|
15
|
+
|
|
16
|
+
- **False ownership protection.** A route that built SQL from `req.params.id` and merely mentioned `req.user.id` and `owner_name` in the same call reported `ownership: present` with a `complete` bundle. An owner field now counts only when it is tied to the principal in the same clause, and the principal's own name is never read as an owner field. `present` carries a `strength` (`observed` or `inferred`).
|
|
17
|
+
- **Discarded guards.** `isOwner(...)` called as a bare statement no longer counts as a guard; it is `evaluated_and_ineffective`.
|
|
18
|
+
- **Prompt injection through the route label.** The label sat in the instruction text outside the untrusted fence. It is now sanitised and placed inside the fence.
|
|
19
|
+
- **Remote egress.** A non-loopback endpoint now needs `--allow-remote` or `review.allowRemote`; the egress policy and redaction still apply after approval.
|
|
20
|
+
- **Terminal escapes.** Every line the command prints has control characters and bidirectional marks replaced.
|
|
21
|
+
- **Citations.** A citation must now be about its cited lines (not only inside the bundle), spans at most 60 lines, and `no_issue_observed` must cite a control the deterministic pass also found.
|
|
22
|
+
- **Unmeasured numbers.** Precision, recall, F1 and calls per true positive are withheld while the interval is unmeasured; the CSV carries a `synthetic` column.
|
|
23
|
+
- **Compiler export.** A reference must name a callee that its cited line contains, or the whole import degrades.
|
|
24
|
+
- **Locale.** The one locale-sensitive ordering now uses code-unit order, so manifests do not differ by host locale.
|
|
25
|
+
|
|
26
|
+
## 0.172.0 - Deterministic Context Intelligence (`context` command)
|
|
27
|
+
|
|
28
|
+
An opt-in, additive subsystem. The default scan, `hunt` and every existing command are unchanged.
|
|
29
|
+
|
|
30
|
+
- `agentic-security context build` resolves entry points (JavaScript and TypeScript, Python, Haskell, plus the surfaces the existing inventory recognises) and writes one inspectable, hash-bound context bundle each. No model call, no network call. A bundle is `complete` only when nothing material was unresolved, omitted, capped or split.
|
|
31
|
+
- Protection states are explicit per dimension (present, not present, not seen, not resolved, omitted due to budget, evaluated and ineffective for a control that runs after the sensitive operation), with observed versus inferred evidence.
|
|
32
|
+
- `context review` runs focused single-call reviews over frozen bundles through the existing model resolver, egress policy and redaction. Citations are verified against the bundle, severity comes only from the existing confirmation tier, and the bounded queue retries, caches, checkpoints and resumes. A job with no verified result is reported as missing coverage; `--strict` exits 3 on it.
|
|
33
|
+
- `context diff`, `inspect`, `verify`, `export`, `status`, `cleanup`, and an offline batch export and import.
|
|
34
|
+
- Optional read-only compiler metadata import for Haskell (`hie-export/1`), validated against the source snapshot. Automatic metadata builds and a provider batch API are blocked and documented as such.
|
|
35
|
+
- `context eval` scores a bundled synthetic suite with a scripted reader. It is labelled synthetic on its face and supports no accuracy claim; intervals are unmeasured below 10 independent cases, and the holdout split is ledgered.
|
|
36
|
+
- A batch import bug found while testing: a stored declined result no longer blocks importing a good result for the same job.
|
|
37
|
+
- Registered `context-intelligence` and `context-intelligence.json` in the state artifact registry.
|
|
38
|
+
|
|
39
|
+
See [the guide](docs/guides/context-intelligence.md).
|
|
40
|
+
|
|
12
41
|
## 0.171.0 - documentation: surface every shipped PRD capability in the README and docs index
|
|
13
42
|
|
|
14
43
|
A documentation-only release. Auditing the docs against the actual CLI surface after PRD 5 shipped found
|
package/bin/agentic-security.js
CHANGED
|
@@ -181,6 +181,11 @@ Commands:
|
|
|
181
181
|
to each finding of a scan result. Read-only, local files only.
|
|
182
182
|
Off by default: set AGENTIC_SECURITY_ASSURANCE_DEPLOYMENT_BOUNDARIES=1.
|
|
183
183
|
Exit: 0 ok, 1 failed, 2 usage, 3 feature off or blocked.
|
|
184
|
+
context <build|inspect|diff|review|status|eval|verify|export|cleanup> [--root <dir>]
|
|
185
|
+
Deterministic Context Intelligence (opt-in, additive): resolve entry points,
|
|
186
|
+
write one inspectable, hash-bound context bundle each, and optionally run
|
|
187
|
+
focused single-call model reviews over them. 'context build' makes no model
|
|
188
|
+
call and no network call. Run 'agentic-security context' for the full usage.
|
|
184
189
|
explore [path] [--port <n>] [--keep-open]
|
|
185
190
|
Start a local, read-only server over an
|
|
186
191
|
already-scanned lineage graph (run
|
|
@@ -7636,6 +7641,7 @@ async function main() {
|
|
|
7636
7641
|
case 'calibration-feedback': process.exit(await cmdCalibrationFeedback(args));
|
|
7637
7642
|
case 'calibration-report': process.exit(await cmdCalibrationReport(args));
|
|
7638
7643
|
case 'hunt': process.exit(await cmdHunt(args));
|
|
7644
|
+
case 'context': process.exit(await (await import('../src/context-intelligence/cli.js')).cmdContext(args));
|
|
7639
7645
|
case 'compliance': process.exit(await cmdCompliance(args));
|
|
7640
7646
|
case 'attest': process.exit(await cmdAttest(args));
|
|
7641
7647
|
case 'verify-attestation': process.exit(await cmdVerifyAttestation(args));
|