Sandbox Security & Defense Architecture
Target sandbox security architecture and currently available runtime controls.
Environment: DEMO / SPECIFICATION MODE
Environment: DEMO / SPECIFICATION MODE (Milestone 1) • Runtime: Simulated Telemetry
Control Specification Status: Target gVisor microVM runtime defined • Real Container Isolation scheduled for Milestone 2
2 VERIFIED7 SPECIFIED1 SIMULATED1 PLANNED
Security Isolation Controls & Verification Evidence
| Control | Category | Technical Mechanism | Status | Verification Assertion |
|---|---|---|---|---|
| Unprivileged User Namespaces | container | Host user namespace remapping with uid 10001 (student runner) | SPECIFIED | Architecture Specification: Unprivileged container namespaces (uid 10001) specified for production Docker/gVisor runner |
| Read-Only Root Filesystem | container | Docker `--read-only` flag with memory-backed tmpfs for `/tmp` only | SPECIFIED | Architecture Specification: Container rootfs mounted read-only with tmpfs scratch in Docker provider |
| gVisor Microkernel Sandboxing | container | Intercepts syscalls via runsc interceptor to prevent kernel exploits | SPECIFIED | Architecture Specification: runsc syscall virtualization designed for isolated worker nodes |
| cgroups v2 Hard Memory Ceiling | resources | 1024MB limit, `--memory-swap=1024m` (zero swap enabled) | SPECIFIED | Architecture Specification: 1024MB container memory cap specified via Docker cgroups v2 |
| Process Fork-Bomb Protection | resources | `--pids-limit=64` stops malicious subprocess spawning loops | SPECIFIED | Architecture Specification: --pids-limit 64 specified for container daemon |
| Default Deny Egress Network Quarantine | network | Container runs with `--network none` unless explicit whitelisted mock APIs requested | SPECIFIED | Architecture Specification: --network none bridge isolation for untrusted student code |
| Cloud Metadata Server Blackhole | network | iptables drop rule targeting `169.254.169.254/32` (AWS/GCP IMDS endpoint) | SPECIFIED | Architecture Specification: iptables IMDS blackholing configured for production VPC |
| Ephemeral Token Redaction & Sanitization | secrets | Regex AST scanner scrubs AWS, OpenAI, Anthropic, and Gemini keys from stderr/stdout | VERIFIED | PASS: In-memory token scrubber strips API keys from execution traces and stdout |
| Synthetic Indirect Prompt Injection Fixtures | adversarial | Adversarial SEC 10-K test fixtures containing embedded instruction overrides (PI-001 to PI-030) | SIMULATED | Evaluator runner applies PI-017 test fixture during benchmark analysis |
| Differential Multi-Turn Jailbreak Fuzzing | adversarial | Automated PyRIT/Garak prompt mutation against student agent tool routers | PLANNED | Targeted for Milestone 2 advanced fuzzing release |
| Subprocess Execution Timeout Enforcement | resources | Strict 10.0-second async execution deadline preventing infinite tool loops | VERIFIED | PASS: asyncio.wait_for terminates execution on timeout SLA breach |
Sandbox Security Audit Events (Simulated Telemetry Log)
Simulated containment telemetry modeled on isolated student agent container runs.
| Timestamp | Container ID | Student | Threat / Anomaly | Mitigation Taken | Severity |
|---|---|---|---|---|---|
| 2026-09-22 10:14:28 UTC | cnt-3f8c92e | Aisha Khan | PROMPT_INJECT: Indirect prompt injection instruction detected in SEC 10-K RAG ingestion (PI-017) | Execution recorded; Flagged for lecturer rubric moderation; Token isolated | WARNING |
| 2026-09-22 09:42:15 UTC | cnt-7a2b91c | Liam Chen | BUILD_FAIL: Container failed launch due to conflicting wheel dependencies (chromadb vs pydantic) | Container shutdown; Student notified via build diagnostic report | INFO |
| 2026-09-21 16:30:04 UTC | cnt-4e99d10 | Marcus Vance | RESOURCE_WARN: Recursive agent loop generated 14 repetitive web search requests | Loop throttled by evaluator SLA (60s limit); Flagged in cost telemetry | WARNING |
| 2026-09-21 14:12:33 UTC | cnt-88f11a0 | David O'Connor | DROP_EGRESS: Unauthorized outbound socket connection to 169.254.169.254:80 (Cloud IMDS) | Packet dropped by iptables bridge; Security audit logged | CRITICAL |
| 2026-09-20 18:05:11 UTC | cnt-11a92e1 | Elena Rostova | SIGKILL: Process exceeded 1024MB memory ceiling during embedding indexation | Container terminated cleanly by cgroups v2; Host memory unaffected | CRITICAL |