Skip to content

chore(deps): bump python from 3.12-slim-bookworm to 3.14-slim-bookworm in /image - #16

Closed
dependabot[bot] wants to merge 5 commits into
mainfrom
dependabot/docker/image/python-3.14-slim-bookworm
Closed

chore(deps): bump python from 3.12-slim-bookworm to 3.14-slim-bookworm in /image#16
dependabot[bot] wants to merge 5 commits into
mainfrom
dependabot/docker/image/python-3.14-slim-bookworm

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 13, 2026

Copy link
Copy Markdown

Bumps python from 3.12-slim-bookworm to 3.14-slim-bookworm.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Lutherwaves and others added 5 commits August 12, 2026 23:58
Sandboxes for running untrusted code, as a Go library over Docker and
gVisor. No control plane, no database, no scheduler — you import it,
you get a sandbox.

Create a container on the runsc runtime with no external network
interface, exec commands in it with a per-call timeout, read and write
files, start detached background processes, and hand out signed,
expiring links to a port inside it. A reaper cleans up sandboxes that
went idle or got too old.

MIT.
openblox pulls an absent image on create, but never shipped one, so the
default path did not work until you had authored a Dockerfile yourself.

image/ is that default: python3, bash, nc and a non-root user on Debian
slim. The three things openblox actually requires of an image — a shell,
a non-root USER, and nc-or-python3 for the preview relay — are now stated
in one place and asserted at build time, rather than being folklore that
surfaced as a broken preview. Debian rather than Alpine because musl has
no manylinux wheels, so on Alpine every numpy install compiles from
source inside the sandbox.

CI publishes it to ghcr: a tag pushes that version plus :latest, main
pushes :edge, both multi-arch. A pull request builds and asserts the
contract without pushing, so a broken Dockerfile is a red check rather
than a missing image discovered on main. The digest lands in the job
summary, because a tag can be repointed by whoever controls the registry
and the image is the sandbox's entire userland.

Verified against a real gVisor host: create, python3, bash, non-root,
/workspace round-trip, a detached process, and a preview fetched over the
relay — which now takes the nc fast path rather than the python3 fallback.
* docs: a documentation site at openblox.sh

Everything lived in README.md and ARCHITECTURE.md, which were carrying the
pitch, the quick start, the security model and the limitations at once
for audiences that want different things.

Five pages, built with mkdocs-material and deployed to GitHub Pages:
home, quick start, security model, the image contract, contributing.

The security model gets its own page rather than a README section,
because it is the page that decides whether someone adopts a sandboxing
library. It states the threat model, what is isolated and how, and — the
part usually left out — what is NOT claimed: gVisor is not a hypervisor,
side channels are not addressed, revocation is best-effort. It also names
the caller as the weakest link in a default deployment and links the two
issues tracking that.

The image contract was folklore that surfaced as a broken preview. It is
now a page: a shell, a non-root user, and nc-or-python3.

CI builds on pull requests without deploying, so a broken docs build is a
red check rather than a broken site. `mkdocs build --strict` turns a dead
internal link into a failure instead of shipping it.

Emits llms.txt: a large share of readers are agents, and this project's
subject matter is running the code they write.

Docs are markdown in the repository, so a behaviour change and its
documentation move in the same pull request.

* ci: run CI on every pull request, without path filters

main now requires Lint, Test, Integration Tests and the commit-message
check to pass before merge. A skipped check never reports a conclusion,
so with paths-ignore in place a docs-only pull request would sit forever
with four required checks pending and no action available to its author.

Dropping the filter costs a couple of CI minutes on documentation
changes. A category of pull request that silently cannot land costs more.

Side effect worth knowing: Release fires on green CI, so it now also runs
for docs-only commits. It is a no-op there — `docs:` does not bump a
version under conventional commits — but it will appear in the run list
where it previously did not.
…#15)

A project whose pitch is isolating untrusted code had no vulnerability
scanning of its own, and nothing telling us when a dependency moved.

govulncheck reported 18 reachable vulnerabilities. Sixteen were the Go
standard library, fixed by moving off 1.25.4 — go.mod now asks for
1.25.12. The remaining two are in the Docker client with no fixed
version published, and v28.5.2 is already the latest release, so there
is nothing to upgrade to.

That is exactly the case where govulncheck is useless as a gate: it exits
non-zero on any finding, so the check would sit permanently red and
people would learn to ignore it. The script narrows the gate to what is
actionable — a NEW reachable vulnerability — and keeps the two we cannot
fix in .github/vuln-allowlist.txt with the reason and what would remove
them. It also reports an allowlist entry that is no longer reachable, so
the file cannot quietly accumulate exceptions nobody revisits.

Verified in both directions: passes with the allowlist intact, and fails
with a real finding when an entry is removed.

Dependabot covers three surfaces, one of which is a security boundary:
the Go modules, the pinned action SHAs (right to pin, but a pin never
updates itself), and the sandbox base image — the entire userland
untrusted code runs in, and the one most easily forgotten because nothing
about it changes when the Go code does.

Also aligns the setup-go pin in the new job with the v7.0.0 the rest of
the file already uses.
Bumps python from 3.12-slim-bookworm to 3.14-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.14-slim-bookworm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file docker Pull requests that update docker code labels Aug 13, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 17, 2026

Copy link
Copy Markdown
Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/docker/image/python-3.14-slim-bookworm branch August 17, 2026 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file docker Pull requests that update docker code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant