Skip to content

Back to the catalog

Workflow execution protections in GitHub Actions generally available - GitHub Changelog
github.blogarticle

Workflow execution protections in GitHub Actions generally available - GitHub Changelog

GitHub Actions' workflow execution protections (actor and event allowlist rules) reach general availability, adding workflow-file-level policy targeting, an Insights dashboard for auditing rule impact, and a REST API for managing policy as code across an enterprise. Alongside this, GitHub is rolling out a new secure default that disables the pull_request_target trigger on public repositories lacking an existing policy, directly mitigating 'pwn request' attacks where fork-submitted code runs with base-repo secrets; the rule starts in evaluate (shadow) mode and becomes enforced on November 2, 2026.

TL;DR GitHub Actions execution protections go GA with per-workflow policy, a REST API, and a new default that blocks pull_request_target on public repos to stop pwn requests (enforced Nov 2, 2026).
Document

What it is

GitHub Actions "workflow execution protections" are now GA for enterprises, organizations, and repositories. The consequential change for engineers is a new default rule that disables the pull_request_target trigger on public repositories that lack an applicable event policy — a mitigation for Pwn Request attacks. The rule ships in evaluate mode now and auto-enforces on November 2, 2026.

How it works

pull_request_target runs with access to base-repository secrets in the base-repo context. When a workflow using it executes code checked out from a fork, that untrusted code can exfiltrate secrets or poison the pipeline. The new default rule blocks pull_request_target outright for affected repos unless an event policy explicitly permits it.

Preconditions / Affected

  • Public repositories only — the default does not apply to private or internal repos.
  • Only repos with no existing applicable event policy for the trigger get the default.
  • Enforcement on Nov 2, 2026 applies specifically to affected repos that were on the default pull_request_target policy before GA.

What to do

The page gives a concrete two-step preparation path:

  1. Audit now. Use the Insights dashboard to view the evaluate-mode results and see exactly which workflow runs will fail once enforcement begins.
  2. Choose before Nov 2: - Leave the rule in place to block pull_request_target (if nothing depends on it), or - Explicitly allow pull_request_target in an applicable Actions event policy if workflows still need it. You can scope this narrowly using workflow file targeting — allowlist only the specific workflow files that require the trigger rather than opening the whole repo.

For policy-at-scale, the new REST API creates/reads/updates/deletes rules (including workflow path conditions) at enterprise, org, and repo level, so enforcement can be wired into governance tooling as code.

flowchart TD
  A[Public repo, no event policy] --> B{Depends on<br/>pull_request_target?}
  B -->|No| C[Leave default rule:<br/>blocked Nov 2, 2026]
  B -->|Yes| D[Add event policy allowing it]
  D --> E[Scope via workflow<br/>file targeting]

Caveats

The default rule starts in evaluate (shadow) mode — it blocks nothing until Nov 2, 2026, so the audit window is the entire runway. Repos that add an explicit policy before that date fall outside the default-enforcement cohort.

Organisations named here

  • pull_request_target

Technologies named here

  • GitHub Actions
  • GitHub Actions execution protections
  • Workflow file targeting
  • GitHub Actions pull_request_target workflows
  • Insights
  • Actions policies REST API
  • Evaluate mode

Techniques named here

  • Pwn Requests
  • Pwn Request