美文网首页Docker容器
全面易用的镜像漏洞检测工具:Trivy

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

作者: 伪架构师 | 来源:发表于2019-05-18 19:17 被阅读6次

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

    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

    相关文章

      网友评论

        本文标题:全面易用的镜像漏洞检测工具:Trivy

        本文链接:https://www.haomeiwen.com/subject/qnmzaqtx.html