Skip to content

security: finish MCP incident remediation after #50 merged with failing CI #52

Description

@reprewindai-dev

Observed current state

PR #50 (8182ea67702aef224642e02735402b415bc4a262) merged as eb38524268cc3b4bcc767b4c8ce7794c91c777c9 even though exact-head cAPI CI run 32644995839 concluded failure.

The merged source directionally closes the reported unauthenticated MCP inventory/registration, production local-process execution, full-process-env inheritance, and direct-proxy authentication defects. This is source remediation only, not deployed/runtime verification.

Remaining security work

  1. Audit authenticated remote-http, remote-sse, and OpenAPI registration for SSRF/egress abuse. Authentication alone must not authorize arbitrary internal/link-local/loopback/private-network destinations. Apply canonical URL parsing, scheme restrictions, DNS/IP resolution checks, redirect revalidation, and an explicit egress/host policy appropriate to cAPI.
  2. Add negative tests for loopback, RFC1918/private, link-local/metadata, IPv6-local/private, hostname-to-private resolution, and redirect-to-private targets. Preserve intentional explicitly configured internal targets through a narrow allowlist/policy rather than a general bypass.
  3. Re-run the fix(security): close unauthenticated MCP host execution and proxy bypass #50 incident regressions on the current default-branch head: unauthenticated GET/POST /api/mcp/servers; production local-process; direct proxy missing/wrong key; no internal/admin credential forwarding; spawned local-process environment contains no cAPI secrets.
  4. Repair/execute cAPI CI so exact-head tests/lint/build/dependency/security checks actually pass. Do not classify fix(security): close unauthenticated MCP host execution and proxy bypass #50 as VERIFIED while its exact-head CI is red.
  5. Independently verify the deployed runtime after restart: deployed SHA, HTTP health/protocol identity, actual listener 3003, and Traefik route must agree. Only then proceed to Gnomledger→cAPI registration verification.

Truth boundary

observed_current_responsibilities: cAPI remains canonical Interlink/integration layer; CAPPO remains consequence-bearing governance/execution authority.

reported_runtime_state: cAPI 3003.

verified_runtime_state: NOT_VERIFIED.

Do not commit credentials, internal keys, provider secrets, or concrete private infrastructure addresses.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions