conductor/SLICE4.md

2.3 KiB

Slice 4: Proxy Security

Status

Not started

Objective

Harden the REST proxy against unsafe destinations, header abuse, credential leakage, and resource exhaustion while retaining backend-agnostic REST support.

Dependencies

  • Slice 3 credential injection and redaction model
  • Existing proxy response contract and deployment configuration

In Scope

  • Destination policy, SSRF defenses, request controls, sanitized observability, and execution history

Out of Scope

  • Application RBAC, enterprise SIEM integration, and arbitrary user scripting

Tasks

  • Document the proxy threat model and default-deny boundaries.
  • Define permitted origins, hosts, schemes, and ports.
  • Block unsafe local, link-local, metadata-service, and unapproved destinations.
  • Revalidate DNS results and redirect targets.
  • Permit only HTTP and HTTPS.
  • Allowlist request headers and strip dangerous or hop-by-hop headers.
  • Add request, response, redirect, and timeout limits.
  • Standardize safe proxy error responses.
  • Persist sanitized execution metadata and bounded previews.
  • Add execution-history retrieval for troubleshooting.
  • Add adversarial and regression tests.
  • Update state, deployment, and security documentation.

Acceptance Criteria

  • Forbidden destinations cannot be reached directly or through DNS/redirect bypasses.
  • Credentials cannot be forwarded to unintended origins.
  • Unsafe headers and oversized traffic are rejected predictably.
  • Logs and history remain useful without containing secrets.
  • Approved external and internal APIs work through explicit policy.

Validation

  • Backend TypeScript check passes.
  • Proxy security, SSRF, redirect, timeout, and size-limit tests pass.
  • Docker Compose policy configuration is verified.

Risks and Open Questions

  • Internal enterprise APIs require an explicit exception to private-network blocking.
  • Redirects and DNS resolution need validation at each boundary.
  • Execution previews need strict redaction and size limits.

Progress Log

No work recorded yet.

Handoff

  • Last completed: Slice plan created.
  • Next action: Define destination-policy configuration and threat-model tests.
  • Known blockers: Decide how approved internal hosts are represented.