Repository navigation
Releases: vericto/vericto-cli
Release list
1.8.0 - 2026-10-14
Release Notes
Added
- Snowflake and SQLite in the dialect list.
--dialect(and
default_dialectin.vericto.toml) documentssnowflakeandsqlite
next topostgres,mysql,oracleandmssql. The CLI passes the
dialect to the workspace as before; the server evaluates Snowflake since
vericto-engine 4.0.0 and SQLite since 4.1.0 (vericto check --dialect sqlite migrations/*.sql, with the SQLite rules VERICTO-098 to VERICTO-101).
Fixed
- Sanitized mode (a workspace whose telemetry query mode is
sanitized):- Snowflake and SQLite get
?placeholders, as MySQL does (on Snowflake
$1is a staged file's first column, not a parameter;?is SQLite's
canonical bind form). SQLite[name]identifiers are copied as they are,
and$nameis a bind parameter there, not a dollar quote. - Bind parameters the client already wrote are kept: the digits of
$1
and?1were read as a numeric literal, so$1became$$1, which then
read as the start of a dollar-quoted string.
- Snowflake and SQLite get
Install vericto-cli 1.8.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.8.0/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.8.0Download vericto-cli 1.8.0
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo vericto/vericto-cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>1.7.2 - 2026-10-14
Release Notes
Security
rustls0.23.45 → 0.23.46 for RUSTSEC-2026-0346 (Debugoutput of client
session values exposes TLS secrets), RUSTSEC-2026-0347 (buffered data sent to
the outer server after an ECH rejection), RUSTSEC-2026-0348 (Brotli
certificate decompression can allocate up to 1 GiB before authentication)
and RUSTSEC-2026-0349 (an unauthenticated ServerHello can downgrade later
connections to classical key exchange). rustls is the TLS stack of the CLI's
requests to the Vericto API.quinn-proto0.11.16 → 0.11.18 (merged after 1.7.1) for RUSTSEC-2026-0338
to RUSTSEC-2026-0343 (panics and memory-exhaustion guards in the QUIC
implementation).
Lockfile only: no code or behaviour changes.
Install vericto-cli 1.7.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.7.2/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.7.2Download vericto-cli 1.7.2
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo vericto/vericto-cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>1.7.1 - 2026-10-12
Release Notes
Added
- LICENSE file. The Elastic License 2.0 text (the same file as the Vericto
engine and proxy), whichCargo.tomlalready declared asElastic-2.0. It
ships in the release archives, the@vericto/vericto-clinpm package (whose
publish step now refuses a package without it) and the container image
(/usr/share/doc/vericto/LICENSE, with the
org.opencontainers.image.licenses=Elastic-2.0label, empty in 1.7.0).
Changed
- Dependencies: clap 4.6.7, clap_complete 4.6.11, tokio 1.53.2, serde 1.0.229,
serde_json 1.0.151. - CI actions: actions/setup-node 7.1.0, docker/setup-qemu-action 4.4.0,
docker/login-action 4.6.0, docker/metadata-action 6.2.0,
docker/build-push-action 7.4.0.
Fixed
- The container image is tagged
latestonce, and only for a release:
prerelease tags no longer movelatest. - A manual run of the Docker workflow on a branch builds the image instead of
failing; only a version tag publishes and attests it. - The integration tests no longer read the developer's own
~/.config/vericto/config.toml: each run of the binary gets an empty temp
HOME/XDG_CONFIG_HOME, so a stored login on macOS no longer fails them.
Install vericto-cli 1.7.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.7.1/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.7.1Download vericto-cli 1.7.1
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo vericto/vericto-cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>1.7.0 - 2026-10-11
Release Notes
Security
- The npm installer verifies the binary it downloads. The published
@vericto/vericto-clipackage carries the SHA-256 of every platform archive,
taken from the release's checksums, and its installer refuses an archive that
does not match, or one it has no checksum for, before extracting anything.
Downloads and their redirects must behttps://. The package is published
with npm provenance. - Credentials go only to an
https://API. The CLI refuses to send an API
key, login code or OIDC token to anhttp://API URL other than localhost
(anAutherror, which--allow-degradeddoes not bypass), and follows
redirects only within the same origin. - The stored API key stays owner-only.
vericto loginnarrows an existing
config.tomlto0600before writing the key (the mode used to apply only to
a new file), and creates the config directory as0700. - Only ID-token-shaped values are read as OIDC tokens. The variable named by
--oidc-token-env/.vericto.tomloidc_token_envis used only when its
value has the shape of a JWT, so a committed config cannot make the CLI send
another CI secret to the API. - Docker base images pinned by digest; every GitHub Action pinned by SHA, including
release and publish; CI adds cargo-deny, cargo-audit and gitleaks; Dependabot
for Cargo, GitHub Actions and npm.
Added
vericto rules simulate <file>: runs a candidate rule change (new or
edited custom rules, standard rules enabled, disabled or re-severitied)
against up to 30 days of the workspace's recorded production traffic, waits
for the result and prints the report: the headline ("Would have blocked 2
legitimate flows (9,442 executions)"), newly blocked / flagged / no longer
blocked flows with identities and masked samples, and engine drift apart.
Exit 1 when legitimate flows would break (--fail-on-break, default 0; with
--strict, also Inconclusive). Needs an API key with therules:simulate
scope (Builder or above).--format jsonprints the API response.
Install vericto-cli 1.7.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.7.0/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.7.0Download vericto-cli 1.7.0
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo vericto/vericto-cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>1.6.0 - 2026-10-08
Release Notes
Minor rather than patch: a new flag (--allow-unsanitized) and two exit-code
changes a CI script may depend on (a failed config read exits 4 without sending
SQL; an exhausted allowance exits 3).
Security
- Fail closed when the workspace config can't be read. If
GET /ci/config
failed,check,baselineandbaseline prunesent the SQL unsanitized,
even in a workspace that requires sanitized mode. They now send nothing and
exit 4;--allow-unsanitized(VERICTO_ALLOW_UNSANITIZED) opts out. - Sanitization handles backslash escapes. In MySQL and in Postgres
E'...'strings,\'doesn't end a literal; the sanitizer treated it as
the end, and the rest of the literal was sent verbatim.
Fixed
- An exhausted monthly allowance exits 3, as the exit-code table says
("plan not entitled"), instead of being retried as a rate limit and
exiting 4. - The pre-commit hook checks the staged content (
git show :path), not
the working-tree file, and handles paths with spaces.
Documentation
- The README said the receipt-signing public key is bundled; none is yet, so
verify-receiptneeds--public-key(from
GET /api/v1/meta/export-signing-key).
Install vericto-cli 1.6.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.6.0/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.6.0Download vericto-cli 1.6.0
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo vericto/vericto-cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>1.5.2 - 2026-10-04
Release Notes
Security
- rustls 0.23.41 → 0.23.45 (RUSTSEC-2026-0285) and h2 0.4.15 → 0.4.19
(RUSTSEC-2026-0258). rustls accepted TLS 1.3 handshake messages across
encryption-level boundaries; h2 did not bound empty DATA frames. The CLI is a
client that only talks to the Vericto API, so the exposure was low, but every
HTTPS call goes through both crates.chacha200.10.1, a yanked version, is
also updated. Dependency-only release: no behaviour change;cargo audit
reports no vulnerabilities and no warnings.
Documentation
- Verifying attestations: the README now downloads the artifact before
gh attestation verify, which checks a local file and failed with
"no such file or directory" when run as written.
Install vericto-cli 1.5.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.5.2/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.5.2Download vericto-cli 1.5.2
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo vericto/vericto-cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>1.5.1 - 2026-10-03
Release Notes
Added
- Build attestations on every release artifact. Each binary archive now
ships with a Sigstore-backed GitHub attestation tying it to
vericto/vericto-cli, the release workflow and the source commit; verify one
withgh attestation verify <artifact> --repo vericto/vericto-cli. The Docker
image gets the same, pushed to GHCR next to it
(gh attestation verify oci://ghcr.io/vericto/vericto-cli:<tag> --repo vericto/vericto-cli). They were
wired in but off while the repository was a user-owned private one, where
GitHub does not offer attestations. SHA-256 checksums still ship alongside, so
nothing changes for anyone verifying that way.
Install vericto-cli 1.5.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.5.1/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.5.1Download vericto-cli 1.5.1
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo vericto/vericto-cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>1.5.0 - 2026-10-03
Release Notes
Changed
-
Per-statement results. Against a backend that advertises the
check_filescapability (GET /ci/config),checkandbaselinesend each
input as a whole file and the backend reports every statement with its
real line. Previously a file was evaluated as a single unit, so only its most
severe finding was reported and every annotation pointed at line 1. Now:- text output and the failure summary show
path:line; - SARIF
region.startLine, GitLab Code Qualitylines.begin, GitLab SAST
start_lineand GitHub::errorannotations use the statement's line; --format jsonaddsfile_indexto each result (lineis then the
statement's line in that file).
A file still costs one check from the monthly allowance, whatever its
statement count. Against an older backend the CLI keeps the previous request
shape and output, unchanged.If you use a baseline: fingerprints (rule, file, AST path) are unchanged,
so existing entries keep matching. Findings that were previously hidden behind
a file's most severe one can now surface as new; re-runvericto baselineto
accept them, or fix them. - text output and the failure summary show
Fixed
vericto inittemplates pointed at an image that does not exist. The
GitLab and Docker templates usedghcr.io/donkan168/vericto-cli; the image is
published asghcr.io/vericto/vericto-cli. The installer URL in the GitHub
workflow and the pre-commit hook now use theverictoorg too.- One suppression no longer covers every look-alike finding. Suppression was
keyed on the finding's fingerprint (rule, file, AST path), so a single
baseline entry or inline ignore also silenced every other finding with that
fingerprint — e.g. baselining oneDELETEwithoutWHERElet any later one
in the same file pass. Suppression is now decided per result. - Per-statement baselines (format v2). With a backend that returns
statement_hash,vericto baselinekeys each entry on the statement's text
as well (re-indenting a statement keeps its entry; changing its SQL does
not), and records the line for reviewers. v1 baselines are still matched as
before, with a note recommendingvericto baselineto upgrade. - Inline ignores apply to their statement. In per-statement mode,
-- vericto:ignore[RULE] reasoncovers the statement it sits on or directly
above — not every statement in the file, as the failure hint already
described. Results that cover a whole file keep the file-wide behaviour. baselineandbaseline prunehonor sanitized mode. They skipped the
GET /ci/configpreflight and sent raw SQL even when the workspace requires
literals to be normalized client-side; they now sanitize exactly likecheck
(which also keeps baseline keys consistent with the SQLchecksends).
Install vericto-cli 1.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.5.0/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.5.0Download vericto-cli 1.5.0
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
1.4.2 - 2026-08-03
Release Notes
Added
- Legible failure summary on blocked runs. When
checkfails the gate, the
CLI now prints a human-readable summary to stderr regardless of
--format/--output— previously a--format sarif --output filerun left
the console showing only a bareexit code 1, which read like a crash rather
than an enforced rule. The summary lists each blocking finding (file, status,
rule, severity, AST path, suggested fix), a framing line clarifying the exit
code is intentional, and how to consciously allow a finding via an inline
-- vericto:ignore[RULE] <reason>comment.--quietstill suppresses it. - GitHub Actions inline annotations. Under GitHub Actions, blocking findings
are also emitted as::error::workflow commands so they surface as inline
PR annotations even without GitHub Advanced Security / Code Scanning.
Install vericto-cli 1.4.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.4.2/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.4.2Download vericto-cli 1.4.2
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
1.4.1 - 2026-08-02
Release Notes
Changed
vericto docsgot a readability pass: each topic is now a two-line block
(slug + blurb, then its full<base>/<slug>URL on a dim, indented↳line),
with a blank line between topics and bold category headings spaced above and
below. Both the slug and the URL are clickable terminal hyperlinks (OSC 8)
in terminals that support it (iTerm2, WezTerm, kitty, VS Code, Windows
Terminal, GNOME Terminal, …); elsewhere the URL is still shown as plain,
copyable text. Piped/redirected output stays plain (no escape bytes).
Install vericto-cli 1.4.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vericto/vericto-cli/releases/download/v1.4.1/vericto-cli-installer.sh | shInstall prebuilt binaries into your npm project
npm install @vericto/vericto-cli@1.4.1Download vericto-cli 1.4.1
| File | Platform | Checksum |
|---|---|---|
| vericto-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| vericto-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| vericto-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| vericto-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| vericto-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |