Skip to content

chore(deps): update agent-manifest requirement from >=0.3.0 to >=0.6.0 - #59

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/agent-manifest-gte-0.6.0
Open

chore(deps): update agent-manifest requirement from >=0.3.0 to >=0.6.0#59
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/agent-manifest-gte-0.6.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 27, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on agent-manifest to permit the latest version.

Release notes

Sourced from agent-manifest's releases.

python-v0.6.0

What's Changed

New Contributors

Full Changelog: agentrust-io/agent-manifest@python-v0.5.0...python-v0.6.0

Changelog

Sourced from agent-manifest's changelog.

[0.6.0] — 2026-07-26

Fixes the CLI that every document described but that nobody could run, and closes a signature-downgrade gap in the verifier.

Fixed

[SDK] The documented CLI invocation now works. Every command was nested under a redundant second manifest group, so the real invocation was manifest manifest verify signed.json while the README, the docs site, the PyPI description, and the CLI's own module docstring all printed manifest verify signed.json. Running the published quickstart failed at the first step with Error: No such command 'keygen'. tests/test_cli.py used the nested form, so CI never caught it. Commands are now attached to the top-level group as documented; the nested spelling still works, is hidden from --help, and prints a deprecation warning (removal in 1.0). test_documented_commands_are_top_level guards the surface.

[SDK] verify_manifest() now cross-checks the signed crypto_profile against signature.algorithm and fails closed on a downgrade (spec 4.2). crypto_profile is inside the signing pre-image, but the whole signature block is excluded from it (spec 3.6), so the algorithm identifier could previously be rewritten without disturbing the signed bytes: a manifest declaring the post-quantum profile verified VALID on a classical-only Ed25519 signature. The check runs independently of trusted_keys (the downgrade is a property of the manifest, not of the verifier's key material) and is one-directional: it rejects a signature weaker than the declared profile requires and permits a stronger one, so an issuer dual-signing ahead of the profile flip is not flagged. New conformance vector AM-VEC-020.

Documentation

[SDK] docs/getting-started.md: new "Watch it catch a change" step. Shows the two ways verification fails and how they differ — an edit to the signed record (signature fails, signature_verified: false) versus runtime drift against an intact signature (declared-vs-actual binding fails, system_prompt: MISMATCH) — and names the boot-time boundary, pointing at attest_runtime_state() for freshness. All printed values are copied from real runs.

[SDK] docs/api-reference/cli.md is now generated from the CLI by scripts/gen_cli_reference.py instead of hand-written. The hand-written page had drifted into fiction: it documented manifest keygen --out/--print-pub, manifest verify --revocation-url/--min-slsa-level, manifest create --agent-id/--issuer/--model/--ttl-hours, and manifest revoke --crl-file/--key-file, none of which exist, while omitting the options that do. test_cli_reference.py fails if the committed page drifts from the CLI again.

[SDK] CLI help output is readable: \b markers keep the example blocks from being rewrapped into one line, and -o/--output, --enforce-hitl, and --enforce-attestation have help text instead of appearing bare.

[SDK] Corrected CLI examples that could not have worked: docs/operations/key-rotation.md used the non-existent manifest keygen --out ... --print-pub, and docs/index.md plus python/README.md printed manifest verify without --public-key, which fails closed as UNVERIFIABLE and exits 1 rather than the VALID shown.

[SDK] LIMITATIONS.md: document that Azure TDX is not supported for offline attestation (hardware-confirmed). Azure runs TDX behind the Hyper-V paravisor, so the guest gets no signed DCAP quote — only a MAC'd TDREPORT via the vTPM — and rooting that as genuine silicon needs a networked service (Azure MAA). Offline TDX attestation is supported on non-paravisor guests (e.g. GCP C3); on Azure use SEV-SNP (AzureCVMProvider). Azure-MAA TDX support is tracked as a follow-up.

[0.5.0] — 2026-07-21

Generalizes the verification API so cmcp and ca2a can delegate their full SNP/TDX/TPM crypto to this package (via PyPI) without changing behavior or rewriting their test fixtures. Backward compatible — all existing functions and signatures are unchanged.

Added

[SDK] Generic, algorithm-agnostic certificate-chain verifier verify_cert_chain(chain, trusted_roots, *, root_fingerprint_hash=SHA256) (exported, with CertChainError). Verifies a leaf-first chain by honoring each certificate's own signature algorithm — ECDSA, RSASSA-PSS, or RSA PKCS#1 v1.5 — via x509.Certificate.verify_directly_issued_by, then pins the chain root by fingerprint. This is the shared primitive behind AMD VCEK, Intel PCK, and TPM AK chains; it lets both consumers replace their own chain verifiers (cmcp's synthetic RSA-PKCS1v15 ARK/ASK and ca2a's EC chains both verify through it). The AMD-specialized verify_vcek_chain is unchanged (kept as its hardware-validated specialization).

Changed

[SDK] parse_tdx_quote(quote, *, strict=True) gained a strict flag. strict=True (default) keeps enforcing the production layout (version==4, tee_type==0x81); strict=False parses the header/body of an otherwise well-formed quote whose version/tee_type differ (e.g. consumers' synthetic vectors) without asserting production TDX identity. verify_tdx_quote is unaffected and always strict.

[0.4.0] — 2026-07-21

Makes agent-manifest the canonical hardware-verification library for the org: SEV-SNP, TDX, and now TPM quote verification live here and are consumed by cmcp and ca2a via this PyPI package rather than duplicated per repo.

Added

[SDK] Shared TPM 2.0 quote verifier (agent_manifest._tpm_verify, exported: parse_tpm_quote, verify_tpm_quote, TpmQuote, TpmVerificationError). Fail-closed appraisal of a TPMS_ATTEST quote: magic/type structural check, AK certificate chain to a caller-pinned trusted root, AK signature (ECDSA-P256 or RSA PKCS#1 v1.5 / SHA-256) over the attest blob, and constant-time qualifying-data (nonce) + PCR-digest binding checks. Wired into verify_attestation_chain (dispatch on platform in {"tpm","aws-nitro"}). Ported from ca2a's reference implementation so the three repos share one verifier. Caveat: exercised against synthetic self-consistent vectors; unlike the SEV-SNP/TDX paths it is not yet validated against a real TPM quote (follow-up).

[SDK] Intel TDX DCAP quote verification (agent_manifest._tdx_verify, exported), hardware-validated on a non-paravisor TDX guest (GCP C3). TDXProvider now uses the configfs-TSM tdx_guest provider, which returns a full remotely-verifiable DCAP quote (v4, ECDSA-P256) instead of a bare local TDREPORT. Verification checks the quote's attestation-key signature over the TD report, the QE report binding, the PCK signature over the QE report, and the PCK certificate chain up to the pinned Intel SGX Root CA (embedded; offline). Wired into verify_attestation_chain, which now returns passed=True for a TDX report only when the quote + PCK chain verify. Closes the TDX half of the "shipped the binding without verification" gap (#204/#228); the previous /dev/tdx-guest ioctl path (raw TDREPORT, no signature check, RTMR-extend that never happened) has been removed. Azure TDX (paravisor/vTPM-rooted) remains a follow-up. [SDK] AzureCVMProvider — hardware-attested manifest binding on Azure confidential VMs, validated on live SEV-SNP silicon (Azure DCasv5). Azure runs SNP behind a Hyper-V paravisor, so there is no /dev/sev-guest; the SNP report is read from the vTPM NV index 0x01400001 and the manifest hash is bound through the vTPM (PCR + AK-signed quote), with the AK rooted in silicon by the SNP report + VCEK chain. Auto-selected by provider='auto' on Azure. [SDK] AMD SEV-SNP signature backend (agent_manifest._snp_verify, exported): SNP report parsing, HCL-report splitting, the Azure REPORT_DATA == sha256(runtime_data) binding check, ECDSA-P384 report-signature verification against the VCEK, and VCEK ← ASK ← ARK chain verification (with optional pinned AMD root). Validated against a real SEV-SNP report. [SDK] verify_attestation_chain now performs real hardware-signature verification when VCEK/certificate material is supplied (previously always NOT_IMPLEMENTED); it returns passed=True only once the SNP signature and VCEK chain verify. Without VCEK material it still fails closed.

Changed

[SDK] SEVSNPProvider now uses the kernel configfs-TSM interface (/sys/kernel/config/tsm/report, kernel 6.7+) for bare-metal / non-paravisor SNP guests; the previous /dev/sev-guest ioctl path (never hardware-validated, incorrect ABI) has been removed. Hardware-validated on a non-paravisor SEV-SNP guest (GCP N2D, AMD Milan): the manifest digest lands in the guest-controlled REPORT_DATA and the report verifies against the AMD VCEK chain. On Azure use AzureCVMProvider.

... (truncated)

Commits
  • 5bf5009 fix(cli): make the documented invocation the real one; regenerate CLI referen...
  • a6fda80 fix(verify): reject crypto_profile downgrade; show verification failing in ge...
  • 083ddb8 Merge pull request #199 from aditisingh02/feat/verification-conformance-vectors
  • 2abf338 Merge branch 'main' into feat/verification-conformance-vectors
  • af527a6 Merge pull request #235 from agentrust-io/docs/azure-tdx-limitation
  • 649c373 docs: document Azure TDX offline-attestation limitation (MAA-required)
  • 19621f4 Merge pull request #234 from agentrust-io/feat/generalized-verifier-api
  • 7b0defd feat(verify): generalized cert-chain verifier + lenient TDX parse (0.5.0)
  • 7cba658 Merge pull request #233 from agentrust-io/feat/shared-tpm-verifier
  • 6054733 feat(tee): add shared TPM 2.0 quote verifier; release 0.4.0
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [agent-manifest](https://github.com/agentrust-io/agent-manifest) to permit the latest version.
- [Release notes](https://github.com/agentrust-io/agent-manifest/releases)
- [Changelog](https://github.com/agentrust-io/agent-manifest/blob/main/CHANGELOG.md)
- [Commits](agentrust-io/agent-manifest@python-v0.3.0...python-v0.6.0)

---
updated-dependencies:
- dependency-name: agent-manifest
  dependency-version: 0.6.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants