简介

官方地址:https://github.com/aquasecurity/trivy

Trivy是aqua(专注云原生场景下的安全)公司的一款开源工具,之前历史文章也有对aqua的一些介绍。

Trivy是一个简单易用且全面的扫描器,支持容器镜像、文件系统、git仓库及配置文件的检测。

Trivy支持操作系统软件包的检测(例如:Alpine, RHEL, CentOS等)和特定语言软件包(例如:Bundler, Composer, npm, yarn等)的漏洞。此外,Trivy扫描基础架构即代码(IaC,基础设施即代码是通过机器可读的定义文件,而不是物理硬件配置或交互式配置工具来管理和配置计算数据中心的过程)文件,如Terraform(类似k8s的编排工具)、Dockerfile和Kubernetes,以检测潜在的配置问题,提前发现潜在安全问题。支持多种操作系统环境。

安装

提供了多种安装方式,Liunx、mac甚至是docker,此处采用的是mac环境下使用brew的安装:

brew install aquasecurity/trivy/trivy

扫描机制

基于文件的静态扫描,对于一些运行态的安全风险,例如逃逸、高危系统调用、异常进程检测、文件异常检测、容器环境检测等存在盲区。

功能

  • 扫描镜像
  • 扫描打包好的镜像
  • 扫描配置文件
  • 集成与扩展

镜像扫描

trivy image [YOUR_IMAGE_NAME]

保存扫描结果:trivy -f json -o output [YOUR_IMAGE_NAME]

文件扫描

trivy fs /path/to/project

git仓库扫描

$ trivy repo https://github.com/knqyf263/trivy-ci-test

server-client 模式

基于扫描效率的考虑,出现了server-client模式,在初次扫描时,server会下载所需的漏洞数据库,并在后台持续获取最新的数据库。

集成与扩展

根据互联网数据统计,超过 30%的 Docker Hub官方镜像存在高危漏洞,超过 18%的GitHub开源项目包含恶意代码,而日常开发人员编写的代码中,往往就引用/借鉴了一定的开源项目。这就直接可能导致恶意代码、镜像直接进入生产环境,随着开发人员的代码提交而成为在线业务,这种供应链对企业带来的风险可想而知。

trivy除了作为一个独立的镜像扫描工具外,还能和其他平台/工具做集成或扩展、嵌入CI流水线中:

同类产品比较

可以看到有镜像扫描工具的“前辈” clair 也在列,但从支持检测的语言包、易用性、准确性、和CI的集成度等方面,trivy略胜一筹。留个坑,后续有时间可以来深入学习下各个工具的异同。

Trivy 容器镜像扫描工具学习的更多相关文章

  1. 企业运维实践-丢弃手中的 docker build , 使用Kaniko直接在Kubernetes集群或Containerd环境中快速进行构建推送容器镜像

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 本章目录 目录 首发地址: h ...

  2. 【K8S学习笔记】Part2:获取K8S集群中运行的所有容器镜像

    本文将介绍如何使用kubectl列举K8S集群中运行的Pod内的容器镜像. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 需要有一个K8S集群,并且配置好了k ...

  3. 阿里云开源 image-syncer 工具,容器镜像迁移同步的终极利器

    为什么要做这个工具? 由于阿里云上的容器服务 ACK 在使用成本.运维成本.方便性.长期稳定性上大大超过公司自建自维护 Kubernets 集群,有不少公司纷纷想把之前自己维护 Kubernetes ...

  4. 小白学习安全测试(四)——扫描工具-Vega

    WEB扫描工具-Vega 纯图形化界面,Java编写的开源web扫描器.两种工作模式:扫描模式和代理模式[主流扫描功能].用于爬站.处理表单,注入测试等.支持SSL:http://vega/ca.cr ...

  5. 小白学习安全测试(三)——扫描工具-Nikto使用

    扫描工具-Nikto #基于WEB的扫描工具,基本都支持两种扫描模式.代理截断模式,主动扫描模式 手动扫描:作为用户操作发现页面存在的问题,但可能会存在遗漏 自动扫描:基于字典,提高速度,但存在误报和 ...

  6. 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  7. Docker安全扫描工具之DockerScan

    前言 本篇简单介绍Docker扫描工具DockerScan的安装使用.下述过程是在CentOS 7.6的虚拟机上进行的. [root@localhost ~]# cat /etc/redhat-rel ...

  8. Docker安全扫描工具之Anchore

    本篇简单介绍一款Docker安全扫描工具Anchore的安装和使用. 前言 下述过程是在CentOS 7.6的虚拟机上进行的. [root@localhost ~]# cat /etc/redhat- ...

  9. 私有容器镜像仓库harbor

    私有镜像仓库Harbor 1.Harbor概述 Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用 ...

随机推荐

  1. docker - compose 部署 Nginx

    主要介绍 docker 中 Nginx 的部署及项目目录挂载券的方法.docker 中部署一个服务,有三种方法,分别是 docker run.Dockerfile.docker-compose . 下 ...

  2. C++中string和char字符串的异同与使用方法

    C++中string和char声明字符串的异同和使用 string类 必须在头文件中包含<string> 隐藏了字符串的数组性质,可以像处理普通变量那样处理字符串 string类位于名称空 ...

  3. 阿里云研究员叔同:Serverless 正当时!

    作者 | 叔同 导读:Serverless 将开发人员从繁重的手动资源管理和性能优化中解放出来,就像数十年前汇编语言演变到高级语言的过程一样,云计算生产力再一次发生变革.Serverless 的核心价 ...

  4. 题解 2020.10.24 考试 T3 数列

    题目传送门 题目大意 给出一个数 \(n\),你要构造一个数列,满足里面每个数都是 \(n\) 的因子,且每一个数与前面不互质的个数不超过 \(1\).问有多少种合法方案. 保证 \(n\) 的不同质 ...

  5. 题解 [POI2013]SPA-Walk

    题目传送门 题目大意 给出两个长度为 \(n\) 的 \(01\) 串,问是否可以通过某一位把 \(s\) 变为 \(t\),但是中途不能变为 \(k\) 个 \(01\) 串中任意一个,问是否可行. ...

  6. 阿里P8面试官:如何设计一个扛住千万级并发的架构?

    大家先思考一个问题,这也是在面试过程中经常遇到的问题. 如果你们公司现在的产品能够支持10W用户访问,你们老板突然和你说,融到钱了,会大量投放广告,预计在1个月后用户量会达到1000W,如果这个任务交 ...

  7. Web前端安全之安全编码原则

    随着Web和移动应用等的快速发展,越来越多的Web安全问题逐渐显示出来.一个网站或一个移动应用,如果没有做好相关的安全防范工作,不仅会造成用户信息.服务器或数据库信息的泄露,更可能会造成用户财产的损失 ...

  8. 【实验向】问题:假设计算机A和计算机B通信,计算机A给计算机B发送一串16个字节的二进制字节串,以数组形式表示:

    问题: 假设计算机A和计算机B通信,计算机A给计算机B发送一串16个字节的二进制字节串,以数组形式表示: unsigned char[16] = {0x3f, 0xa0, 0x00, 0x00, 0x ...

  9. nexus设置npm下载管理

    nexus设置npm下载管理 第一步 登录私服网页 第二步 创建存储空间(如果使用默认的存储空间,此步骤可省略) 第三步 输入空间的名称,点击create创建 第四步 创建仓库 npm的仓库有三种: ...

  10. vue3.x移动端页面基于vue-router的路由切换动画

    移动端页面切换一般都具有动画,我们既然要做混合开发,做完之后还是不能看起来就像一个网页,所以我们基于vue-router扩展了一个页面切换push和pop的动画.这是一篇比较硬核的帖子,作者花了不少精 ...