Trivy|Trivy 容器镜像扫描工具学习
简介
官方地址: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流水线中:
- Pluggable Image Vulnerability Scanners for Harbor
- DevSecOps with Trivy and GitHub Actions
- Find Image Vulnerabilities Using GitHub and Aqua Security Trivy Action
- Using Trivy to Discover Vulnerabilities in VS Code Projects
文章图片
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- LeetCode算法题-11.|LeetCode算法题-11. 盛最多水的容器(Swift)
- docker镜像探索----dive工具
- CentOS7 阿里云镜像配置方法
- 2019-09-02|2019-09-02 镜像
- Nvidia|lxd容器安装cuda11
- Windows10|Windows10,Version,1903,7月更新,MSDN镜像下载
- Spring注解05|Spring注解05 @Import 给容器快速导入一个组件
- 图片容器
- 制作jdk8|制作jdk8 Dockerfile