Skip to content

[awf] cli-proxy: artifact ZIP downloads fail (no redirect egress to Azure blob storage) #7615

Description

@lpcox

Problem: gh api .../actions/artifacts/{id}/zip and gh run download fail inside the agent sandbox under network-isolation mode with error connecting to productionresultssaN.blob.core.windows.net.

Context: Reported in github/gh-aw#54371. Reproduced on gh-aw-firewall 0.27.44 and 0.28.1, gh-aw-mcpg v0.4.8/v0.4.9.

Root Cause: Two independent, non-interacting design decisions:

  1. gh-aw-mcpg PR #10350 stopped auto-following the GitHub 302 redirect for artifact ZIP requests, so gh (running inside cli-proxy) must follow the Location header itself.
  2. cli-proxy (cli-proxy-service.ts) is intentionally isolated to awf-net only (no awf-ext egress) per PR Fix cli-proxy ENETUNREACH in network-isolation mode by dual-homing it on the external bridge #7066, which reverted general egress and added a regression test enforcing isolation.

Since mcpg now expects the client to follow the redirect, but cli-proxy has no route to productionresultssa*.blob.core.windows.net, every ZIP download fails in ~350ms.

Proposed Solution: Either (a) allow cli-proxy to route the specific redirect target through Squid (e.g., proxy the blob storage domain via the existing DIFC/mcpg tunnel or a scoped egress rule for *.blob.core.windows.net), or (b) have cli-proxy's gh wrapper detect the 302 and re-issue the download through Squid's domain-allowlisted path instead of a direct connection. Coordinate with gh-aw-mcpg since both sides changed independently.

Generated by Firewall Issue Dispatcher · auto · 25.3 AIC · ⊞ 9.4K ·

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions