Aqua's open source vulnerability scanner as a mixin — the pinned, SHA256-verified release binar...
41
Aqua's open source vulnerability scanner as a mixin — the pinned, SHA256-verified release binary in an overlay, with the egress its vulnerability-database pull needs. Layer it onto a shell base and run `trivy`.
[email protected]| Type | Required | Description | |
|---|---|---|---|
com.docker.sandbox/network-policy@1 | Required | — | |
com.docker.sandbox/agent-context@1 | Required | — | |
sbx run <agent> --kit docker/sbx-kit-trivy-mixin:latestRun the following command to install sbx on your machine.
brew install docker/tap/sbxwinget install Docker.sbxNote
Experimental: Sandbox Kit v3This kit uses the experimental Sandbox Kit specification, specifically v3. The format and runtime behavior may change before v3 is stable.
Trivy as a mixin — the same
scanner as the trivy workload kit, packaged as an overlay you
layer onto a shell base instead of running as the sandbox's own image.
sbx run --kit ./trivy-mixin/ <shell-workload>
Or from a git URL targeting this repo:
sbx run --kit "git+https://github.com/docker/sbx-kits-contrib.git#dir=trivy-mixin" <shell-workload>
The base workload keeps its own launch command; trivy is simply on PATH:
trivy fs .
trivy release binary at
/usr/local/bin/trivy. One static Go binary with nothing to relocate,
which is why this overlay takes the plain FROM <base> AS build → /out →
FROM scratch shape.mirror.gcr.io,
ghcr.io, pkg-containers.githubusercontent.com.The workload kit installs trivy from a lifecycle install hook at sandbox
create, and opens github.com plus the two release-asset hosts for exactly
as long as that hook runs. An overlay ships the verified binary in its layers,
so the download happens at build time, in the builder — there is nothing left
to install and no install phase to open. The version and both digests moved
into trivy-mixin.dockerfile unchanged; keep them in step with
../trivy/trivy.yaml.
filename: is workload-only; this kit
contributes a body through contentFile.sbx@1. A mixin's image config never becomes the composed image's, so
there is no identity for the host to honor here.