Repository navigation
Releases: alecto-security/evidence-bundle
Releases · alecto-security/evidence-bundle
Release list
v0.2.0
Binaries
No Rust toolchain needed. Download the asset for your platform,
check it against sha256sums.txt, and run it. Linux builds are
static (musl); Windows ships verify.exe inside a .zip.
| Platform | Asset |
|---|---|
| Linux x86_64 | verify-v0.2.0-x86_64-unknown-linux-musl.tar.gz |
| Linux aarch64 | verify-v0.2.0-aarch64-unknown-linux-musl.tar.gz |
| macOS Apple silicon | verify-v0.2.0-aarch64-apple-darwin.tar.gz |
| macOS Intel | verify-v0.2.0-x86_64-apple-darwin.tar.gz |
| Windows x86_64 | verify-v0.2.0-x86_64-pc-windows-msvc.zip |
$ sha256sum -c sha256sums.txt
$ tar -xzf verify-v0.2.0-x86_64-unknown-linux-musl.tar.gz
$ ./verify-v0.2.0-x86_64-unknown-linux-musl/verify ./CASE-2026-1842Added
- Notary proof verification:
verifynow re-checks the signed record slice
instead of only requiring it to be present.notary/pubkey.jsonmust
parse to a 32-byte Ed25519 key whose derived key id matches; every record
must carryv: 1, that key id, and a valid Ed25519 signature over the
canonical record withsigremoved;seqmust be continuous per camera
and eachprev_record_hashmust link to its predecessor. A slice may
begin mid-chain: the first record's earlier link is not claimed. - Coverage: every
retrieved[].source_sha256must be present and covered by
a signedsegmentrecord;provenance.detailcounts, seq bounds, key id
and camera must agree with the slice when present. BundleReport.notary_records(CLI--json:notary_records) reports how
many signed records were verified.- Negative vectors
tampered-notary-signatureandtampered-notary-chain,
re-sealed so the failure lands inside the proof, plus a mid-chain unit
test signed with the published test-vector seed.
Changed
verifynames the signed-record count for notary provenance.- Dependencies:
base64anded25519-dalek(verification only; no network
capability, guarded by the existingCargo.locktest).
Spec
- docs/SPEC.md §5.5 step 8 now specifies the signature, key-id, chain and
coverage checks; §5.6 states what a bundled key does and does not prove;
§7 allows verifier strictness to increase in a MINOR release for bundles
that never conformed.
v0.1.0
Binaries
No Rust toolchain needed. Download the asset for your platform,
check it against sha256sums.txt, and run it. Linux builds are
static (musl); Windows ships verify.exe inside a .zip.
| Platform | Asset |
|---|---|
| Linux x86_64 | verify-v0.1.0-x86_64-unknown-linux-musl.tar.gz |
| Linux aarch64 | verify-v0.1.0-aarch64-unknown-linux-musl.tar.gz |
| macOS Apple silicon | verify-v0.1.0-aarch64-apple-darwin.tar.gz |
| macOS Intel | verify-v0.1.0-x86_64-apple-darwin.tar.gz |
| Windows x86_64 | verify-v0.1.0-x86_64-pc-windows-msvc.zip |
$ sha256sum -c sha256sums.txt
$ tar -xzf verify-v0.1.0-x86_64-unknown-linux-musl.tar.gz
$ ./verify-v0.1.0-x86_64-unknown-linux-musl/verify ./CASE-2026-1842Born public, born tagged.
Added
- Normative specification, schema v1: bundle layout,
SHA256SUMSseal
algorithm with metadata sidecar andbundle_hashpromise, provenance
proof rules (notary,disk_image), the post-seal allowlist, symlink
prohibition, and the additive-only versioning policy. verifyCLI and library: hash-only verification with streamed file
hashing, set parity between manifest and disk, tamper rejection naming
the file, and the exit contract (0 verified, 2 rejected, 3 usage).- Canonical fixture set:
minimal-full-coverage,coverage-gaps,
notary-provenance,disk-image-provenance, and the negative
tampered-originalvector. - CI: test, clippy
-D warnings, the fixture gate, and a no-network crate
guard overCargo.lock.