CKS之镜像漏洞扫描工具:Trivy

目录

Trivy介绍

Trivy安装

Trivy使用命令

容器镜像扫描

打印指定(高危、严重)漏洞信息

JSON格式输出

HTML格式输出

离线扫描命令

离线更新Trivy数据库

Harbor安装Trivy


Trivy介绍

  • Trivy是一款用于扫描容器镜像、文件系统、Git仓库等的漏洞扫描工具
  • 它可以发现目标软件存在的漏洞、配置错误、敏感信息等安全问题
  • Trivy易于安装和使用,可与CI系统集成

Trivy安装

项目地址:https://github.com/aquasecurity/trivy

1、解压文件到自定义安装目录

mkdir -p /data/app/trivy && cd  /data/app/trivy
tar -zxvf trivy_0.37.1_Linux-64bit.tar.gz

2、给二进制文件执行权限

chmod +x trivy

3、将trivy拷贝至/usr/local/bin,其他contrib文件夹等需保留

cp trivy /usr/local/bin/

Trivy使用命令

容器镜像扫描

trivy image nginxtrivy image --input nginx.tar #扫描指定镜像tar

打印指定(高危、严重)漏洞信息

trivy image -s HIGH nginxtrivy image -s HIGH, CRITICAL nginx

JSON格式输出

trivy image nginx -f json -o /root/output.json

HTML格式输出

trivy image \ #指定要扫描的目标是容器镜像-s HIGH,CRITICAL \ #只输出高危和严重级别的漏洞--format template \ #指定输出格式为模板--template @/data/app/trivy/contrib/html.tpl \ #使用contrib目录下的html.tpl模板文件-o result.html \ #将输出结果保存到result.html文件--input /data/download/CloudAgent-Image-X86.tar # 指定要扫描的容器镜像文件路径
输出效果
输出效果

离线扫描命令

--skip-db-update             #跳过更新漏洞数据库

--skip-java-db-update     #跳过更新Java索引数据库

--offline-scan                   #不发出API请求来识别依赖关系,进行离线扫描

skip-db-updateskip-java-db-update选项可以防止工具在每次运行时自动更新其漏洞数据库和Java依赖索引,从而加快扫描速度。offline-scan选项则是在没有网络连接的情况下运行,不会向在线服务发出请求来识别项目依赖。

离线更新Trivy数据库

若官网的数据库不可连接,只能从有外网的trivy更新数据库之后,把数据库相关文件拷贝到内网

1、外网服务器trivy更新db数据库、java数据库

trivy server --download-db-only

2、到默认数据库存储路径拷贝数据库相关文件至内网服务器

#查看数据库存储路径,默认存储在/root/.cache/trivy

trivy image --help|grep cache-dir

cd /root/.cache/trivy/tar -cvf db.tar.gz db/

3、将db.tar.gz传送至内网服务器,并覆盖内网服务器的数据库文件

Harbor安装Trivy

在Harbor中集成Trivy可以实现在推送镜像时自动扫描漏洞,并根据扫描结果决定是否允许该镜像被推送。

参考链接:【docker】harbor-trivy镜像扫描工具安装部署(离线漏洞库)_trivy-java-db 离线-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/772476.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matlab|基于两阶段鲁棒优化的微网电源储能容量优化配置

目录 主要内容 1.1 目标函数 1.2 约束条件 1.3 不确定变量 部分代码 结果一览 下载链接 主要内容 程序主要复现的是《考虑寿命损耗的微网电池储能容量优化配置》,解决微网中电源/储能容量优化配置的问题,即风电、光伏、储能以及燃气轮机…

LeetCode - 执行子串操作后的字典序最小字符串

题目要求经过操作后的字符串的字典序要比之前小。 在做这道题的之后陷入了一个误区,就是看a的位置,a-1之后z,z的字典序比a大,所以要尽可能的避免a变成z,但是字典序的比较是从前往后比较的,纠结于a变成z&am…

NSCaching: Simple and Efficient NegativeSampling for Knowledge Graph Embedding

摘要 知识图嵌入是数据挖掘研究中的一个基本问题,在现实世界中有着广泛的应用。它的目的是将图中的实体和关系编码到低维向量空间中,以便后续算法使用。负抽样,即从训练数据中未观察到的负三元组中抽取负三元组,是KG嵌入的重要步…

第四百二十六回

文章目录 1. 概念介绍2. 实现方法2.1 原生方式2.1 插件方式 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何修改程序的桌面图标"相关的内容,本章回中将介绍如何处理ListView中的事件冲突.闲话休提,让我们一起Talk Flutter吧。 1. 概念介…

利用vite创建vue3项目

vue3 项目推荐使用vue官方推荐的vite手脚架创建,vue3项目,使用vue-cli 会存在一些问题 1.node的版本 目前的vue3需要至少需要node18及以上,可以安装nvm node包管理器可以快速切换node版本,因为node的版本的兼容性真是一言难尽。…

第十四届蓝桥杯C++A组(A/B/C/D/E/H)

文章目录 A.幸运数B.有奖问答C.平方差D.更小的数E.颜色平衡树H.异或和之和 A.幸运数 /*纯暴力*/ #include <bits/stdc.h>using namespace std;void solve() {int sum 0;for(int i 1; i < 100000000; i ){int n i;int a[11];int j 1;for(; n ! 0; j ){a[j] n % …

C++ 友元函数

目录 如果觉得有用的话&#xff0c;给小弟点个赞吧&#xff01;哈哈哈哈&#xff0c;谢谢嘞&#xff01; 概念&#xff1a; 如何理解&#xff1f; 概念&#xff1a; 友元&#xff1a;慎用&#xff08;突破封装&#xff09; 友元函数&#xff1a;在函数前加friend的函数称为…

网页代理ip怎么设置的

众所周知&#xff0c;现在网络安全和隐私保护是我们非常关注的问题。为了更好地保护自己的隐私&#xff0c;提高上网的安全性&#xff0c;使用代理IP成为了很多人的首选。 那么&#xff0c;网页代理IP是怎么设置的呢&#xff1f;下面&#xff0c;就让我来一一为大家介绍。 一、…

CMake学习笔记(二)从PROJECT_BINARY_DIR看外部编译和内部编译

目录 外部编译 内部编译 总结 外部编译 看如下例子&#xff1a;我在EXE_OUT_PATH中建立了文件夹build、文件夹src2 和 文件CMakeLists.txt 其中EXE_OUT_PATH/CMakeLists.txt的内容如下&#xff1a; PROJECT(out_path) ADD_SUBDIRECTORY(src2 bin2) MESSAGE(STATUS "m…

(一)whatsapp 语音通话基本流程

经过了一整年的开发测试&#xff0c;终于将whatsapp 语音通话完成&#xff0c;期间主要参考webrtc的源码来实现.下面简要说一下大致的步骤 XMPP 协商 发起或者接受语音通话第一步是发起XMPP 协商&#xff0c;这个协商过程非常重要。下面是协商一个包 <call toxxxs.whatsap…

【大模型基础】什么是KV Cache?

哪里存在KV Cache&#xff1f; KV cache发生在多个token生成的步骤中&#xff0c;并且只发生在decoder中&#xff08;例如&#xff0c;decoder-only模型&#xff0c;如 GPT&#xff0c;或在encoder-decoder模型&#xff0c;如T5的decoder部分&#xff09;&#xff0c;BERT这样…

Protocol Buffers设计要点

概述 一种开源跨平台的序列化结构化数据的协议。可用于存储数据或在网络上进行数据通信。它提供了用于描述数据结构的接口描述语言&#xff08;IDL&#xff09;&#xff0c;也提供了根据 IDL 产生代码的程序工具。Protocol Buffers的设计目标是简单和性能&#xff0c;所以与 XM…

(执行上下文作用域链)前端八股文修炼Day4

一 作用域作用域链 作用域&#xff08;Scope&#xff09;是指程序中定义变量的区域&#xff0c;作用域规定了在这个区域内变量的可访问性。在 JavaScript 中&#xff0c;作用域可以分为全局作用域和局部作用域。 全局作用域&#xff1a;在代码中任何地方都可以访问的作用域&am…

基于Springboot的狱内罪犯危险性评估系统的设计与实现(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的狱内罪犯危险性评估系统的设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#…

宝塔部署项目

如何在云服务器上使用宝塔 登录到你的云服务器后&#xff0c;执行宝塔面板安装命令&#xff0c;阿里云服务器网使用的CentOS操作系统&#xff0c;命令如下 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh …

题。。。。

O - 胜利大逃亡(续) 题目分析 bfs状态压缩&#xff08;在bfs的基础上&#xff0c;存储持有不同钥匙时&#xff0c;此点位是否走过的情况&#xff09;&#xff1b; -----状态压缩使用二进制实现&#xff0c;同时通过位运算修改是否转移至另一状态&#xff08;详情见代码及注释…

解决 Xshell 等工具连接虚拟机失败

这里以 Xshell 等工具连接 Linux 虚拟机为例 对于我们使用 Xshell 等工具连接虚拟机失败&#xff0c;我们可以从以下的几个方面进行检查和解决 检查连接工具中的连接会话配置是否正确 对于这方面&#xff0c;我们要检查连接工具中连接会话配置的虚拟机 IP 地址和端口号是否正…

Postman核心功能解析-参数化和测试报告

一、参数化处理 参数化&#xff1a;针对于某一个接口&#xff0c;有大量的的测试数据需要批量验证&#xff0c;一个一个的更改请求参数太耗时耗力&#xff0c;使用参数化批量处理数据会比较高效&#xff0c;常规通过文档参数化实现。 创建文件 格式CSV 文件内第一行信息 需要…

操作系统的理解|冯·若依曼体系结构|进程的状态

操作系统的理解 冯诺伊曼体系结构为什么必须通过内存然后到cpu存储金字塔冯诺伊曼结构的改进在哪&#xff1f;我们可不可以全部用寄存器来做存储器在硬件数据流动角度学以致用&#xff1a;解释程序运行为什么要加载到内存程序没被运行之前存在哪里&#xff1f; 操作系统概念广义…

应急响应实战笔记04Windows实战篇(2)

第2篇&#xff1a;蠕虫病毒 0x00 前言 ​ 蠕虫病毒是一种十分古老的计算机病毒&#xff0c;它是一种自包含的程序&#xff08;或是一套程序&#xff09;&#xff0c;通常通过网络途径传播&#xff0c;每入侵到一台新的计算机&#xff0c;它就在这台计算机上复制自己&#xff…