Merged
Conversation
Picks up the security hardening series from https://github.com/stacklok/go-microvm/releases/tag/v0.0.32 — symlink-safe rootfs hooks, whiteout path re-validation during OCI layer apply, DNS answer filtering by CNAME bailiwick, TTL clamp on dynamic egress rules, relay frame-length cap, non-IPv4 drop under deny-default, hosted-service HTTP timeouts, stale-runner identity guard, symmetric provider wiring, and per-file integrity manifest on the extract cache. No brood-box code changes required — all hardening is wired through interfaces brood-box already uses. Verified end-to-end: VM boots, hooks run, workspace round-trip flushes, DNS egress allows api.anthropic.com and denies unknown hosts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Picks up the security hardening series released in
go-microvm v0.0.32.
Included upstream changes:
config). Hooks refuse symlink components planted by a
malicious OCI layer, closing a host-write vector on the
InjectAuthorizedKeys / InjectFile / InjectEnvFile paths
brood-box uses in every VM.
before RemoveAll / ReadDir. Tar-entry count capped at 1 M to
bound inode exhaustion.
and caps dynamic egress-rule TTL at 5 min.
non-ARP frames under deny-default.
(Slowloris-proof).
belong to the expected runner binary.
egress policy) now auto-wires the hosted provider.
SHA-256 and re-verifies on Ensure.
No brood-box code changes required — all hardening is wired
through interfaces brood-box already uses.
Test plan
task build --forcerebuilds bbox against v0.0.32 runtimetask verifygreen (fmt + lint + full test suite)bbox claude-code --no-mcp --exec /bin/bashboots the VM, hooks run, workspace R/W round-trip
flushes, DNS egress allows
api.anthropic.comanddenies unknown hosts
🤖 Generated with Claude Code