Repository navigation
Releases
Releases · humanethq/sandbox-check
v0.2.0
Full Changelog: v0.1.0...v0.2.0
v0.1.0
First public release of Humanet sandbox-check — a zero-dependency Go CLI that verifies sandbox isolation from inside a container, pod, or microVM and exits 2 on any detected isolation gap.
Included Checks
- Cloud IMDS (
Proxy: nil):169.254.169.254(AWS v1, AWS IMDSv2PUTtoken, Azure/metadata/instance, GCP/computeMetadata/v1/), ECS169.254.170.2, AWS IPv6[fd00:ec2::254], Alibaba100.100.100.200(response bodies never printed or stored). - Proxy Bypass & SSRF: raw UDP:53 DNS tunneling, direct TCP:53/443, and
HTTP_PROXYSSRF checking against IMDS IPv4 and127.0.0.1:2375. - Host Gateway Services & Lateral: gateway +
host.docker.internalchecks (22,80,2375,4222,5432,6379,9000,10250,11434), RFC1918 / CGNAT, SMTP port25, optional--peer. - Runtime Surface & Resource Limits: Linux capabilities (
CapEff), seccomp mode,/proc/mounts(sockets, host binds,rwshared cgroup v2),/proc/kcore/sysrq-trigger/core_pattern, socket &/dev/{kvm,mem}checks (microVM kernel-aware), cgroup v2 (memory.max,pids.max,cpu.max) vs hypervisor VM limits. - Env Secrets: detects raw API keys/secrets without leaking values while recognizing placeholder tokens (
phm_*,phantom_*,vault:*,op://*).
Verified Benchmark Snapshot (Cloud Linux KVM Host)
- Docker default:
12fails (critical=2,high=9, exit2) — Cloud IMDS HTTP 200, UDP:53 open, TCP:443 open, host:22/:80open, 6 caps,memory.max=max, raw secret - Docker + Naive
HTTP_PROXY:13fails,1warn (critical=5,high=8, exit2) — DNS tunnel bypass + proxy SSRF HTTP 200 on IMDS +502loopback warn - Docker hardened (
--user 65532:65532 --cap-drop=ALL --security-opt=no-new-privileges --read-only --memory=256m --cpus=1 --pids-limit=128):10fails (critical=2,high=7, exit2) - Docker
--network=none(hardened):0fails (26/26active pass +1INFO baseline, exit0, zero network egress) - Frame Firecracker microVM (jailed microVM + host L3 firewall + allowlisted egress proxy + placeholder token):
37/37active checks pass +1INFO baseline (0fails,0warns, exit0) + IMDS/loopback SSRF explicit403+ allowlisted HTTPS checkHTTP 200
Note: Every run includes
1informational record (baseline_network_posture, statusINFO) documenting network posture so offline environments are not confused with filtered ones. Passing active checks covers tested workload-side controls only and does not substitute for an independent penetration test.
Full methodology, Docker baseline commands, raw Docker JSON outputs, and scope limits: benchmark/REPORT.md.