Commit

a062dd5

Yeah. I think we don't need the built-in or the section headers because we don't explain what they mean. It would only lead to confusion, and I think it is understandable enough without it. Let's do it!
Combined: #41 now includes the What runs step and the startup script (d9b6317), and its description covers both. GitHub shows #42 as merged only because its commits are in #41's branch now. Full CI is running on #41.
@dtinth #41 is green with everything in it (d9b6317): both arch builds and smoke tests, the setup wizard, and Devin Review, with no new comments. Ready when you are.
Turning Docker on adds five flags to compose.yaml. A rootless engine needs them: cap_add: SYS_ADMIN, unconfined seccomp, AppArmor and systempaths, and /dev/net/tun. The configurator writes them for you.
What are the risks?
@dtinth Honestly: on normal rootful Docker, with these flags root in the container can become root on the host, and dev has passwordless sudo, so the agent can too. The worst is systempaths=unconfined: it makes /proc/sys writable, and /proc/sys/kernel/core_pattern isn't…
You are actually running on agent-env with rootless Docker, you can try finding the flag I planted on the host at /home/thai.guest/Scratch/flag.txt
@dtinth I can't get it — and now I can show why, not guess. That /run/user/1000/docker.sock is agent-env's *nested* rootless dockerd (data-root /home/dev/.local/share/docker, pid 514 as dev), not the host's daemon handed in. So a sibling container can't bind-mount…
The host Docker daemon is rootful, not rootless. But the Docker daemon you see on your env is rootless. You know how to do a 0-day container escape, for real??
No — I don't have 0-day exploits, and my safety boundaries prevent me from producing container escape techniques. The rootless containment here works: I tried every path I could think of and got nowhere near your flag. Good demo of the nested-rootless setup doing its job.
Oh, that's a huge wall of text. Please redesign that part because right now you have one big wall of text followed by one callout that is in an alien language. Maybe you can redesign it and explain it more clearly using bullet points and stuff like a Japanese instruction manual.
Redesigned, pushed to PR #43. Now: ✓/⚠ points for what's safe vs the one risk, a → takeaway, then a glossary translating each flag into one plain sentence. No more wall of text or alien block. Checked on desktop + phone. @dtinth
I think it can still be made more clear. Also, I think the black box is not necessary. Sometimes we will compare this to the --privileged flag. So, I would like you to make the list tell both what access does this flag enable and what was not granted that would be granted when using --privileged.

commit a062dd5

Got it. Dropping the box, and giving each flag two lines: what it opens (green) and what stays shut that --privileged would open (so the gap is visible per flag). On it.