You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Redesign cli-proxy: connect to external DIFC proxy started by compiler (#1809)
* Initial plan
* feat: redesign cli-proxy to connect to external DIFC proxy
Replace internal mcpg container management with external DIFC proxy
connection. The gh-aw compiler now starts mcpg on the host; AWF only
launches the cli-proxy container and connects via TCP tunnel.
New CLI flags:
- --difc-proxy-host <host:port>: connect to external DIFC proxy
- --difc-proxy-ca-cert <path>: TLS CA cert from DIFC proxy
Removed CLI flags:
- --enable-cli-proxy
- --cli-proxy-writable
- --cli-proxy-policy
- --cli-proxy-mcpg-image
Key changes:
- Remove mcpg service from Docker Compose generation
- cli-proxy gets its own IP (172.30.0.50) with extra_hosts
- TCP tunnel forwards localhost to host DIFC proxy for TLS
- Write control delegated to DIFC guard policy
- Remove cli-proxy-tls named volume (CA cert bind-mounted)
- Update all tests (1374 pass)
Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/a38ec447-a23c-4104-be85-bd7328c48559
* docs: update gh-cli-proxy-design.md for external DIFC proxy
Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/a38ec447-a23c-4104-be85-bd7328c48559
* fix: address review feedback for cli-proxy redesign
- Add port validation and error logging to tcp-tunnel.js
- Make NODE_EXTRA_CA_CERTS conditional on cert existence
- Fix CLI help text for --difc-proxy-ca-cert
Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/a38ec447-a23c-4104-be85-bd7328c48559
* fix: apply PR review feedback for cli-proxy redesign
- Use URL-based parser for difcProxyHost (IPv6 support)
- Add host iptables rule for cli-proxy → DIFC proxy port
- Add 'alias' to ALWAYS_DENIED_SUBCOMMANDS (shell exec)
- Fail fast when CA cert not found in entrypoint.sh
- Add server.on('error') handler in tcp-tunnel.js
- Rename --enable-cli-proxy to --difc-proxy in predownload
Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/11e4f4ef-6a07-4318-9e6f-aba436bd9590
* refactor: extract parseDifcProxyHost to shared utility
Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/11e4f4ef-6a07-4318-9e6f-aba436bd9590
* fix: remove CA cert poll loop, update stale flag comments
The CA cert is now a bind mount (not generated at runtime by mcpg),
so it's immediately available at container start. Replace the 30s
polling loop with a single existence check for faster startup.
Also update stale comments referencing --enable-cli-proxy to
--difc-proxy-host in setup-iptables.sh and gh-cli-proxy-wrapper.sh.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding 'CodeQL / Log injection'
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Landon Cox <landon.cox@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
0 commit comments