Skip to content

audit: check all gh-aw workflow network allowlists for missing domains #184

@microsasa

Description

@microsasa

Context

Issue #183 revealed that the review-responder could not run ruff or uv because astral.sh was not in its network.allowed list. The python preset only covers PyPI — it does NOT cover the Astral toolchain (uv, ruff), which downloads binaries from astral.sh.

This was a silent failure: the agent simply skipped lint checks and pushed unvalidated code. The firewall warning only appears in the PR body footer, which is easy to miss.

What to audit

For each gh-aw workflow (.github/workflows/*.md), check:

1. What does the agent need to download or access?

Read the workflow instructions and determine what external tools/packages the agent needs. For our Python project, any workflow that runs CI needs:

  • python preset (PyPI access for uv sync)
  • "astral.sh" (for uv and ruff binary downloads)

2. Current network configs

Workflow Current network.allowed Runs CI? Needs astral.sh?
ci-fixer.md defaults, python Yes — its whole job is fixing CI YES — MISSING
issue-implementer.md defaults, python Yes — step 5 runs full CI suite YES — MISSING
review-responder.md defaults, python, astral.sh Yes — step 5 runs full CI suite Fixed on branch
code-health.md defaults only Probably not — files issues Check instructions
quality-gate.md defaults only Probably not — reviews PRs Check instructions
test-analysis.md defaults only Probably not — analyzes test failures Check instructions

3. How to check

For each workflow:

  1. Read the .md file instructions — does it tell the agent to run uv, ruff, pytest, pyright, or any Python tooling?
  2. If yes, it needs both python AND "astral.sh" in network.allowed
  3. Check the PR body warnings on recent runs — look for ⚠️ Firewall blocked N domain(s) warnings
  4. After fixing, run gh aw compile and test

4. How to verify the fix works

After adding astral.sh to a workflow:

  1. Trigger a run that exercises the CI step
  2. Check the agent logs for successful uv run ruff check output
  3. Confirm no firewall warnings in the PR body

Priority

ci-fixer.md and issue-implementer.md are the highest priority — both explicitly run CI and will silently skip lint without this fix.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions