Skip to content

Support non-standard "application/vnd.docker.image.rootfs.diff.tar.zstd" layer type used by BuildKit #486

@zhill

Description

@zhill

What happened:
Stereoscope, via Syft, rejects the content of a public docker image built with latest BuildKit via the official Docker GHA.

syft registry:docker.io/rapidsai/base:25.12a-cuda12-py3.10 -v   
[0000]  INFO syft version: 1.38.0
[0001]  INFO completed downloading image from=stereoscope image=docker.io/rapidsai/base:25.12a-cuda12-py3.10 time=1.322479459s
[0001] ERROR could not determine source: an error occurred attempting to resolve 'docker.io/rapidsai/base:25.12a-cuda12-py3.10': oci-registry: unknown layer media type: application/vnd.docker.image.rootfs.diff.tar.zstd

What you expected to happen:

It should pull and analyze the image correctly.

How to reproduce it (as minimally and precisely as possible):
docker.io/rapidsai/base:25.12a-cuda12-py3.10

crane manifest docker.io/rapidsai/base:25.12a-cuda12-py3.10       
{
   "schemaVersion": 2,
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 4427,
         "digest": "sha256:1631bfda7914218c71e2463a41591a64f0616ff0f09f530ddf80caf794bdc1b1",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 4427,
         "digest": "sha256:dbba980d26853ab1fc3db1fec4e9703941fadfb7c8cbcc6682c69198c094096d",
         "platform": {
            "architecture": "arm64",
            "os": "linux"
         }
      }
   ]
}%

Anything else we need to know?:
Even though it isn't expected as a mediaType due to the '.zstd' instead of the expected '+zstd', Crane, Skopeo and Docker Daemon will pull the image just fine, so it should be supported in Stereoscope.

Environment:

  • OS (e.g: cat /etc/os-release or similar):
    MacOS and Linux, on both amd64 and arm64. This does not appear to be relevant to this issue however.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions