灌篮少年 发表于 2024-10-13 01:39:05

带你体验一款主流且开源的镜像毛病扫描工具

Trivy是一款全面多功能的安全扫描器,现已经被 Github Action、Harbor 等主流工具集成,Trivy支持大多数流行的编程语言、操纵系统和平台的扫描,是该范畴如今使用最广的开源工具之一。
https://i-blog.csdnimg.cn/direct/3f3022601f674cfa8e88b0ff76e83e99.png
开源项目地点:https://github.com/aquasecurity/trivy
1. Trivy简介

Trivy是一款全面且多功能的安全扫描器,是以色列在2015年成立的云原生安全技能软件公司Aqua Security提供的开源项目。
https://i-blog.csdnimg.cn/direct/1e9052efe2204345b8fe9491395975f0.png
Trivy的原理是利用静态分析技能,对镜像进行深度扫描,从而发现此中存在的安全毛病,支持以下6种扫描对象:


[*]容器镜像
[*]文件系统
[*]Git堆栈(可远程扫描)
[*]捏造机映像VMI
[*]Kubernetes
[*]AWS
https://i-blog.csdnimg.cn/direct/95917be0fdab470d93e27133124be9ff.png
扫描器本领:


[*]正在使用的操纵系统包和软件依赖关系(SBOM)
[*]已知毛病(CVE)
[*]IaC问题和配置错误
[*]敏感信息和密钥
[*]软件许可证
Trivy支持多种陈诉格式:


[*]JSON
[*]SARIF
[*]自定义模板
[*]SBOM
[*]GitHub依赖关系快照
[*]表格
要了解更多信息,请访问Trivy官方网站查看详细信息。
2. 安装Trivy

Trivy的安装有三种主流方式:


[*]macOS:brew install trivy(仅适用于苹果电脑)
[*]Docker:docker run aquasec/trivy(需提前安装Docker环境)
[*]软件包:直接从官网下载二进制文件(本文使用此方案安装)
进入软件包官方下载页面:https://github.com/aquasecurity/trivy/releases
https://i-blog.csdnimg.cn/direct/8922f11d2fee4076b69c7a0ef5e38c4b.png
在以上列表中找到适合自己平台的软件包,下载到本地解压即可快速完成安装。软件包内重要包含:


[*]可实行步伐trivy
[*]默认的陈诉模板(可以基于此模板定制自己想要的陈诉模板)
https://i-blog.csdnimg.cn/direct/3bc76db896ac46e4a95482fdc9c8e30f.png
3. 命令格式先容

Trivy的命令格式如下:
trivy <target> [--scanners <scanner1,scanner2>] <subject>
此中,


[*]target为前面提到的6种扫描对象类型,本文重要以容器镜像类型为例进行先容。
[*]默认情况下,启用了毛病和密钥扫描,我们可以使用--scanner进行配置。
[*]subject为具体的扫描对象
示例:trivy image python:3.4-alpine
下面先容几种常用的陈诉格式:


[*] JSON格式(适用于呆板阅读)
$ trivy image -f json -o results.json python:3.4-alpine
[*] SARIF格式(适用于陈诉交换)
$ trivy image --format sarif -o report.sarif python:3.4-alpine
[*] 模板格式(适用于各种场景)

[*] 从模板路径前缀为@的文件中加载模板
$ trivy image --format template --template "@contrib/junit.tpl" -o junit-report.xml python:3.4-alpine
[*] 安装Trivy时默认的HTML模板
$ trivy image --format template --template "@/usr/local/share/trivy/templates/html.tpl" -o report.html python:3.4-alpine

更多陈诉格式的高级用法可参阅:https://aquasecurity.github.io/trivy/v0.55/docs/configuration/reporting/#converting
4. 镜像毛病扫描实测

博主在本地事先拉取了两个Docker镜像,我们以此中的一个镜像owasp/benchmark:latest为例,实行命令./trivy image owasp/benchmark
https://i-blog.csdnimg.cn/direct/a0210eb3f0c84b0b94cc73a79ec1cbce.png
由于命令中未指定陈诉格式,以是扫描后的结果直接回显在了终端屏幕上,可以看到检出了136个毛病且正确识别到了容器的OS类型为ubuntu 24.04。
https://i-blog.csdnimg.cn/direct/6a14d3edc9784cc8b463a66a10c1c669.png
为了方便看毛病详情,接下来博主将陈诉导出为人类更容易阅读的网页格式。实行如下命令
$ trivy image --format template --template "@/Users/me/Downloads/contrib/html.tpl" -o report.html owasp/benchmark:latest
https://i-blog.csdnimg.cn/direct/7a7e9eafaba9435ab3045903e13d3caf.png
扫描完成后可以看到当前路径下多出了一个report.html文件,打开后格式如下(包含毛病组件、毛病ID、组件修复版本及毛病参考链接等)。
https://i-blog.csdnimg.cn/direct/99313a0d3cb2425980ffd6368ea490b6.png
固然,企业在使用这款镜像漏扫工具时,会将此工具集成在CI/CD中,以是一样平常会选择将其导出为JSON格式以方便呆板识别和自动化处置惩罚。
由于这款工具非常主流,在这里就不做详细评测了,但有一点各人必要考虑,这个工具的毛病知识库来源那边?是否全面且权势巨子? 别的,你们在一样平常使用中有碰到过什么问题或疑问?接待评论区留言,知无不答~
5. 总结

Trivy是一款高效实用的镜像毛病扫描工具,其无状态筹划、易用性和集本钱领使得它在容器安全范畴具有广泛的应用前景(博主了解到许多数公司也都在用)。通过使用Trivy进行镜像毛病扫描,可以大大进步容器的安全性,减少潜伏的安全风险。
https://i-blog.csdnimg.cn/direct/b893dd3eb2484687adf4754141cf5041.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 带你体验一款主流且开源的镜像毛病扫描工具