Immutable snapshot. Verify every file before use: sha256sum -c SHA256SUMS.
The whole snapshot is also published as one download: asor-2026-10-07.zip. Its contents mirror this page's files, index.html excepted.
| Path | Size | SHA-256 |
|---|---|---|
| README.txt | 2.8 KB | d7b7040964261a8f3375fe3cd45677aa306c7aecbad663c82bbd694b26aff4cd |
| SHA256SUMS | 1.1 KB | fb2632d508720ce619d5a7a0f228037aa1c913725097d4dcbad5ff3ddc3b0960 |
| asor-2026-10-07.zip | 89.3 KB | 7d29ff0cffdb31de24265d6c28f3119b1e15a77921197599823acb7ffccebe73 |
| java/LICENSE | 11.1 KB | cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 |
| java/NOTICE | 157 B | 11010f771358236f76b6e28947da1f8b352b4496446bf9a5e5ba6eb0a01975e1 |
| java/README.txt | 3.6 KB | 807ba391708603f63bef5599080ba4ab5105d0b1c090f0b98c67c8e1099ddb6d |
| java/Score.java | 1.2 KB | e917a1d3a7a0ba873f458dc550a56bdd00a810c2e6b128a0906cfa0e9910c66a |
| java/attenu-guard-java-0.1.0-src.zip | 76.1 KB | 21ef6558b99d6ca8a175ee78bcd942eeab8e29b6f3847f3a54b7f91e83a3a74d |
| java/verify-corpus.sh | 4.5 KB | f01b8eb3bf356f348c5b8c3c5d767481db7ad449e0578a7909d6429a6a57ce65 |
| patch/0001-add-refresh-reparent-vector.patch | 13.3 KB | 9890f6ebd01bfd93f700a0bab68af04dabc8a9ad8bc9c92616274175c5bc71ea |
| vectors/control_valid_under_actual_parent.json | 1.8 KB | 287d5c9abae7c709d807f8c4bb5eed1e3b3d9817aa15840afdab328b7e259c29 |
| vectors/reject_refresh_reparent.json | 2.3 KB | 873b65b5776062cbe43d424c809f41cc1151280ae1f1ca846aa3b18c2319ecfd |
| vectors/reject_refresh_reparent_timeshift.json | 1.9 KB | 2a089b7a69ec6d90b91ad50bbfe24c4941a0f9ac94dff541d56f5049a4f5224e |
vectors/reject_refresh_reparent.json is offered to the -02 vector set of draft-asor-wimse-agent-delegation-chain. A validly-issued child token is presented with a re-issued copy of the parent it was delegated under: identical authority (iss, sub, scopes, ceilings, ttl, iat, exp, depth fields), honestly re-signed over its new bytes, differing only in jti. The child's par_hash still commits to the original parent's signing input, so verification step 2 — the byte commitment — rejects it with par_hash_mismatch. Steps 1, 3, 4 and 5 pass, so subsumption cannot catch it.
That makes it complementary to the existing reject_spliced_parent vector, which substitutes a different, broader parent. Here the parent's authority does not move; only the token instance does.
vectors/control_valid_under_actual_parent.json is the same child under its actual parent (accept). It is byte-identical to the first two tokens of the existing valid_chain vector, so it exists as a local control for attribution and is not offered to the corpus. vectors/reject_refresh_reparent_timeshift.json is the same class with iat and exp shifted by the same delta.
java/ is a Java implementation of the offline verification algorithm (steps 1–5), a port of attenu-io/attenu-guard at e2fd094 (v0.19.1). It scores 20/20 on the upstream corpus as of that baseline and 3/3 on the vectors here. Sources only — no compiled binary is published, so what you run is what you built. java/README.txt gives a JDK-only path that needs neither Maven nor network.
patch/ adds the offered vector to the reference implementation's own harness for review.