The GitHub Actions job "link-check" on airflow-steward.git/egress-gateway-proxy has failed. Run started by GitHub user potiuk (triggered by potiuk).
Head commit for run: 81b8503aa178de98cc723a453262ef93c128217e / Jarek Potiuk <[email protected]> feat(egress-gateway): add egress-allowlist proxy; document in RFC-AI-0003 Adds tools/egress-gateway/ — a local host-allowlisting HTTP(S) forward proxy (a proxy.py plugin) that constrains where framework tools may send data. It is the network-layer egress-control chokepoint: tools point HTTPS_PROXY at it, and any CONNECT/request to a host not on the allowlist is rejected with 403 before a socket is opened. Why: RFC-AI-0003's two mechanisms (PII redactor + approved-LLM gate) act at the application layer — they bound what a skill deliberately sends to an LLM. Neither stops an unintended outbound flow (a buggy tool, or a prompt-injection payload coaxing the agent into curling private data out) — the gap docs/setup/secure-agent-setup.md flags for Bash(curl *) egress. The gateway closes it at the network layer as defence-in-depth, layered under the two mechanisms, never a replacement. Design: - Default-deny allowlist mirrors sandbox.network.allowedDomains (ASF infra, GitHub, Google APIs, PyPI), suffix-matched; loopback always allowed; adopters extend via EGRESS_ALLOW_EXTRA without editing code. - Host-level only (HTTPS via CONNECT, no TLS interception / payload inspection) — the right model for egress control without MITM. - host_allowed() is a pure function with 28 unit tests (IPv6, port/dot normalisation, suffix-spoof rejection, env-extra parsing). proxy.py integration is not exercised in CI (needs to bind a port). - Separate tool (not a privacy-llm sub-tool) because it carries a third-party runtime dep (proxy.py); the privacy-llm sub-tools are stdlib-only by contract. RFC-AI-0003 updated: abstract note + §4.4 (Mechanism 3, defence-in-depth) + §6.4 (implementation) + §10.6 (wiring follow-ups) + references. Tool registered in docs/labels-and-capabilities.md (capability:setup) and the uv workspace. The mechanism is optional and provisional: it ships as a documented, tested tool but is not yet wired into a setup skill or privacy-llm-check; §10.6 tracks that follow-up. Generated-by: Claude Code (Claude Opus 4.8) Report URL: https://github.com/apache/airflow-steward/actions/runs/26760962284 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
