Commit

79390fe

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…
Then what it means for you. I think the text is still hard to understand. It would be great if you can rephrase it as ASDSTE100. And for the next section, I think it should just list the flags. Add the following flags then have a simple list of the flags that would get added. No…
Done, PR #43 updated. Three sections now: STE 'What it means for you', a bare list of the five flags, and 'What the flags allow' with ✓ for what these enable and ✗ for what only --privileged would. Screenshot attached. @dtinth
Thanks! Glad the Docker note landed. Cleaning up the worktree on my end. Shout if you want the same treatment on any other component's explainer.
Preview's live on port 5210 (bound to 0.0.0.0, at the address you gave). Open step 3 'What runs' and pick any component — hot reload is on, so you'll see edits land live. Which explainer first? SMB share's 'needs' note is the densest; or name another. @dtinth

commit 79390fe