cca-engine fetch() bypasses HTTPS_PROXY on self-hosted runners with restricted egress #198103
Replies: 1 comment
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
🏷️ Discussion Type
Bug
💬 Feature/Topic Area
Copilot Cloud Agent
Body
Problem
Note
If you believe this to not be the correct place for this inquiry, feel free to let me know! I did not find any real related GH repositories where I could open an issue for this :)
We run Copilot coding agents on ARC-managed self-hosted runners with hardened egress (Squid sidecar + iptables default-DENY). The runner container has HTTPS_PROXY=http://127.0.0.1:3128 configured. However, the runner does NOT seem to respect HTTPS_PROXY or similar settings.
As a result, the agent makes direct TCP connections to GitHub IPs and fails closed with:
eBPF trace shows the direct connect:
--> This problem was first discovered starting May 27. 2026. Prior, it worked without any problems.
Reproduction
ARC runner with iptables OUTPUT policy DROP, only loopback + UID-13 (squid) on 80/443 permitted. cca-engine job fails on fetch().
Workaround we ended up with
Allowlist GitHub published
/20+/22CIDRs at the iptables level for TCP/443 from any UID:This breaks the Squid hostname-allowlist guarantee for traffic that lands on those CIDRs, which is roughly equivalent risk to the existing
.github.comSquid wildcard.Asks
related problem ([upstream Support HTTP_PROXY and NO_PROXY env var nodejs/undici#1650], [Node PR localhost not working #57165]).
cca-engine connects to, separate from the existing cloud-agent
allowlist?
Current docs explicitly state "firewall is not compatible
with self-hosted runners" — that pushes orgs with strict egress
policy into a hard choice between "disable firewall entirely" and
"reverse-engineer the agent's traffic."
Related issues:
Beta Was this translation helpful? Give feedback.
All reactions