全面易用的镜像漏洞检测工具:Trivy

道路千万条,安全第一条;
镜像不规范,同事两行泪。

Trivy 是一个面向镜像的漏洞检测工具,具备如下特点:

  1. 开源
  2. 免费
  3. 易用
  4. 准确度高
  5. CI 友好

相对于老前辈 Clair,Trivy 的使用非常直观方便,适用于更多的场景。

下面是官方出具的对比表格:

扫描器 操作系统 依赖检测 适用性 准确度 CI 友好
Trivy
Clair ×
Anchore Engine
Quay × ×
MicroScanner ×
Docker Hub × × ×
GCR × ×

另外还提供了精确度的对比表格,但是追究下来,无非是采用的参考数据的差异。至少这并不是我看重的东西,顺手是第一要务。

安装

MacOS

$ brew tap knqyf263/trivy
$ brew install knqyf263/trivy/trivy

RHEL/CentOS

$ sudo vim /etc/yum.repos.d/trivy.repo
[trivy]
name=Trivy repository
baseurl=https://knqyf263.github.io/trivy-repo/rpm/releases/$releasever/$basearch/
gpgcheck=0
enabled=1
$ sudo yum -y update
$ sudo yum -y install trivy

使用

这个工具的最大闪光点就是提供了很多适合用在自动化场景的用法。

扫描镜像:

$ trivy centos

扫描镜像文件

$ docker save ruby:2.3.0-alpine3.9 -o ruby-2.3.0.tar
$ trivy --input ruby-2.3.0.tar

根据严重程度进行过滤

$ trivy --severity HIGH,CRITICAL ruby:2.3.0

忽略未修复问题

$ trivy --ignore-unfixed ruby:2.3.0

忽略特定问题

使用 .trivyignore

$ cat .trivyignore
# Accept the risk
CVE-2018-14618

# No impact in our settings
CVE-2019-1543

$ trivy python:3.4-alpine3.9

使用 JSON 输出结果

$ trivy -f json dustise/translat-chatbot:20190428-5

定义返回值

$ trivy --exit-code 0 --severity MEDIUM,HIGH ruby:2.3.0
$ trivy --exit-code 1 --severity CRITICAL ruby:2.3.0

总结

相对于其它同类工具,Trivy 非常适合自动化操作,从 CircleCI 之类的公有服务,到企业内部使用的 Jenkins、Gitlab 等私有工具,或者作为开发运维人员的自测环节,都有 Trivy 的用武之地。

参考链接

https://github.com/knqyf263/trivy

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker工具分类列表 编排和调度 持续集成/持续部署(CI / CD) 监控 记录 安全 存储/卷管理 联网 ...
    Anoyi阅读 3,745评论 1 44
  • 前言 前段时间的工作中有接触到接口测试,测试代码以maven工程的形式编写,使用testNG测试框架。工作中,每次...
    Ivanlfli阅读 3,924评论 7 24
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,893评论 0 5
  • 前几天我读了杨红樱阿姨写的《男生日记》,这本书使我深受启发。 书中主要讲述了主人公吴缅精彩难忘的暑假生活...
    kitty_06fe阅读 718评论 1 1
  • 夏季,闹市区 四周看来是无礼的人群。 短裤,短裙 推搡,嬉戏 男男女女。 小孩子肆意地叫嚷, 疯跑, 手里还拿着冰...
    花和少年呀阅读 262评论 0 10