Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library images are unsigned. DCT dead? #6838

Closed
abeluck opened this issue Oct 22, 2019 · 14 comments
Closed

Library images are unsigned. DCT dead? #6838

abeluck opened this issue Oct 22, 2019 · 14 comments

Comments

@abeluck
Copy link

abeluck commented Oct 22, 2019

This is an intentional duplicate of #5874 which has been closed and ignored for months.

Where are the signatures for the official library images?

If docker has for some reason decided to stop signing the official images, please make a public announcement. Otherwise you're leaving us hanging like a teenaged love interest, but with a hella lot more on the line.

@tianon
Copy link
Member

tianon commented Oct 22, 2019

Please keep the hyperbole to a minimum here. There has not been a compromise here, and you're frankly barking up the wrong tree in this repository, which is why the previous issue is closed.

As stated in that previous thread, the maintainers of this repository have no control over nor involvement in the signing process of the images we publish (however much we'd love to change that if someone at Docker Inc reading this would like to collaborate on making changes there!). Yelling about it here does not get the attention of the folks who control that signing process.

What I do know is that the service which Docker runs for signing our images has had some stability issues, but as stated above, nobody on this repository is directly involved there so we really cannot give you any more information than that, however much I wish I could.

@abeluck
Copy link
Author

abeluck commented Oct 22, 2019

Thanks for the reply @tianon. I added the hyperbole merely to get attention. I'll remove the mention of compromise from the title.

I hadn't heard anything back from the docker team in the intervening months, and since that issue (and this repo) were the only public nexus of communication about this issue, I figured here was better than shouting into the void. The closed issue at some point did in fact elicit a reply from the docker team.

Really, I'm merely looking for some communication, even if that is "It's still broken, but we plan to fix it" or "We may or may not fix it, but either way you probably shouldn't rely on it".

@abeluck abeluck changed the title Library images are unsigned. DCT dead? Compromised? Library images are unsigned. DCT dead? Oct 22, 2019
@DevRCRun
Copy link

DevRCRun commented Feb 28, 2020

From the POV of a new docker user this does seem very odd indeed. If I pull node:alpine with content trust enabled I get a 13 month old image with vulnerabilities. If I pull with it disabled I get the eight day old image I was expecting.

As prospective docker customers I guess we're best talking to them directly about the fact this hasn't exactly inspired confidence!

@raratiru
Copy link

raratiru commented May 7, 2021

I am quite amazed landing here...
Through the contact form I sent the following question:

When enabling Docker Content Trust, I receive outdated versions of images, for example Python-3.9.0 instead of Python-3.9.5.

This seems to be an old issue:
#6838

Could you please update the docs in a clear way to inform that although DCT provides verified images, quite often they are outdated... a.k.a. insecure?

@KEINOS
Copy link

KEINOS commented Aug 4, 2021

At least I want my base image pulled as DCT but what I get is the way too old version.
I'm wondering what the "official image" means if the "official" can't sign ...

GitHub Packages Container registry? Maybe?

@verdverm
Copy link

verdverm commented Nov 22, 2021

maybe we can use https://github.com/sigstore/cosign

This would enable multiple signatures to be created and community trust built up for various signatories.

It would add extra steps. Could the pull verification be done with a docker cli plugin?

@verdverm
Copy link

verdverm commented Nov 22, 2021

cc @dlorenc

@dlorenc
Copy link

dlorenc commented Nov 22, 2021

I'd be happy to help here if there's interest!

@tianon - is there any possibility of signing this stuff with cosign? I'm not sure what it would take.

@mattmoor
Copy link

mattmoor commented Nov 22, 2021

+1 happy to help start signing some of this stuff with cosign

@verdverm
Copy link

verdverm commented Nov 22, 2021

would be great to get cosign on the build/push side as well, through a plugin

@dlorenc would that make cosign work transparently for the majority of registries and images?

simple install with docker plugin install sigstore/cosign-docker-plugin ?

@dlorenc
Copy link

dlorenc commented Nov 22, 2021

I don't actually really know how the docker plugin model works. Do you have any links?

@sirlatrom
Copy link

sirlatrom commented Dec 28, 2021

would be great to get cosign on the build/push side as well, through a plugin

@dlorenc would that make cosign work transparently for the majority of registries and images?

simple install with docker plugin install sigstore/cosign-docker-plugin ?

The docker plugin sub command mainly manages daemon side plugins, and only for a small set of interfaces, e.g. volume plugins or authorization plugins. You might want to look into CLI plugins. Consider https://github.com/lukaszlach/clip as an example plugin manager.

@tianon
Copy link
Member

tianon commented Jun 8, 2022

As far as I'm aware, this issue should be fixed (for a while now, but just getting back around to it 🙇). 👍

$ docker pull --disable-content-trust=false alpine:3.16
Pull (1 of 1): alpine:3.16@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
docker.io/library/alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c: Pulling from library/alpine
2408cc74d12b: Pull complete 
Digest: sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
Status: Downloaded newer image for alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
Tagging alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c as alpine:3.16
docker.io/library/alpine:3.16

$ docker pull --disable-content-trust=true alpine:3.16
3.16: Pulling from library/alpine
Digest: sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
Status: Image is up to date for alpine:3.16
docker.io/library/alpine:3.16

@tianon tianon closed this as completed Jun 8, 2022
@KEINOS
Copy link

KEINOS commented Jun 12, 2022

I have confirmed that it has been fixed and even confirmed the alpine:latest image. Thank you!

$ docker system prune -af
***snip***

$ docker pull --disable-content-trust=false alpine:latest
Pull (1 of 1): alpine:latest@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
docker.io/library/alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c: Pulling from library/alpine
2408cc74d12b: Pull complete 
Digest: sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
Status: Downloaded newer image for alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
Tagging alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c as alpine:latest
docker.io/library/alpine:latest

$ echo $?
0
$ docker system prune -af
***snip***

$ docker pull --disable-content-trust=true alpine:latest
latest: Pulling from library/alpine
2408cc74d12b: Pull complete 
Digest: sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest

$ echo $?
0
Env Info
$ date -R
Sun, 12 Jun 2022 11:14:59 +0900

$ docker --version
Docker version 20.10.13, build a224086

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.15.7
BuildVersion:	19H1922

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants