Skip to content

Discuss: which GitHub-Actions-security measures should be recommended / encouraged / enforced across ASF repos? #746

Description

@potiuk

Follow-up to the discussion on #631 (actions-audit.py), where @raboof noted we don't yet have consensus on all the checks the tool proposes, and @dave2wave raised the enforcement vs. voluntary-adoption split and the missing input from Security / Infra.

This issue is the place to work toward that consensus. Once we agree, #631 (and any successor in apache/infrastructure-gha-workflow-scanner) can be adjusted to match.

Classification scheme

For each check, please indicate which tier it belongs to:

  • 🟢 Recommend — document it, PMCs opt in themselves
  • 🟡 Encourage — proactively open PRs against PMC repos (with PMC consent upstream on dev@), PMCs can decline
  • 🔴 Enforce — mandatory baseline, continuously scanned (e.g. via infrastructure-gha-workflow-scanner), failure flagged to Infra
  • Out of scope — not appropriate as an ASF-wide policy

Checks proposed in #631

  • Dependabot enabled for github-actions ecosystem — tier: ⚪🟢🟡🔴
  • Dependabot cooldown for github-actions (separate thread in Determine recommendations for cooldown periods #683 — current proposal: 7 days for "used" actions; 0 days for dependabot PRs that trigger review in this repo) — tier: ⚪🟢🟡🔴, value: 0 / 4 / 7 / other
  • Dependabot cooldown for language/package ecosystems (pip, npm, uv, maven, etc.) — tier: ⚪🟢🟡🔴, value: ?
  • CodeQL scanning for Actions (github/codeql-action) — tier: ⚪🟢🟡🔴
  • Zizmor workflow scanner (zizmorcore/zizmor-action) — tier: ⚪🟢🟡🔴
  • ASF allowlist-check (requires every uses: ref to be on the approved list) — tier: ⚪🟢🟡🔴

Checks proposed elsewhere / worth considering

Meta questions

  • Where does the tooling live? → this repo (infrastructure-actions) for voluntary / PR-opening; apache/infrastructure-gha-workflow-scanner for continuous enforcement? Or both? (@raboof, @dave2wave)
  • Scope: PMC repos (prefix matched), non-PMC repos (infrastructure-*, tooling-*, www-site), or both? (@dave2wave raised scoping)
  • .asf.yaml opt-in/opt-out — should PMCs be able to configure which checks apply via .asf.yaml? (@dave2wave's suggestion)
  • Decision process: who has binding input? Proposed: Infra + Security Response team ratify the tiers; PMCs consulted on dev@ before any "🟡 Encourage" PRs are opened.
  • Rollout: trial with a small number of friendly PMCs first (announce on their dev@), iterate on PR template, then broaden.

Related

cc @raboof @dave2wave @ppkarwasz

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions