Skip to content

3.0.0: coordinated security release

Choose a tag to compare

@aeoess aeoess released this 04 Sep 19:08
· 105 commits to main since this release
v3.0.0
78f230e

APS ships coordinated security hardening across all four SDKs.

TypeScript 6.0.0, Python 3.0.0, Rust 0.3.0 and Go v0.7.0 are out today as one coordinated release across the Agent Passport System SDKs.

The biggest change is the verification boundary.

A successful authority result now depends on trust supplied by the relying party, not a key carried by the artifact itself. Issuers and holders are bound to their signing keys. Chained artifacts are linked to what they claim to derive from. Presentation challenge and domain are signed. Timestamps the verifier cannot read fail closed.

Passport verification now follows the same authority contract in all four SDKs: issuer authority requires caller-supplied trusted issuers. A self-signed passport can still be accepted explicitly for integrity-only use, but it is not a substitute for issuer trust.

We also tightened the cross-language contract. Credentials, presentations and policy receipts produced in TypeScript verify in Python and the reverse. A countersigned passport produced in TypeScript verifies in Python, Rust and Go.

The release gates run 5,281 tests in TypeScript, 1,106 in Python, 151 in Rust and every Go package, plus attacker-side regression tests for the repaired paths.

The changes came out of an internal security review. We published four cross-referenced advisories with affected versions and migration guidance:

TypeScript and Python are major upgrades. Credentials and presentations using the previous signed preimages need to be reissued, presentations now carry a challenge, and authority-facing verification takes explicit trust context. The changelogs have the exact call shapes.

Tymofii Pidlisnyi
Agent Passport System


Changelog for this package: https://github.com/aeoess/agent-passport-python/blob/v3.0.0/CHANGELOG.md