ASOR interoperability artifacts - snapshot 2026-10-07

This directory is immutable. Corrections and later revisions are published
under a new dated directory; nothing here is edited in place. SHA256SUMS covers
every file here except index.html and itself.

Single archive

  Everything here is also published as one file, asor-2026-10-07.zip, so it can
  be taken in one piece. Its contents mirror this directory with index.html
  left out. The copy of SHA256SUMS inside the archive covers those contents;
  the SHA256SUMS on the download page also covers the archive itself.

Contents

  vectors/reject_refresh_reparent.json
      Adversarial vector offered to the -02 vector set of
      draft-asor-wimse-agent-delegation-chain (author: Rafael Asor).
      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 par_hash
      byte commitment - rejects it with par_hash_mismatch. Steps 1, 3, 4 and 5
      pass, so subsumption cannot catch this.

  vectors/control_valid_under_actual_parent.json
      The same child under its actual parent: accept. A local control for
      attribution. It is byte-identical to the first two tokens of the
      existing valid_chain vector, so it is not offered to the corpus.

  vectors/reject_refresh_reparent_timeshift.json
      The same class with iat and exp shifted by the same delta (ttl
      unchanged). Not offered to the corpus.

  java/
      Java implementation of the offline verification algorithm; a port of
      attenu-io/attenu-guard at e2fd094 (v0.19.1). Sources only - no compiled
      binary is published. See java/README.txt.

  patch/
      The offered vector as a patch against the reference implementation's own
      harness: one new vector in both committed copies, plus the generator, the
      expected-file set, VECTOR_NAMES and the vectors README. Nothing else.

Vector category

  Complementary to the existing reject_spliced_parent vector, which substitutes
  a DIFFERENT, broader, attacker-chosen parent. Here the parent's authority does
  not move; only the token instance does. The vector pins the outcome and the
  mechanism, not a choice between the two refresh models discussed on the WIMSE
  list.

What is not claimed

  No vulnerability, no attack, no production-security statement. The Java
  implementation is a second implementation in a different language by the same
  party that produced these vectors - not independent third-party validation.
  The corpus covers verification steps 1-5; holder binding, status lists and
  actual-action authorization are out of scope.

Verify

  sha256sum -c SHA256SUMS
