Skip to content

OBAAF 0.3.0

Latest

Choose a tag to compare

@seanudeke seanudeke released this 12 Nov 17:09
· 127 commits to main since this release
5162a17

OBAAF 0.3.0

Upgrading from 0.2.0: a gate that passed can fail without the workflows having
changed. Several changes make the checker report what it missed before.

Checker

  • A job now gets the rules of every lane it belongs to. A job that runs an agent
    and publishes was checked for one of the two; it is now checked for both. A lane
    declaration adds rules and never removes a finding, and one that does nothing is
    listed in the report's notes.
  • Secrets and outsider-written fields are read from an expression's tokens, not
    matched as text. secrets.*, a computed secret name and several spellings that got
    past OBAAF-GHA-010 are now reported. A file the checker cannot read is an error.
  • New rule OBAAF-GHA-024: a secret listed under protected_secrets may only be used
    by jobs in the environment named for it.
  • Baselines: --write-baseline records today's findings and --baseline fails only on
    new ones, or on entries that no longer match.
  • obaaf check .github/workflows no longer checks zero files and passes.

Jenkins (advisory)

  • obaaf check reads Jenkinsfiles alongside workflows, with fifteen advisory rules,
    OBAAF-JEN-001 to 015. Controller settings and shared-library code are reported as
    unknown, never as a pass.

OBAAF's own supply chain

  • The PyPI release now runs obaaf verify release before upload: provenance, build
    record, environment approval by someone other than whoever created the tag, and
    agent history.
    Check a download yourself:
    gh attestation verify obaaf-0.3.0-py3-none-any.whl --repo Obaaf/OBAAF

Project

  • Governance is adopted and outside contributions are accepted under CONTRIBUTING.md.
  • New documents: docs/landscape.md compares OBAAF with other tools, and
    docs/egress-control.md is the design of an egress control for agent jobs.

Full changelog: CHANGELOG.md