feat(security): verify signed official catalogs#2
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: def66b8da4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| signature_verification = verify_catalog_signature( | ||
| payload, | ||
| signature_payload, | ||
| trust_store_path=trust_store_path, |
There was a problem hiding this comment.
Require packaged trust roots for official sync
When sync_official(..., catalog_source="https://...", trust_store_path=...) is called, verification is delegated to the caller-supplied trust store instead of the packaged trust/ keys. That conflicts with the new AGENTS.md rule that bundled and HTTPS official catalogs are trusted only against public keys packaged from trust/, and it lets an integration mark an arbitrary network catalog as signature_verified official if it passes its own key store. Please keep override trust stores out of bundled/HTTPS official sync paths, or limit this hook to tests/local development.
Useful? React with 👍 / 👎.
What changed
2026-07-15T17:57:07Z, recording UTC start/end timestamps, and renaming the snapshot to its actual UTC run dateWhy
The prior update channel relied on HTTPS, the repository account, monotonic sequence, and hashes, but had no public-key authenticity check. The benchmark snapshot also used the local calendar date without timezone, which appeared future-dated in UTC review.
Validation
uv run ruff check .uv run pytest— 160 passeduv lock --checkgit diff --checkuv build.pemprivate key