Aembit cryptographically signs all container images in Aembit’s Docker Hub
repositories.
To verify container image signatures, Aembit suggests using
cosign, a CLI utility for signing software artifacts and
verifying signatures using Sigstore.
Aembit signs all container images in Docker Hub starting from the following versions:
aembit_agent_controllerv1.23.2263+aembit_agent_proxyv1.23.3002+aembit_agent_injectorv1.23.295+aembit_aws_lambda_extensionv1.23.112+aembit_sidecar_initv1.18.92+
Verify a container image tag
Section titled “Verify a container image tag”The following example shows how to verify the container image signature for Agent Controller. Though, you can swap the image name to any of the other available container images available in Aembit’s Docker Hub.
To verify the aembit_agent_controller container image:
- Download the Aembit Image Signing verification public key.
-
Install
cosignusing Cosign's official installation guide. -
Run the following command to verify the signature for an image:
The following command always uses the latest tag.Terminal window cosign verify --key <path-to-public-key> aembit/aembit_agent_controller:latestIf successful, Cosign confirms the image signature and display the following verification details:
Terminal window [{"critical": {"identity": {"docker-reference": "index.docker.io/aembit/aembit_agent_controller"},"image": {"docker-manifest-digest": "sha256:528de2fadc98d0a ..."},"type": "cosign container image signature"},"optional": {"Bundle": {"SignedEntryTimestamp": "MEUCIQDUKU204hbQx ... vPA9+yrvC90uxFJ4=","Payload": {"body": "eyJlvNmgvZTA5M1MzUjNpckxrTnhpYzNlUCtvPSIsInB1YmxpY0tleSI6eyJ ..."}}}}]
Verify a specific container image tag
Section titled “Verify a specific container image tag”Use the commands from the following sections to verify specific Docker Hub tags for Aembit container images. You can verify all images with the same public key.
Public key: Aembit Image Signing verification public key
The command to use cosign should look similar to the following example, where <tag> is the specific version that you
want to verify the signature.
cosign verify --key <path-to-public-key> aembit/<image_name>:<tag>Agent Controller
Section titled “Agent Controller”Image name: aembit_agent_controller
Docker Hub repo: aembit/aembit_agent_controller
Latest version: 1.27.2906
Verification command:
cosign verify --key <path-to-public-key> aembit/aembit_agent_controller:1.27.2906Agent Proxy
Section titled “Agent Proxy”Image name: aembit_agent_proxy
Docker Hub repo: aembit/aembit_agent_proxy
Latest version: 1.26.3639
Verification command:
cosign verify --key <path-to-public-key> aembit/aembit_agent_proxy:1.26.3639Agent Injector
Section titled “Agent Injector”Image name: aembit_agent_injector
Docker Hub repo: aembit/aembit_agent_injector
Latest version: 1.26.353
Verification command:
cosign verify --key <path-to-public-key> aembit/aembit_agent_injector:1.26.353AWS Lambda Extension
Section titled “AWS Lambda Extension”Image name: aembit_aws_lambda_extension
Docker Hub repo: aembit/aembit_aws_lambda_extension
Latest version: 1.26.143
Verification command:
cosign verify --key <path-to-public-key> aembit/aembit_aws_lambda_extension:1.26.143Sidecar Init
Section titled “Sidecar Init”Image name: aembit_sidecar_init
Docker Hub repo: aembit/aembit_sidecar_init
Latest version: 1.25.130
Verification command:
cosign verify --key <path-to-public-key> aembit/aembit_sidecar_init:1.25.130Verify a container image digest
Section titled “Verify a container image digest”To verify a specific container image digest, you can use the cosign command with the sha256 digest of the image.
The command to use cosign should look similar to the following example, where <hash variable> is the specific digest
of the image you want to verify.
cosign verify --key <path-to-public-key> aembit/aembit_agent_controller@sha256:<hash variable>Example successfully verified output:
cosign verify --key ./aembit-cosign-public-key.pub aembit/aembit_agent_controller@sha256:528de2fadc98d0affea24bc03920ed531825779f3a8246f72bf2d568324f4daf
Verification for index.docker.io/aembit/aembit_agent_controller@sha256:528de2fadc98d0affea24bc03920ed531825779f3a8246f72bf2d568324f4daf --The following checks were performed on each of these signatures: - The cosign claims were validated - Existence of the claims in the transparency log was verified offline - The signatures were verified against the specified public key
[{"critical":{"identity":{"docker-reference":"index.docker.io/aembit/aembit_agent_controller"},"image":{"docker-manifest-digest":"sha256:528de2fadc98d0affea24bc03920ed531825779f3a8246f72bf2d568324f4daf"},"type":"cosign container image signature"},"optional":{"Bundle":{"SignedEntryTimestamp":"MEUCIQDUKU204hbQxCwxvwz9iTiccDdf3dc8NE7lO12KQ2GlwQIgCNjs8XiwipX7x0uv0h9Mvz5r/GZrPA9+yrvC90uxFJ4=","Payload":{"body":"eyJhcGlWZXJzaW9uI...=","integratedTime":1750106188,"logIndex":240203120,"logID":"c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d"}}}}]