Security fix for pull-request target builds (PR#117): a target build now shares nothing that the repository's other builds can write.
werkdock: a fresh, empty home per build as /root; never .git/werkator/buildenv/home, never werkdock.gradleHome.
Docker: no shared Gradle volume, no Docker socket.
A target definition without a sandbox, or with docker.socket: true, is refused at start.
Found in the AI-review trial on mih09: ordinary CI builds run PR code with the shared home read-write and could plant e.g. a sitecustomize.py that the next target build, which holds the host's secrets, would execute.
Details: the PR-doc under docs/prs/.
Security fix for pull-request target builds (PR#117): a target build now shares nothing that the repository's other builds can write.
- werkdock: a fresh, empty home per build as `/root`; never `.git/werkator/buildenv/home`, never `werkdock.gradleHome`.
- Docker: no shared Gradle volume, no Docker socket.
- A target definition without a sandbox, or with `docker.socket: true`, is refused at start.
Found in the AI-review trial on mih09: ordinary CI builds run PR code with the shared home read-write and could plant e.g. a `sitecustomize.py` that the next target build, which holds the host's secrets, would execute.
Details: the PR-doc under `docs/prs/`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
On the host it would run in the host user's HOME, and the socket reaches a daemon every socket build commands.
Fragments and committed files checked on their own are skipped; the sandbox may come from the layers they join.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
werkdock binds a fresh home beside the build's fresh workspace as /root instead of .git/werkator/buildenv/home,
and mounts no werkdock.gradleHome; Docker mounts neither the per-repository Gradle volume nor the socket;
the native runner refuses such a build. The watcher removes the home with the workspace.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Security fix for pull-request target builds (PR#117): a target build now shares nothing that the repository's other builds can write.
/root; never.git/werkator/buildenv/home, neverwerkdock.gradleHome.docker.socket: true, is refused at start.Found in the AI-review trial on mih09: ordinary CI builds run PR code with the shared home read-write and could plant e.g. a
sitecustomize.pythat the next target build, which holds the host's secrets, would execute.Details: the PR-doc under
docs/prs/.🤖 Generated with Claude Code