问题标签 [clair]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1007 浏览

docker - Clair 启动错误 grpc: addrConn.resetTransport failed to create client transport: 连接错误

我正在尝试quay.io/coreos/clair-git:latest使用 docker-compose 运行 clair docker 映像。启动容器时,它开始抛出此消息。没有得到任何名称空间查询curl -v http://localhost:6060/v1/namespaces 得到 404 的响应。

这是我的工作docker-compose.yml

0 投票
0 回答
575 浏览

security - 为什么 Clair 发现的漏洞比 Docker Hub 多得多?

我已经开始使用 Clair 扫描我的图像以查找漏洞。我注意到尽管根据 clair 的说法,标准的 docker hub Python 和 Debian 拉伸图像中存在很多漏洞。在 docker hub 上,这些图像仅提及 zlib 中的漏洞。为什么会有这样的差异?

Docker 集线器:https ://hub.docker.com/r/library/python/tags/3.6-slim-stretch/

克莱尔(通过克莱尔扫描仪):

clair-scanner 在 python:3.6-slim-stretch 图像中发现了 42 个漏洞。使用时相同clairctl

然而,当尝试升级它时,没有包:

那么,为什么 Clair 会发现很多误报呢?

0 投票
1 回答
2708 浏览

docker - 在 Ubuntu 14.04 中为 docker 禁用 ipv6

我对安装在 Ubuntu 14.04 VM 上的 docker 守护程序有疑问。日志显示 ipv6 已启用,因此 docker 似乎正在侦听此 IP 地址。本质上,这会影响Clair。我已确保根据此处的以下建议禁用 ipv6 。我还按照Docker 文档daemon.json中 的说明禁用了 ipv6 。我的 docker 版本是.Docker version 17.06.1-ce, build 874a737

Docker 守护进程日志:

time="2018-02-20T20:33:17.736203462+01:00" level=info msg="IPv6 enabled; Adding default IPv6 external servers: [nameserver 2001:4860:4860::8888 nameserver 20 01:4860:4860::8844]"

克莱尔日志:

2018/02/20 20:43:51 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp [::]:6060: connect: cannot assign requested address"; Reconnecting to {[::]:6060 <nil>} 2018/02/20 20:46:14 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp [::]:6060: connect: cannot assign requested address"; Reconnecting to {[::]:6060 <nil>}

0 投票
1 回答
137 浏览

docker - 是否可以“安全扫描”运行已部署到 k8s 的 docker 容器?

我们在部署之前对容器进行港口扫描。一旦它们被扫描,我们就会将它们部署到平台 (k8s)。

有没有办法在部署后的几周内扫描一个容器?当然不会干扰部署。

谢谢

0 投票
1 回答
340 浏览

docker - 使用 paclair 分析 docker-images 的配置以获取来自 nexus 的 clair

我正在寻找paclair的示例配置,以便我可以运行 paclair 来分析存储在私有 Docker 注册表中的 Docker 映像,该注册表托管在 nexus 中。目前我有以下配置

这适用于托管在 docker.io 上的 Docker 映像,没有任何问题,但是如果我尝试使用此配置针对我的私有 Docker 注册表中的 Docker 映像运行 paclair,即

似乎 paclair 跳过了对 nexus.example.com 的登录,我看不到以下输出的原因:

也许这里有人可以给我一个提示,我可以如何针对私人 nexus-docker-registry 配置 paclair 最好的问候 Dan

0 投票
1 回答
86 浏览

docker - Debian docker 镜像错误

我正在使用 clair 扫描我的 docker 图像,我发现我的图像 python:2.7-stretch 基于 Debian:stretch 标记了很多高优先级错误。现在,其中大部分已在较新版本的拉伸(称为拉伸安全)中得到修复。但是我没有在 dockerhub 中看到相应的 debian:stretch-security 版本。有没有办法修复这些错误,还是应该等待 debian 在其基础映像中修复它们?

0 投票
0 回答
194 浏览

clair - 在 POST /v1/layers 请求时使用 clair,得到 400 响应错误:'找不到图层'

我在当前的工作中使用 clair(env 是 nodejs)。当我通过 nodejs 模块“clair-client”向 /v1/layers 发送 POST 请求时。我收到一个错误“找不到图层”。该图像来自我的本地存储库,例如“ http://192.168.10.118:5000/ubuntu:16.04 ”。

PS:当我分析官方镜像“ubuntu:16.04”时,clair可以正常工作。在我成功分析图像“ubuntu:16.04”后,我还可以从本地存储库分析图像“ http://192.168.10.118:5000/ubuntu:16.04 ”。我的 postgres 发生了什么错误?我将展示一些有用的信息如下:

  • 我的本地存储库中的图像错误
  • 成功与官方形象
  • 分析官方 iamge 后,从本地存储库分析图像
0 投票
2 回答
1302 浏览

docker - 无法在容器启动时运行自定义脚本

我正在尝试设置 Clair(Docker 图像漏洞扫描工具)。https://github.com/coreos/clair

我让 Clair 使用 docker-compose 在本地工作正常。问题是,当我将它部署到 AWS 时,我需要指定 postgres 服务器地址、用户名和密码等。构建镜像时不知道 postgres 服务器地址,因此构建 Clair docker 镜像时无法包含它。需要在容器/镜像启动时进行定制。

对于使用数据库的其他应用程序,我通常只自定义 docker 映像并添加一个脚本(在启动时运行),该脚本使用 SED 将正确的值(取自环境变量)插入到应用程序配置文件中。

例如:

Dockerfile

运行时.sh

sed -i -e "s,#POSTGRES_SERVER#,$POSTGRES_SERVER,g" config.yaml

由于某种原因,上述方法不适用于 Clair docker 映像。这种方法适用于许多其他主流图像,所以我认为这是 Clair 图像的特别之处。

我没有收到任何错误,它只是忽略了CMD ["/runtime.sh"]我的 dockerfile 并像往常一样开始。

有没有人能够指出我如何让​​我的自定义脚本运行或指出另一种方法来实现同样的事情?

===========更新解决方案===========

问题是 Clair 图像基于 BusyBox,它默认使用ashshell,而我编写/正在使用的 shell 脚本是为bashshell 编写的。也许这应该很明显,但我对编写 linux shell 脚本有点陌生,还没有遇到过这个。

我在测试 mchawre 的答案后意识到了这一点,这避免了我遇到的问题,因为它不使用 shell 脚本。

所以我使用的解决方案是安装bash到镜像中,然后我可以在容器启动时使用我常用的 bash shell 脚本。

Dockerfile

runtime.sh(小摘录)

0 投票
0 回答
244 浏览

docker - 容器扫描功能不适用于多个图像

我已经成功地从 GitLab为单个 Docker 映像设置了容器扫描功能。现在我想使用相同的 CI/CD 配置扫描另一个图像.gitlab-ci.yml

问题

看起来合并请求详细信息页面上不可能有多个容器扫描报告。

以下屏幕截图显示了以下配置中两个容器扫描作业的结果。

GitLab 容器扫描报告

我们扫描两个 Docker 镜像,它们都有 CVE 需要报告:

  1. iojs:1.6.3-slim(355 个漏洞)
  2. golang:1.3(1139 个漏洞)

预期结果

容器扫描报告将显示总共 1494 个漏洞 (355 + 1139)。目前看起来只golang包含图像的结果。

配置的相关部分

完整配置供参考

问题

应该如何配置 GitLab 容器扫描功能以便能够报告两个 Docker 映像的结果?

0 投票
2 回答
59 浏览

match - 匹配部分 AST 的根元素

我想使用 Clair 和 Rascal 重构一些 C 代码。我搜索具有特定名称的函数。如果我找到这样的功能,我想用另一个功能替换它。我需要在四个功能之间进行选择。要选择的函数取决于找到的函数的参数。我需要匹配表达式的根元素。

我可以使用访问模式进行匹配。我试过了

这并不能保证我匹配根元素。在 (A != B) == CI 只想匹配 ==

我怎样才能只匹配根元素?