コンテンツへスキップ

機械翻訳です。正式な情報源は英語版であり、ネイティブによる確認は未完了です。

ガイド

リリースの検証

Olivares AI のリリースが公開されたものであることを証明 — 署名、SLSA プロヴナンス、SBOM および OpenVEX アテステーションをネットワークなしで完全オフライン検証

最終更新:

Olivares AI はお客様のインフラストラクチャ上のエージェントをガバナンスするため、そのサプライチェーン自体がお客様の信頼モデルの一部です。リリースを実行する前に、それが公開されたものであることを証明してください。すべてのリリースには暗号的に検証するために必要なアーティファクトが同梱されます — そして検証はネットワークなしで完全に実行できます。これは接続されていない環境やエアギャップされたエステート向けのパスです。

インストーラーをシェルにパイプしないでください。アーティファクトをダウンロードし、検証してから実行してください。以下がその手順です。

プレリリース状態。 公開リリースはまだ出荷されていません — olivaresai/olivares はローンチと同時に公開されるため、今日ダウンロードできるアーティファクトはなく、これらのコマンドを実行する対象もありません。このガイドは、すべての公開リリースに同梱される検証チェーンを文書化したものです。その背後にあるパイプラインは構築済みで、CI で実行されています。以下の内容はすべて、最初のタグ付きリリースとともに実行可能になります。

リリースに同梱されるもの

タグ付きリリースにはバイナリアーカイブと、それらをアテストするために必要なすべてが含まれます:

アーティファクト内容
checksums.txt(+ .sig.pemすべてのアーティファクトの SHA-256 と cosign 署名および(キーレス)証明書
*_<os>_<arch>.tar.gzlinux/darwin x amd64/arm64 のリリースアーカイブ
*.spdx.sbom.json / *.cdx.sbom.jsonアーカイブごとの SBOM(SPDX と CycloneDX 両形式で出荷)
*.sbom.sigstore.jsonアーカイブ上の署名付き in-toto アテステーションとしてラップされた SPDX SBOM
*.vex.sigstore.jsonアーカイブ上の署名付き in-toto アテステーションとしての OpenVEX ステートメント
*.intoto.jsonlSLSA ビルドプロヴナンス(slsa-github-generator で生成)
コンテナイメージレジストリに公開、署名・アテスト済み、ダイジェストで固定

アテステーションは各アーティファクトをバイト単位で参照し、ミュータブルなタグでは参照しません。

ワンコマンドパス

リポジトリには scripts/verify-release.sh が同梱されています。ダウンロードしたファイルを含むディレクトリから実行すると、チェーン全体を検証し各ステップを報告します:

# キーレス(Sigstore) — デフォルト。透明性ログ(Rekor)へのネットワークが必要。
scripts/verify-release.sh

# キーベース — プロジェクトの公開鍵に対して検証(エアギャップ対応)。
scripts/verify-release.sh --key cosign.pub

# 完全オフライン — キーベース、透明性ログへのネットワークなし。
scripts/verify-release.sh --key cosign.pub --offline

# SLSA プロヴナンスを特定のソースタグに固定。
scripts/verify-release.sh --source-tag <version>

ネットワークの使用方法は署名モデルに依存します。キーレス署名は Rekor の透明性ログエントリを持つため、デフォルトパスは Rekor に到達します(代わりにバンドルされたエントリを使用するために --offline を渡せます)。キーベース署名は Rekor エントリなしで生成されるため、スクリプトは --insecure-ignore-tlog を追加し何にも接続しません。--key cosign.pub --offline の組み合わせが真に切断されたパスです。

スクリプトには cosignsha256sum が必要です。slsa-verifier はオプションです。アーティファクト(またはベリファイアー)が存在しないステップは失敗ではなく明確な注記付きでスキップされます — 最小限のリリースで動作し、完全なリリースを完全に検証します。

検証の内容、ステップバイステップ

手動で検証を実行する場合のチェーンです。<archive> を各 *.tar.gz に置き換えてください。

1. チェックサム上の署名

checksums.txt を検証すると、そこに記載されたすべてのアーティファクトを推移的に信頼します。キーレス検証は署名IDをプロジェクトの GitHub Actions OIDC IDに固定します:

cosign verify-blob \
  --certificate checksums.txt.pem \
  --signature checksums.txt.sig \
  --certificate-identity-regexp '^https://github\.com/olivaresai/olivares/\.github/workflows/release\.yml@refs/tags/v[0-9]+\.[0-9]+\.[0-9]+$' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  checksums.txt

キーベースの場合は代わりに cosign verify-blob --key cosign.pub --signature checksums.txt.sig --insecure-ignore-tlog checksums.txt を使用します。

2. アーティファクトの整合性

信頼されたマニフェストに対してすべてのアーティファクトのハッシュを再計算します:

sha256sum --check checksums.txt

3. SBOM アテステーション(SPDX)

cosign verify-blob-attestation --type spdxjson \
  --bundle <archive>.sbom.sigstore.json --new-bundle-format \
  --check-claims <archive>

オフラインパスの場合は(ID フラグの代わりに)--key cosign.pub --insecure-ignore-tlog を追加します。CycloneDX SBOM(*.cdx.sbom.json)はそれを好むツール用に同梱されます。

4. OpenVEX アテステーション

プロジェクトの脆弱性ステートメント、同じ方法で検証:

cosign verify-blob-attestation --type openvex \
  --bundle <archive>.vex.sigstore.json --new-bundle-format \
  --check-claims <archive>

5. SLSA プロヴナンス

slsa-verifier verify-artifact <archive> \
  --provenance-path <provenance>.intoto.jsonl \
  --source-uri github.com/olivaresai/olivares

コンテナイメージの検証

キーレスイメージパスは同じ GitHub Actions ID に対してイメージを証明しますが、ネットワークが必要です。常にダイジェストで解決してデプロイし、ミュータブルなタグは使用しないでください:

IMAGE=ghcr.io/olivaresai/olivares
DIGEST="$(crane digest "$IMAGE:<version>")"
REF="$IMAGE@$DIGEST"

cosign verify "$REF" \
  --certificate-identity-regexp '^https://github\.com/olivaresai/olivares/\.github/workflows/release\.yml@refs/tags/v[0-9]+\.[0-9]+\.[0-9]+$' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

完全に切断されたエステートの場合は、代わりにエアギャップバンドルを使用してください: イメージ、その署名とアテステーション、cosign.pub が含まれており、cosign verify --local-image <dir> --insecure-ignore-tlog --key cosign.pub でオフライン検証できます。セルフホストガイドでそのバンドルのビルドとミラーリングをカバーしています。

検証が証明するものとしないもの

暗号的検証はプロヴナンスと整合性を証明します: アーティファクトがパイプラインがビルドして署名した正確で未改変の出力であること。ソフトウェアの動作やコンプライアンスの姿勢を認証するものではありません。Olivares AI はプレ1.0 であり、SOC 2 や ISO 27001 などのフレームワークに向けて設計されています — 認証されていません。その区別が実際に何を意味するかについては正直さと制限事項を参照してください。

検証はまた、特定のリリースが実際に公開したアテステーションの完全性に依存します。ベリファイアーは実行した各ステップを報告します。ビルドがアーティファクトを省略した場合、対応するステップにはチェックするものがありません。標準リリースは上記で名前を挙げた SBOM、OpenVEX、SLSA アーティファクトを添付します。

ドキュメント検索