Skip to content

Scope patches commit provenance exception - #28

Closed
Wenxin Jiang (Wenxin-Jiang) wants to merge 2 commits into
masterfrom
codex/audit-patchpedia-read-access
Closed

Wenxin Jiang (Wenxin-Jiang) wants to merge 2 commits into
masterfrom
codex/audit-patchpedia-read-access

Conversation

@Wenxin-Jiang

@Wenxin-Jiang Wenxin Jiang (Wenxin-Jiang) commented Sep 14, 2026

Copy link
Copy Markdown

LLM Description written by Codex:GPT-6

The required audit for SocketDev/depscan#26088 fails because its repository token cannot inspect private Patchpedia commit ancestry. Apply the approved impostor-commit exception only to three patches workflows, without requiring a PR-bot key or changing the audit for other inputs.

When running in depscan with .github/zizmor-patches.yml present, scan a temporary copy of the complete .github tree with the three patches workflows removed, then scan those original files using the explicit exception config. Both scans run and either failure fails the job. Root audit configuration is copied for the normal scan; composite actions and Dependabot remain covered. Other repositories, and depscan revisions without the exception config, retain the original scan.

The exception applies to deploy-patches-staging.yaml, deploy-patches-prod.yaml, and patches-compatibility.yaml. Their config in depscan preserves existing repository policy and additionally disables impostor-commit. This omits provenance checks for all action references in those three files, not only Patchpedia. All other rules retain existing policy, and other inputs retain provenance checks. SHA pins and deployment validation remain unchanged.

No App-token step, App-secret warning exception, repository write permission, audit-wide suppression or offline audit mode is introduced.

Validation

  • Actionlint passes; zizmor 1.23.1 offline audit of this workflow passes.
  • Five real-CLI/real-filesystem cases passed using the exact shell step: clean scan, finding in a selected workflow, finding in an ordinary workflow, other repository fallback, and absent-config fallback. Workflow, composite-action and Dependabot coverage verified; findings fail the job in either partition. These local checks used offline mode only to avoid network credentials; the committed workflow retains online auditing.
  • The three actual depscan workflows pass a local offline scan with their explicit config. Parsed config comparison confirms the only change from existing policy is impostor-commit: disable: true.
  • Yamllint passes with a 120-column limit and existing baseline warnings; git diff --check passes. Independent review approved the partition and failure propagation.

Enablement

Merge this central workflow change and ensure depscan contains its scoped config, then trigger a fresh required audit on depscan#26088. The exception does not take effect before both are present. Reusable-workflow sharing remains a separate prerequisite. No credentials or repository settings were changed.

Use a read-only PR bot token for Patchpedia lookups in depscan.
Keep repository-token authentication for other audit consumers.

Assisted-by: Codex:GPT-6
Audit the three depscan patches workflows separately so their
private commit lookup can be omitted without changing other inputs.
Preserve failures from both scans and remove App credentials.

Assisted-by: Codex:GPT-6
@Wenxin-Jiang Wenxin Jiang (Wenxin-Jiang) changed the title Allow audit to read private Patchpedia refs Scope patches commit provenance exception Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant