Skip to main content

Module rules

Module rules 

Source

Functions§

artifact_boundary_crossing
MVP Rule 5: Artifact produced by privileged step consumed across trust boundary.
authority_cycle
Rule: circular DelegatesTo chain — workflow calls itself transitively.
authority_propagation
MVP Rule 1: Authority (secret/identity) propagated across a trust boundary.
cross_workflow_authority_chain
Rule: authority (secret/identity) flows into an opaque external workflow via DelegatesTo.
floating_image
Tier 6 Rule: Container image without Docker digest pinning.
long_lived_credential
Stretch Rule 9: Secret name matches known long-lived/static credential pattern.
over_privileged_identity
MVP Rule 2: Identity scope broader than actual usage.
persisted_credential
Stretch Rule: checkout step with persistCredentials: true writes credentials to disk.
run_all_rules
Run all rules against a graph.
self_hosted_pool_pr_hijack
Rule: self-hosted agent pool used by a PR-triggered pipeline that also checks out the repo.
self_mutating_pipeline
Rule: step writes to the environment gate ($GITHUB_ENV / ##vso[task.setvariable]).
service_connection_scope_mismatch
Rule: ADO service connection with broad/unknown scope and no OIDC federation, reachable from a PR-triggered job.
trigger_context_mismatch
Rule: dangerous trigger type (pull_request_target / pr) combined with secret/identity access.
unpinned_action
MVP Rule 3: Third-party action/image without SHA pin.
untrusted_with_authority
MVP Rule 4: Untrusted step has direct access to secret/identity.
uplift_without_attestation
Rule: privileged workflow (OIDC/federated identity) with no provenance attestation step.
variable_group_in_pr_job
Rule: ADO variable group consumed by a PR-triggered job.