Repository navigation
v0.3.0 - first observed vectors
The first observed vectors reach PyPI.
0.2.1 shipped on 2026-08-25, five days before the first observed promotion — so
pip install subvectors has been serving a corpus with zero observation blocks
while the README claimed live-AWS provenance. This release closes that gap.
Provenance
Six vectors moved from documented (derived from primary documentation) to
observed (recorded from a live exchange), each carrying an observation block
with method, date, evidence and tool version. All six were recorded against live
AWS via the IAM policy simulator on 2026-08-29/30, aws-cli/2.36.33:
gh-aws-case-mismatch-rejectedgh-aws-org-wide-wildcard-repogh-aws-repo-wide-wildcard-suffixgh-aws-ref-wildcard-spans-nested-branchgh-aws-branch-wildcard-zero-width—*matches the empty string, so
...refs/heads/main*admitsmainitself as well asmain2. Previously an
interpretation of "any combination of characters"; now measured.gh-aws-multivalue-loose-value-poisons-list— confirmed twice: the policy
simulator returnsallowedfor an unrelated repo'spull_requestsubject
against a two-value list whose second value is org-wide, andiam:CreateRole
accepts a trust policy carrying that list (and one carrying a literal*
among its values) while rejecting a condition-less policy with
MalformedPolicyDocument. AWS's creation-time guardrail blocks the 2023
sub-less class but does not inspect the other values of an OR-list.
Current split: 127 documented / 6 observed.
Corpus
14 suites — 133 vectors across 5 issuers (github, gitlab, bitbucket,
circleci, terraform-cloud) and 6 consumer semantics (aws-stringlike,
aws-stringequals, aws-all, azure-fic-exact, azure-fic-flexible,
gcp-cel). github-aws is at suite version 0.3.2.
Also in this release: docs/OBSERVED-PROMOTION.md, the runbook defining what
observed requires and how to promote a vector, plus scripts/observe_aws.py,
which drives corpus vectors through aws iam simulate-custom-policy.
Install
pip install subvectors==0.3.0
The wheel ships the entire corpus. The vectors are CC0; everything else is
Apache-2.0.