Image
hello-app:latest
ghcr.io/northcutted/images/hello-app
A tiny HTTP service built on the go stack
Verified. Meets every requirement in the policy.
Identity
- Digest
sha256:4350805faaa3691ff14c1e9edd5ff4cfb274c840f906bae0d05cf649ac18a0e5- Tags
latest- Created
- 2026-10-09 00:00 UTC
- Built by
clearcutt-factory(clearcutt-factory recipe)- Source
- https://github.com/northcutted/clearcutt-factory at
38f488213c03f7a5673c2d05d0b69e46864c7e6dFrom provenance. Read from build provenance that verified. - clearcutt-factory
- App hello-app; built with eab2d08; pins 0 packages, 0 tools, 5 images; files clamped to 2026-10-09
- Stack
godefined beside the app, not in a registry; its definition's digest issha256:cfdf348cb280.
Base
- Built on
cgr.dev/chainguard/static:latest(static:latest)sha256:fe55470f22d3259488d9d3739168d8f04da67755f0b69382bc26eda4a7d3d327- How it's known
- Proven. The image starts with the base's exact layer digests. This compares content, so it holds whatever the image says about itself. by layer digests, comparing the linux/amd64 images. The image starts with the base's exact layer digests. This compares content, so it holds whatever the image says about itself.
- Currency
- Current. On the newest version of its base observed in this run.Newest observed:
cgr.dev/chainguard/static:latestsha256:fe55470f22d3Measured against the newest version observed in this run, not against upstream.
Evidence
| Evidence | Status | Signed by | Found as | When | Detail |
|---|---|---|---|---|---|
| Signature | Verified. Found, and checked against a trusted signer in the policy. | https://github.com/northcutted/clearcutt-factory/.github/workflows/images.yml@refs/heads/mainissuer https://token.actions.githubusercontent.com run in https://github.com/northcutted/clearcutt-factory | cosign signature | 2026-10-10 16:06 UTC | ghcr.io/northcutted/images/hello-app@sha256:0e74f75d845836e733a27f03d45cc2c49d289b9c5e78ce120f763e759fcaf6c0 |
| SBOM | Verified. Found, and checked against a trusted signer in the policy. | https://github.com/northcutted/clearcutt-factory/.github/workflows/images.yml@refs/heads/mainissuer https://token.actions.githubusercontent.com run in https://github.com/northcutted/clearcutt-factory | cosign attestation | 2026-10-10 16:06 UTC |
ghcr.io/northcutted/images/hello-app@sha256:99ff45cf12efe040f989f992b2c76f8b806a562778c4b2bf8e396c24c18684a9 |
| Vulnerability report | Verified. Found, and checked against a trusted signer in the policy. | https://github.com/northcutted/clearcutt-factory/.github/workflows/images.yml@refs/heads/mainissuer https://token.actions.githubusercontent.com run in https://github.com/northcutted/clearcutt-factory | cosign attestation | 2026-10-10 16:07 UTC |
ghcr.io/northcutted/images/hello-app@sha256:ff974072b4e2a18d75dd8966ff2e23b34aedb975cc529417dc93e1247a198205 |
| SLSA provenance | Verified. Found, and checked against a trusted signer in the policy. | https://github.com/northcutted/clearcutt-factory/.github/workflows/images.yml@refs/heads/mainissuer https://token.actions.githubusercontent.com run in https://github.com/northcutted/clearcutt-factory | cosign attestation | 2026-10-10 16:49 UTC | ghcr.io/northcutted/images/hello-app@sha256:0cd07dbc57a30aa4d9018e9228040dc98306205404f98a6a16049c28b04826a3 |
| Recipe | Verified. Found, and checked against a trusted signer in the policy. | https://github.com/northcutted/clearcutt-factory/.github/workflows/images.yml@refs/heads/mainissuer https://token.actions.githubusercontent.com run in https://github.com/northcutted/clearcutt-factory | cosign attestation | 2026-10-10 16:06 UTC | ghcr.io/northcutted/images/hello-app@sha256:69a6591a4f167abc4983db941d35c5493beb4bfa4d957e25e810a465a946d1aa |
| Rebase record | Not applicable. Doesn't apply to this image. | — | — | — | No rebase record: the image was built, not rebased. |
| Tests | Declared in recipe. The image's verified recipe declares a smoke test, which clearcutt-factory runs on every platform before it pushes, and it pushes nothing that fails. Nothing attests that the test ran, so it is a claim, not proof. | — | declared in the recipe | — | The verified recipe declares a smoke test (GET :8080/) that clearcutt-factory runs on every platform before it pushes; the result isn't separately attested. |
Check it yourself
Commands that check what this page says without trusting this site or the report: each signature and attestation the report says verified, against the signer the policy trusts, a rebuild, and the verdict. They name the image by its digest, ghcr.io/northcutted/images/hello-app@sha256:4350805faaa3691ff14c1e9edd5ff4cfb274c840f906bae0d05cf649ac18a0e5, never by a tag that could move. Every value comes from the report and is quoted for a POSIX shell (sh, bash, zsh).
cosign verify \
--certificate-identity-regexp='^https://github\.com/northcutted/clearcutt-factory/' \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-github-workflow-repository=northcutted/clearcutt-factory \
ghcr.io/northcutted/images/hello-app@sha256:4350805faaa3691ff14c1e9edd5ff4cfb274c840f906bae0d05cf649ac18a0e5cosign verify-attestation \
--type=https://cyclonedx.org/bom \
--certificate-identity-regexp='^https://github\.com/northcutted/clearcutt-factory/' \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-github-workflow-repository=northcutted/clearcutt-factory \
ghcr.io/northcutted/images/hello-app@sha256:32e711ebdfc57f7cb55f821822f31bd385d2089747a692988b654869181e8c51cosign verify-attestation \
--type=https://cyclonedx.org/bom \
--certificate-identity-regexp='^https://github\.com/northcutted/clearcutt-factory/' \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-github-workflow-repository=northcutted/clearcutt-factory \
ghcr.io/northcutted/images/hello-app@sha256:fd10bf90f25a7468320fec913a837ec8c457f9bc9059657a579fdcd543dc519bcosign verify-attestation \
--type=https://cosign.sigstore.dev/attestation/vuln/v1 \
--certificate-identity-regexp='^https://github\.com/northcutted/clearcutt-factory/' \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-github-workflow-repository=northcutted/clearcutt-factory \
ghcr.io/northcutted/images/hello-app@sha256:32e711ebdfc57f7cb55f821822f31bd385d2089747a692988b654869181e8c51cosign verify-attestation \
--type=https://cosign.sigstore.dev/attestation/vuln/v1 \
--certificate-identity-regexp='^https://github\.com/northcutted/clearcutt-factory/' \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-github-workflow-repository=northcutted/clearcutt-factory \
ghcr.io/northcutted/images/hello-app@sha256:fd10bf90f25a7468320fec913a837ec8c457f9bc9059657a579fdcd543dc519bcosign verify-attestation \
--type=https://slsa.dev/provenance/v1 \
--certificate-identity-regexp='^https://github\.com/northcutted/clearcutt-factory/' \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-github-workflow-repository=northcutted/clearcutt-factory \
ghcr.io/northcutted/images/hello-app@sha256:4350805faaa3691ff14c1e9edd5ff4cfb274c840f906bae0d05cf649ac18a0e5cosign verify-attestation \
--type=https://github.com/northcutted/clearcutt-factory/recipe/v1 \
--certificate-identity-regexp='^https://github\.com/northcutted/clearcutt-factory/' \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-github-workflow-repository=northcutted/clearcutt-factory \
ghcr.io/northcutted/images/hello-app@sha256:4350805faaa3691ff14c1e9edd5ff4cfb274c840f906bae0d05cf649ac18a0e5clearcutt-factory verify \
--image=ghcr.io/northcutted/images/hello-app@sha256:4350805faaa3691ff14c1e9edd5ff4cfb274c840f906bae0d05cf649ac18a0e5 \
--certificate-identity-regexp='^https://github\.com/northcutted/clearcutt-factory/' \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
--certificate-github-workflow-repository=northcutted/clearcutt-factorycd "$(mktemp -d)"
printf '%s\n' ghcr.io/northcutted/images/hello-app@sha256:4350805faaa3691ff14c1e9edd5ff4cfb274c840f906bae0d05cf649ac18a0e5 > refs.txt
printf '%s\n' '{"apiVersion":"clearcutt.dev/v1","kind":"VerificationPolicy","required":["signature","sbom","provenance"],"trustedSigners":[{"identityRegexp":"^https://github\\.com/northcutted/clearcutt-factory/","issuer":"https://token.actions.githubusercontent.com","sourceRepository":"https://github.com/northcutted/clearcutt-factory"},{"identityRegexp":"^https://github\\.com/chainguard-images/images/","issuer":"https://token.actions.githubusercontent.com"}],"failOn":"critical","onlyFixed":true,"maxDaysBehind":30}' > policy.json
clearcutt-verify estate verify \
--refs=refs.txt \
--policy=policy.json \
--platforms=linux/amd64,linux/arm64 \
--out=estateNo command for Tests: it isn't verified, so there is no trusted signer to check it against.
Needs cosign, clearcutt-factory, clearcutt-verify, as of clearcutt-verify dev, which wrote this report.
Vulnerabilities
From the publisher's signed report (grype 0.118.0), made 2026-10-10 16:06 UTC. The findings describe that day. The report itself is Verified. Found, and checked against a trusted signer in the policy..
| critical | high | medium | low | negligible | unknown | |
|---|---|---|---|---|---|---|
| Findings | 0 | 0 | 0 | 0 | 0 | 0 |
| With a fix | 0 | 0 | 0 | 0 | 0 | 0 |
No findings.
Tests and rebuilds
- Tests
- Declared in recipe. The image's verified recipe declares a smoke test, which clearcutt-factory runs on every platform before it pushes, and it pushes nothing that fails. Nothing attests that the test ran, so it is a claim, not proof. The verified recipe declares a smoke test (GET :8080/) that clearcutt-factory runs on every platform before it pushes; the result isn't separately attested.
- Rebuild
- Reproduced. Rebuilt, and the rebuild has the same digest. rebuilt from the signed recipe, 2026-10-10 16:59 UTCRebuild gave
sha256:4350805faaa3691ff14c1e9edd5ff4cfb274c840f906bae0d05cf649ac18a0e5, the same digest as the image.
Rebase history
Not applicable. Doesn't apply to this image. No rebase record: the image was built, not rebased.
This image over time
This image in each run that recorded per-image rows, newest first, and how it changed since the run before: rebuilt or rebased (a new digest), or its base moved (the same image, its base more or less current). Compare two runs for every image at once.
| Run | Digest | Verdict | Base | Critical | High |
|---|---|---|---|---|---|
| 2026-10-10 16:51 UTC | sha256:4350805faaa3 | Verified | Proven, currentsha256:fe55470f22d3 | 0 | 0 |
? means unknown: the run had no vulnerability data for this image. 2 earlier runs recorded no per-image rows and aren't shown.
Platforms
| Platform | Digest | Layers | Compressed size |
|---|---|---|---|
| linux/amd64 | sha256:32e711ebdfc57f7cb55f821822f31bd385d2089747a692988b654869181e8c51 | 2 | 3.0 MB |
| linux/arm64 | sha256:fd10bf90f25a7468320fec913a837ec8c457f9bc9059657a579fdcd543dc519b | 2 | 2.8 MB |
Packages
Read from its SBOM, which is Verified. Found, and checked against a trusted signer in the policy.; the union of the linux/amd64, linux/arm64 images' lists.
5 package versions
| Package | Version | Type |
|---|---|---|
| ca-certificates-bundle | 20260909-r2 | apk |
| github.com/northcutted/clearcutt-factory/examples/hello-app | UNKNOWN | golang |
| stdlib | go1.27.2 | golang |
| tzdata | 2026e-r0 | apk |
| wolfi-baselayout | 20230201-r30 | apk |