gVisor sandboxes untrusted code in CI, blocking escapes that Python-level defenses miss
A CI pipeline that compiles contributor-supplied Kapitan generators must run untrusted Python from pull requests. The article shows that three common defenses, a Python audit hook, DNS and IP blocking, and resource limits with a private HOME, can each be bypassed or fail to isolate the host. Running the workload under gVisor (runsc), a userspace kernel, instead confines it: network access is cut off, the filesystem is limited to a read-only container rootfs, and host paths are unreachable. The author notes that gVisor is a kernel boundary rather than a complete policy, so CPU and time limits, mounted data, CI secrets, and the pull_request trigger remain the user's responsibility. Measured overhead was about 0.1 seconds per trivial run.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in