Skip to content

RE010 treats a run-id or attestations permission as artifact provenance #978

Open

Description

@hyperpolymath

The pinned RE010 implementation in lib/rules/research_extensions.ex treats run-id: ${{ github.event.workflow_run.id }} or an attestations: read declaration anywhere in a workflow as sufficient to suppress its finding. A run-id binds a download to a run, but a fork PR can control that run and its artifacts; a permission declaration does not verify an attestation. Neither proves the producer, contents, or trusted use. Conversely, an indirect verified run ID such as steps.source.outputs.run is flagged even when it was checked against GitHub run metadata.

Please model untrusted workflow_run artifacts as a trust crossing independently of run-id, distinguish attribution from provenance/content verification, and avoid treating a permission declaration as verification. Add adversarial tests for a malicious PR producer with direct run-id, mere attestations permission, and an indirectly constrained run ID. Consumer context: hyperpolymath/trope-checker#107.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions