Skip to content

Update dev and prod PCR approvals for ad5a389d - #909

Merged
AnthonyRonning merged 3 commits into
masterfrom
droid/opensecret-pcr-ad5a389d
Sep 13, 2026
Merged

Update dev and prod PCR approvals for ad5a389d#909
AnthonyRonning merged 3 commits into
masterfrom
droid/opensecret-pcr-ad5a389d

Conversation

@AnthonyRonning

Copy link
Copy Markdown
Contributor

Summary

Update only the four canonical PCR files for EIFs built from master commit ad5a389d175543abe103201bd1345ae9a647fb96, including the backend changes merged in #908.

  • Replace the dev/prod snapshots with the reviewed generated measurements.
  • Append one explicitly authorized PCR0 signature per environment using the existing signing key, verified against both SDKs' pinned public key.
  • Preserve every prior entry and signature, increasing each history from 145 to 146 entries. No key rotation, history pruning, workflow change, or measured build-input change.

The fresh legacy baseline is OpenSecretCloud/opensecret@70bc7f8826f55be18431eaf0038ddcbc98bca99a. Its four approval files matched the canonical pre-update bundle exactly; the offline validator confirms both updated histories preserve that baseline.

Reviewed artifact evidence

Built on Linux ARM64 using the pinned component flake and normal Nix cache semantics. Credentials and dotenv loading were excluded from both builds.

Environment EIF bytes EIF SHA-256
dev 233350992 aa8826a86f044f61fb6623896fe06c2a08be2d244e544a99f9812f1734ff582a
prod 233349460 a1f98ee51d59e1dc609bfc4c4dc2e5e2da55f7809f4866193c62b8b9b8852567

Dev PCR0:

c5470ea9d2d8499a65fbb9bc936bd7a62a5ef90b54da1504535cb4384f303fb673369d64f1a43f17c8ed8d2a89f09949

Prod PCR0:

3d2f90b4dac7316e5485e03f4cdf3f2f8ae79fde77442546475eac6c3037916ac54b8bdb26c85a73e9b778a9a5077638

Both PCR0s are new. PCR1 is unchanged; PCR2 changes with the new userspace and remains environment-specific. The existing format signs lowercase PCR0 text only with ECDSA P-384/SHA-384 and a 96-byte IEEE-P1363 signature, not PCR1/PCR2 or history metadata.

Validation

  • Dev and prod EIF builds succeeded. Shared backend build tests: 635 passed, 0 failed, 23 ignored.
  • Both real check_opensecret_eif.sh comparisons passed after the update and again on the committed tree.
  • Independent Python signed-bundle verification passed against the fresh legacy baseline: all 146 signatures per history are valid, snapshots match history entries, and all 145 prior entries are preserved.
  • All 10 root aarch64-linux Nix checks passed, including workflow lint and signed-PCR regression tests. Other systems were omitted.
  • Normal commit hook passed frontend formatting, build, and 818 tests (0 failures).
  • Verified unchanged legacy approval files, lockfiles, dependency pins, private-file metadata, and default backend result path. No private key values were logged or copied into configuration/build inputs.

CI and remaining operator checkpoints

Unlike #905/#906, this PR explicitly changes approval JSON, so both hosted dev/prod EIF comparisons should run. Those PR jobs use the unprivileged GitHub cache path. FlakeHub OIDC authentication and its cache access must be verified separately by a trusted-master run; local cache hits do not prove hosted timing or cache access.

This PR does not merge anything, publish the legacy mirror, transfer an EIF, or deploy. After separate approval, publish the canonical update and its exact four-file legacy mirror and verify both public locations before deployment. The generated measurement files are build evidence, not proof of a running enclave or a forced independent rebuild.

AnthonyRonning and others added 3 commits September 12, 2026 16:49
Record EIF measurements built from
ad5a389 and append their PCR0 approvals
using the existing SDK-matching signing key. Preserve all 145 previous
entries in each history. This does not publish the legacy mirror or deploy.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Allow approval-edit PRs from this repository to use the trusted EIF cache
job while retaining GitHub-only caching for forks and other manual refs.
Extend routing coverage and update the cache trust guidance.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Allow trusted dev/prod EIF builds 180 minutes on the organization ARM64
8-core runner while preserving the standard unprivileged runner and timeout.
Register the custom label with actionlint and retain cache trust boundaries.

Remove the standalone signed-PCR dev-shell job and its unused selector
output while keeping lightweight root and manual compatibility validation.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

Maple development preview: https://f34ec719.maple-ca8.pages.dev

Commit: b43813b27968bb23eedbfbc4bf6ebb48e39b6d77

Uses development API, billing, flags and PCR configuration. Cloudflare Access applies.

@AnthonyRonning
AnthonyRonning merged commit 0b228f5 into master Sep 13, 2026
36 checks passed
@AnthonyRonning
AnthonyRonning deleted the droid/opensecret-pcr-ad5a389d branch September 13, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant