Skip to main content

Zero-Trust Container Sandbox & Ingress Hardening

Because VulnerGuard orchestrates 14 sibling scanner containers, it requires programmatic control to dispatch commands inside isolated worker sandboxes. However, exposing an unrestricted container runtime socket directly to application services is a critical privilege-escalation risk.

VulnerGuard eliminates this risk by enforcing a Scoped Container Runtime Proxy (vg-runtime-proxy), strict API allowlisting, and loopback-only ingress bindings.


1. How vg-runtime-proxy Protects the Host Runtime​

Instead of exposing the raw container daemon socket to vg-core-api or vg-mcp-orchestrator, only vg-runtime-proxy interfaces with the underlying runtime (in read-only mode) and exposes an allowlist-filtered control channel to authorized orchestrator services.

┌──────────────────────────┐ ┌───────────────────────────────────┐ ┌────────────────────────┐
│ vg-core-api │ │ vg-runtime-proxy │ │ Container Runtime │
│ vg-mcp-orchestrator ├───────►│ (Layer-7 API Allowlist Filter) ├───────►│ Control Plane │
│ │ Scoped │ • ALLOW: Worker Exec & Inspect │ RO │ │
│ │ Socket │ • BLOCK: Container Creation │ │ │
│ │ Mount │ • BLOCK: Volumes / Host Mounts │ │ │
│ │ │ • BLOCK: Swarm / Secrets / Auth │ │ │
└──────────────────────────┘ └───────────────────────────────────┘ └────────────────────────┘

Runtime Proxy Allowlist Policy​

Runtime API CapabilityPolicySecurity Rationale
Worker Inspection & Exec (CONTAINERS / EXEC)ALLOWEDPermits vg-core-api and vg-mcp-orchestrator to verify worker readiness and execute authorized scanner binaries inside pre-provisioned tool containers.
Image Layer Metadata (IMAGES / INFO / PING)ALLOWEDAllows vg-worker-trivy and health monitors to inspect image SBOM layers and runtime readiness.
Volume & Network Mutation (VOLUMES=0 / NETWORKS=0)DENIED (403)Prevents any service from mounting host filesystems or bridging into unauthorized network planes.
Cluster & Secret Control (SWARM=0 / SECRETS=0 / AUTH=0)DENIED (403)Blocks cluster reconfiguration, secret exfiltration, and registry credential access.

2. Resilient Directory-Scoped Socket Mounting​

To ensure high availability across service restarts without stale file-descriptor lockups:

  • The runtime proxy publishes its filtered control socket inside a dedicated, permission-scoped parent directory mount rather than a single-file bind mount.
  • If the runtime proxy is recycled during maintenance, the directory inode remains stable and all orchestrator workers immediately resume communication with zero downtime.

3. Loopback-Only Ingress & Edge TLS Termination​

To guarantee that no internal microservice, database, or scanner worker can ever be reached directly from the public internet:

  • Zero Public Container Port Bindings: None of the internal API, database, scanner, or SOC containers publish public interfaces.
  • Single Loopback Ingress: Only vg-edge-gateway binds to the host loopback interface behind the edge reverse proxy.
  • TLS 1.3 Edge Termination: Public HTTPS traffic for vulnerguard.com terminates at the hardened TLS 1.3 edge proxy with strict HSTS, X-Frame-Options: SAMEORIGIN, and X-Content-Type-Options: nosniff headers.