2.7 KiB
attesto/attesto — Homebrew tap
Homebrew tap for Attesto: the attesto verifier CLI and
the attesto-local-vault container wrapper. Artifacts are served from the
signed download host get.attesto.eu.
Install
brew tap attesto/attesto https://git.attesto.eu/attesto/homebrew-attesto.git
brew trust attesto/attesto
brew install attesto # the CLI (offline verifier)
brew install attesto-local-vault # the Local Vault container wrapper
What is signed, and how to verify independently
Every release channel on get.attesto.eu carries a SHA256SUMS manifest and a
cosign signature over it (SHA256SUMS.sig). The sha256 stanzas in the
formulas of this tap are copied verbatim from those signed manifests —
never computed locally. Homebrew then enforces the same hashes on every
install.
You do not have to trust this tap. Verify the manifests yourself:
curl -fsSLO https://get.attesto.eu/cosign.pub
# CLI channel
curl -fsSLO https://get.attesto.eu/0.5.0/SHA256SUMS
curl -fsSLO https://get.attesto.eu/0.5.0/SHA256SUMS.sig
cosign verify-blob --key cosign.pub --insecure-ignore-tlog \
--signature SHA256SUMS.sig SHA256SUMS
# Local Vault channel
curl -fsSLO https://get.attesto.eu/local-vault/2.0.1/SHA256SUMS
curl -fsSLO https://get.attesto.eu/local-vault/2.0.1/SHA256SUMS.sig
cosign verify-blob --key cosign.pub --insecure-ignore-tlog \
--signature SHA256SUMS.sig SHA256SUMS
then compare the listed hashes with the sha256 values in Formula/*.rb.
(--insecure-ignore-tlog is required because the release key is a KMS key
and signatures are not uploaded to the Rekor transparency log.)
The Local Vault container image itself is referenced by digest, not by a
tag, so the wrapper can only ever run the exact image
git.attesto.eu/attesto/local-vault@sha256:5799e7f0669c9b42a55a338f4233cfa5afb5aa6a2627c2c50f7545a41bff1551.
macOS honesty note
attesto-local-vault requires Docker (Docker Desktop on macOS) at runtime —
Homebrew does not install it for you. On macOS the vault and its Linux-only
provider sandbox run inside Docker Desktop's Linux VM. Attesto's
isolation claims apply within that VM; a native macOS process would not carry
them, which is exactly why the macOS install is a container wrapper and never
claims native isolation.
Where this tap comes from
The contents of this repository are mirrored from ops/get-host/homebrew/ in
the main Attesto repository — that directory is the source of truth; changes
land there first and are synced here at publish time (sync_tap.sh). The
behavioral parity between the brew wrapper and the install.sh wrapper is
enforced there by tests/wrapper_sync_check.sh.