Files
2026-08-24 15:45:16 +02:00

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.