Security 您如何知道公共Docker映像是安全的?

Security 您如何知道公共Docker映像是安全的?,security,docker,Security,Docker,我刚刚开始学习Docker,我看到在网站上有很多图片。设置新docker容器的正常方法似乎是复制这些图像中的一个,然后从那里开始。但我如何知道这些容器中没有恶意代码,或者它们不会以其他方式危害我的安全 例如,如果我使用ssh连接到容器中,我如何知道容器中的操作系统没有(例如)捕获击键,或者出于其他目的劫持系统资源?标记为“可信构建”的映像是Docker根据用户提供的源在其服务器上构建的。您可以轻松地检查生成映像的Dockerfile,以检查恶意代码 您还拥有Docker正式支持的“官方”图像(不

我刚刚开始学习Docker,我看到在网站上有很多图片。设置新docker容器的正常方法似乎是复制这些图像中的一个,然后从那里开始。但我如何知道这些容器中没有恶意代码,或者它们不会以其他方式危害我的安全

例如,如果我使用ssh连接到容器中,我如何知道容器中的操作系统没有(例如)捕获击键,或者出于其他目的劫持系统资源?

标记为“可信构建”的映像是Docker根据用户提供的源在其服务器上构建的。您可以轻松地检查生成映像的Dockerfile,以检查恶意代码

您还拥有Docker正式支持的“官方”图像(不以“somthing/”开头的图像)。如果你信任Docker,inc,你就可以信任那些形象

对于第三部分图像,不是来自受信任的构建,也不是来自Docker,然后您可以使用
Docker history
(拉取后)检查历史,查看它是如何构建的,但常识适用。这是不可信的


Docker正在研究原产地,所以我们很快就会看到CA证书检查和原产地证明。在此之前,请注意仅使用您检查过的可信版本或官方图像。

此外,关于您对键盘记录器的特别关注,您可以通过查看“docker inspect”轻松检查这一点。这是可以信任的,因为这将由docker执行。您需要检查“ENTRYPOINT”和“CMD”字段。如果其中一个是键盘记录器,那么你就知道了。否则,你就是好人。(当然,除非它启动了脚本,以防您需要检查。键盘记录器可能会被混淆)。如果启动bash,您肯定没有任何东西,因为bash将是唯一运行的进程