agentverify 1.3.0 → 1.6.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 +48 -0
- package/README.md +12 -1
- package/dist/{chunk-PY3NS2YH.mjs → chunk-XVA2M2HS.mjs} +8 -2
- package/dist/cli.js +445 -27
- package/dist/cli.mjs +439 -25
- package/dist/sdk.d.mts +28 -0
- package/dist/sdk.d.ts +28 -0
- package/dist/sdk.js +8 -2
- package/dist/sdk.mjs +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the `agentverify` CLI/SDK package are documented here.
|
|
4
|
+
|
|
5
|
+
## [1.6.0] - 2026-10-27
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Scans now run Agent Verify's v1.6 check set (76 checks, up from 44), including framework packs
|
|
10
|
+
and MCP configuration checks — no CLI change needed;
|
|
11
|
+
results come from the API. See the root CHANGELOG for the full list.
|
|
12
|
+
- Directory scans now also pick up `.jsx`, `.tsx`, `.toml`, and `.sh` files.
|
|
13
|
+
|
|
14
|
+
## [1.5.0] - 2026-09-22
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- `--profile <id>` — assess a directory against an assessment profile instead of running the
|
|
19
|
+
standard scan/verify flow. `owasp-agentic-skills-2026` is the first supported profile
|
|
20
|
+
(assessment schema `1.1.0`, currently alpha): `agentverify scan <dir> --profile owasp-agentic-skills-2026 --key av_your_key`.
|
|
21
|
+
Prints AST02/AST03/AST04 evidence-based results (`EVIDENCE_OBSERVED` / `GAP_IDENTIFIED`) plus
|
|
22
|
+
every other control explicitly as `NOT_ASSESSED`; `--json` prints the service's response
|
|
23
|
+
unmodified.
|
|
24
|
+
|
|
25
|
+
## [1.4.0] - Shipped
|
|
26
|
+
|
|
27
|
+
### Changed — CI exit codes now distinguish a security failure from an execution error (behavior change)
|
|
28
|
+
|
|
29
|
+
Previously, `--ci` mode used exit code `1` for **both** a real `NOT_VERIFIED` verdict **and** any execution error (missing/invalid API key, network failure, missing file). That made it impossible for a pipeline to tell "the agent failed the security check" apart from "the scan itself couldn't run."
|
|
30
|
+
|
|
31
|
+
New exit codes:
|
|
32
|
+
|
|
33
|
+
| Code | Meaning | Previously |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| `0` | All scanned files verified | `0` (unchanged) |
|
|
36
|
+
| `1` | `NOT_VERIFIED` — a real security/verification failure | `1` (unchanged) |
|
|
37
|
+
| `2` | `NOT_ASSESSED` — insufficient evidence for a verdict | `2` (unchanged) |
|
|
38
|
+
| `3` | **New.** Execution error — bad/missing API key, network failure, missing file, unknown command | was `1` |
|
|
39
|
+
|
|
40
|
+
**If your pipeline only checks `exit code != 0` to block a deployment, this is not a breaking change** — every previously-non-zero case is still non-zero. **If your pipeline branches on the exact code `1`**, an execution error will now surface as `3` instead — update any such logic to treat both `1` and `3` as failures, or to react differently to `3` (an infrastructure problem, not a security finding).
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
|
|
44
|
+
- Scanner: findings that reference a detected credential no longer include the live secret value in `evidence` — only a redacted preview (e.g. `api_key: "sk_l****" (redacted)`). Affects report evidence produced by any scan, including those made public via report sharing.
|
|
45
|
+
|
|
46
|
+
## [1.3.0] - 2026-07-13
|
|
47
|
+
|
|
48
|
+
Initial public release. See git history for prior changes.
|
package/README.md
CHANGED
|
@@ -51,6 +51,17 @@ agentverify scan ./agents --ci
|
|
|
51
51
|
|
|
52
52
|
Normal scans print findings without failing the shell just because issues exist. CI mode is stricter: it exits non-zero when an agent is `NOT_VERIFIED`, when a scan errors, or when submitted content cannot be assessed.
|
|
53
53
|
|
|
54
|
+
Exit codes distinguish a security/verification result from an application error, so a pipeline can tell "the agent failed the check" apart from "the scan itself couldn't run":
|
|
55
|
+
|
|
56
|
+
| Code | Meaning |
|
|
57
|
+
| --- | --- |
|
|
58
|
+
| `0` | All scanned files verified |
|
|
59
|
+
| `1` | `NOT_VERIFIED` — a security/verification check failed |
|
|
60
|
+
| `2` | `NOT_ASSESSED` — insufficient evidence for a verdict (see `--allow-not-assessed`) |
|
|
61
|
+
| `3` | Execution error — the scan itself could not run (bad key, network failure, missing file) |
|
|
62
|
+
|
|
63
|
+
All non-zero codes still fail a pipeline step by default, so an existing `if [ $? -ne 0 ]`-style check keeps working unchanged.
|
|
64
|
+
|
|
54
65
|
## SDK Usage
|
|
55
66
|
|
|
56
67
|
```ts
|
|
@@ -105,7 +116,7 @@ The workflow requires a valid `AGENTVERIFY_API_KEY`. The local Worker code path
|
|
|
105
116
|
|
|
106
117
|
Saved CLI reports sync to the dashboard through the API `cliReports` save path. If the API cannot save the report, the CLI still prints local scan output and tells you dashboard sync did not complete.
|
|
107
118
|
|
|
108
|
-
Verified reports can expose a README badge from the report page. A packaged Agent Verify GitHub Action
|
|
119
|
+
Verified reports can expose a README badge from the report page. A packaged Agent Verify GitHub Action (`AI-Blockchain-Ventures/agentverify@v1.4.0`) already exists and produces text/Markdown/JSON output plus an optional workflow artifact — see below. Automatically posting that output as a PR comment (rather than just producing it for you to post) is still a planned enhancement, not yet built.
|
|
109
120
|
|
|
110
121
|
See the full GitHub Action guide at `docs/github-action.md` for composite action inputs, JSON/Markdown examples, branch protection, optional PR comments, and badge guidance.
|
|
111
122
|
|
|
@@ -48,7 +48,12 @@ function normalizeScanResult(data) {
|
|
|
48
48
|
scanDuration: 0
|
|
49
49
|
},
|
|
50
50
|
saved: data.saved === true,
|
|
51
|
-
reportUrl: data.reportUrl ?? null
|
|
51
|
+
reportUrl: data.reportUrl ?? null,
|
|
52
|
+
artifactFingerprint: data.artifactFingerprint,
|
|
53
|
+
reportIntegrity: data.reportIntegrity,
|
|
54
|
+
policyProfile: data.policyProfile ?? null,
|
|
55
|
+
policyResult: data.policyResult ?? null,
|
|
56
|
+
attestation: data.attestation ?? null
|
|
52
57
|
};
|
|
53
58
|
}
|
|
54
59
|
async function scan(input, options) {
|
|
@@ -74,7 +79,8 @@ async function scan(input, options) {
|
|
|
74
79
|
body: JSON.stringify({
|
|
75
80
|
content: input.content,
|
|
76
81
|
fileName: input.fileName ?? "agent",
|
|
77
|
-
platform: input.platform
|
|
82
|
+
platform: input.platform,
|
|
83
|
+
policyId: input.policyId
|
|
78
84
|
}),
|
|
79
85
|
signal: controller.signal
|
|
80
86
|
});
|