Skip to content

Core image: measure the candidate bases #7

Description

@qcentic-adm

Part of #6

Question

What do the candidate base images for the Core container actually scan at, and how does each get Node 24 + git without curl … nodesource | bash?

The Core cannot be distroless — it spawns PTY sessions, so it needs a shell, git, a Node runtime for the agent CLIs, and enough of a userland to be a machine you do work on. Today it is ubuntu:24.04 + apt-get install build-essential python3 unzip zip jq ripgrep vim-tiny + a piped NodeSource install, which is where the "1k+ vulnerabilities on steps 6 and 7" and the "13 on the base" come from.

Produce, for each candidate, a measured baseline rather than an opinion:

  • debian:13-slim / debian:12-slim
  • ubuntu:24.04 and ubuntu:24.04 minimal/chiseled
  • cgr.dev/chainguard/wolfi-base (and what the free :latest-only tier means for pinning)
  • Anything else that credibly clears the bar

For each, report: CVE count by severity from the same scanner the user is using; whether a shell and a package manager are present; how Node 24 arrives (distro package / official nodejs.org tarball / apk); how git arrives; approximate final image size with git + Node 24 installed; and licensing or registry-access constraints.

Also settle the sub-question that keeps the count honest: which of the current apt packages does a Core actually need at runtime? build-essential, python3, vim-tiny, zip and unzip are in there for the dev fixture's convenience, not because the daemon requires them — separate what the daemon needs, what the agent CLIs need, and what nobody needs.

Do not pick the base — that is the next ticket. Deliver the evidence it will be picked on.

Metadata

Metadata

Assignees

No one assigned

    Labels

    wayfinder:researchWayfinder ticket: AFK, resolved by research

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions