Trivy 鏡像漏洞掃描:從零入門到實戰指南

?

🔥「炎碼工坊」技術彈藥已裝填!
點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】

?

——手把手帶你掌握容器安全核心工具


一、安裝配置:三步完成 Trivy 部署

Trivy 是由 Aqua Security 開發的開源容器安全工具,支持快速掃描鏡像、文件系統、Kubernetes 等資源中的安全漏洞。以下是針對初學者的安裝與配置指南。

1. 安裝 Trivy

Linux 環境安裝(以 Ubuntu 為例)

#?添加?Trivy?官方倉庫密鑰??
sudo?apt-get?install?-y?wget?apt-transport-https?gnupg??
wget?-qO?-?https://aquasecurity.github.io/trivy-repo/deb/public.key?|?sudo?apt-key?add?-??#?配置倉庫并安裝??
echo?"deb?https://aquasecurity.github.io/trivy-repo/deb?$(lsb_release?-sc)?main"?|?sudo?tee?-a?/etc/apt/sources.list.d/trivy.list??
sudo?apt-get?update?&&?sudo?apt-get?install?-y?trivy??#?驗證安裝??
trivy?--version??

Windows 環境安裝
通過?Chocolatey[1]?安裝:?

choco?install?trivy

Docker 方式運行

docker?run?aquasec/trivy:latest?--version

2. 配置國內鏡像加速(解決數據庫下載慢問題)

首次運行 Trivy 會自動下載漏洞數據庫(trivy-db),由于數據庫托管在 GitHub,國內用戶可能遇到下載緩慢問題。
解決方案:

#?配置國內鏡像源(如清華大學鏡像)??
trivy?--db-repository?ghcr.nju.edu.cn/aquasecurity/trivy-db:2?image?nginx:alpine

3. 基礎掃描測試

#?掃描本地鏡像??
trivy?image?nginx:latest??#?輸出示例(終端顯示結果)??
[INF]?Detected?OS:?alpine??
[HIGH]?CVE-2023-1234?[httpd]?→?Fixed?in?2.4.56-r0??

二、核心功能演示:從基礎到高級實踐

1. 基礎掃描功能

掃描本地 Docker 鏡像

trivy?image?redis:6.0.9??

掃描遠程倉庫鏡像

trivy?image?docker.io/library/ubuntu:20.04??

輸出格式定制化

#?生成?JSON?報告??
trivy?image?-f?json?-o?results.json?nginx:latest??#?生成?HTML?可視化報告??
trivy?image?--format?template?--template?"@/usr/share/trivy/templates/html.tpl"?-o?report.html?nginx:latest

2. 高級功能實踐

按漏洞嚴重級別過濾

#?僅掃描高危和緊急漏洞??
trivy?image?--severity?HIGH,CRITICAL?nginx:latest??

離線掃描模式(適用于無網絡環境)

#?預先下載漏洞庫??
trivy?--cache-dir?/path/to/cache?update??#?使用本地緩存掃描??
trivy?--cache-dir?/path/to/cache?--skip-db-update?image?nginx:latest??

CI/CD 集成:阻斷高危漏洞提交

#?在?GitHub?Actions?中配置??
trivy?image?--exit-code?1?--severity?CRITICAL?nginx:latest??

三、常見問題排查:典型錯誤與解決方案

1. 漏洞數據庫下載失敗

現象:

FATAL?failed?to?download?vulnerability?DB:?unable?to?connect?to?GitHub??

解決方法:

  • 配置代理
    export?HTTP_PROXY="http://proxy.example.com:8080"??
  • 手動下載數據庫
    trivy?--download-db-only?--db-repository?ghcr.nju.edu.cn/aquasecurity/trivy-db:2??

2. 掃描結果為空或不完整

原因:

  • 鏡像未正確加載(如鏡像名稱拼寫錯誤)?
  • 漏洞庫未更新(超過 12 小時未更新)

修復:

#?強制更新漏洞庫??
trivy?--clear-cache?&&?trivy?--cache-dir?/root/.cache/trivy?update??

3. 權限不足導致掃描失敗

Linux 環境
確保用戶有訪問 Docker 套接字權限:?

sudo?usermod?-aG?docker?$USER??

Windows 環境
以管理員身份運行 PowerShell 或 CMD。


四、可視化流程圖:Trivy 工作流解析


?

五、專有名詞說明表

術語解釋
CVE通用漏洞與暴露標識符,國際標準漏洞編號(如 CVE-2023-1234)
OCI開放容器倡議(Open Container Initiative),定義容器鏡像和運行時規范
CI/CD持續集成/持續交付,自動化軟件開發流程
trivy-dbTrivy 使用的漏洞數據庫,包含 OS 和語言層漏洞數據
Alpine輕量級 Linux 發行版,常用于容器鏡像
Docker HubDocker 官方鏡像倉庫,存儲公共鏡像
GitHub ActionsGitHub 提供的 CI/CD 服務,支持自動化構建和測試

總結
通過本文的三步指南,您已掌握 Trivy 的核心使用方法和常見問題解決方案。作為云原生安全的基石工具,Trivy 的易用性和高效性使其成為 DevOps 流程中不可或缺的一環。后續可進一步探索其 Kubernetes 安全掃描、SBOM(軟件物料清單)生成等高級功能。

引用鏈接

[1]?Chocolatey:?https://chocolatey.org/

?

🚧 您已閱讀完全文99%!缺少1%的關鍵操作:
加入「炎碼燃料倉」
🚀 獲得:
√ 開源工具紅黑榜 √ 項目落地避坑指南
√ 每周BUG修復進度+1%彩蛋
(溫馨提示:本工坊不打灰工,只燒腦洞🔥)

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/82393.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82393.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/82393.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SQL基礎概念以及SQL的執行方式

1. SQL入門 1.1. SQL語言功能 可以把 SQL 語言按照功能劃分成以下的 4 個部分: DDL,英文叫做 Data Definition Language,也就是數據定義語言,它用來定義我們的數據庫對象,包括數據庫、數據表和列。通過使用 DDL&…

Rust 1.0 發布十周年,夢想再度揚帆起航!

目錄 引言:發布十周年,鋒芒露今朝 一、Rust的誕生:源于安全的初心 二、Rust 1.0:十年耕耘,碩果累累 三、核心利器:安全、并發與性能的十年錘煉 四、生態與應用:十年拓展,遍地開…

x86 與 ARM 匯編深度對比:聚焦 x86 匯編的獨特魅力

一、引言 匯編語言是硬件與軟件的橋梁,x86 和 ARM 作為兩大主流架構,其匯編語言在設計理念、指令集、編程風格上差異顯著。本文以 x86 匯編為核心,結合與 ARM 的對比,解析 x86 匯編的技術細節與應用場景,助力開發者深…

入駐面包多了

前言 入駐面包多了,其實已經開通面包多賬號老久了,一直沒有認證,因為沒什么拿得出手的作品。 后邊會努力沉淀,希望能出一些作品,給大家帶來一些幫助,然后能賺到一些些奶茶錢。 一個小工具 上架了一個Win…

Python----目標檢測(MS COCO數據集)

一、MS COCO數據集 COCO 是一個大規模的對象檢測、分割和圖像描述數據集。COCO有幾個 特點: Object segmentation:目標級的分割(實例分割) Recognition in context:上下文中的識別(圖像情景識別&#xff0…

【Spring AI集成實戰】基于NVIDIA LLM API構建智能聊天應用:從配置到函數調用全解析

【Spring AI集成實戰】基于NVIDIA LLM API構建智能聊天應用:從配置到函數調用全解析 前言 在人工智能應用開發領域,大語言模型(LLM)的集成能力至關重要。NVIDIA作為全球領先的GPU廠商,其LLM API提供了對Meta Llama-3.…

通用的管理賬號設置設計(一)

背景 首先說明一下需求背景: 在整個角色分類中分為管理員和用戶,用戶可以分為很多級別,比如用戶處于哪個組(group),用戶處于哪個site(城市)。管理員可以: 2.1 鎖定整個…

第5章 軟件工程基礎知識

5.2 軟件過程模型 掌握常見軟件開發模型的基本概念。 瀑布模型:各階段的固定順序,如同瀑布流水。適用于需求明確,且很少發生較大變化的項目。 演化模型: 原型模型:適用于用戶需求不清,需求經常變化的情況…

深淺拷貝?

一、定義: 淺拷貝:只復制對象的第一層屬性,若第一層屬性是引用類型(如對象、數組),則復制其內存地址,修改拷貝后的嵌套對象會影響原對象。 深拷貝:遞歸復制對象的所有層級&#xf…

MMA: Multi-Modal Adapter for Vision-Language Models論文解讀

abstract 預訓練視覺語言模型(VLMs)已成為各種下游任務中遷移學習的優秀基礎模型。然而,針對少樣本泛化任務對VLMs進行微調時,面臨著“判別性—泛化性”困境,即需要保留通用知識,同時對任務特定知識進行微…

螞蟻集團 CTO 何征宇:AGI時代,海量數據帶來的質變|OceanBase 開發者大會實錄

5 月 17 日,“第三屆 OceanBase 開發者大會”在廣州舉辦,會中,螞蟻集團 CTO 何征宇,進行了題為《AGI時代,海量數據帶來的質變》的主題分享。他深度剖析了AI 時代下,數據應用范式的變革,以及生成…

python網絡爬蟲的基本使用

各位帥哥美女點點關注,有關注才有動力啊 網絡爬蟲 引言 我們平時都說Python爬蟲,其實這里可能有個誤解,爬蟲并不是Python獨有的,可以做爬蟲的語言有很多例如:PHP、JAVA、C#、C、Python。 為什么Python的爬蟲技術會…

網頁模板素材網站 web前端網頁制作模板

在當今數字化時代,Web 前端網頁制作對于企業和個人來說至關重要。無論是企業官網、個人博客還是電商網站,一個美觀、功能性強且易于維護的網頁設計能夠有效提升用戶體驗和品牌形象。然而,從零開始設計一個網頁往往需要耗費大量的時間和精力&a…

ROS系列(一):ROS入門指南 —— 核心解析與版本演進

引言 機器人操作系統(ROS)的誕生,不僅是一場技術革命,更是一張重新定義機器人開發范式的藍圖。從實驗室的原型驗證到工業場景的規模化落地,從單機智能到群體協作,ROS以開源、模塊化和生態驅動的特性&#…

將 Docker 鏡像推送到 GitLab Container Registry 的完整步驟

一、前提準備 GitLab 項目: 在 GitLab 上擁有一個項目,例如 your-group/your-project-name。重要: 確保項目路徑(尤其是項目名稱部分)全部使用小寫字母。例如,如果初始是 Your-Project,請在項目設置中將其路徑修改為 y…

Java-HashMap基礎與擴展學習總結

?面試官?: “HashMap 是 Java 中最常用的數據結構之一,你能說說它的底層實現嗎?比如哈希沖突是怎么解決的?” ?你?(結合源碼與優化場景): “好的,HashMap 底層是數組鏈表/紅黑…

嵌入式學習之系統編程(五)進程(2)

一、進程的退出 (一)僵尸進程與孤兒進程 (二)相關函數 1、exit函數 2、_exit函數 3、atexit函數 二、進程空間的回收(相關函數) 1、wait函數 2、waitpid函數 3、練習 4、exec族 5、system函數 一…

AI時代新詞-Transformer架構:開啟AI新時代的關鍵技術

一、什么是Transformer架構? Transformer架構 是一種基于自注意力機制(Self-Attention Mechanism)的深度學習模型架構,最初由Vaswani等人在2017年的論文《Attention Is All You Need》中提出。它主要用于處理序列數據&#xff08…

基于cornerstone3D的dicom影像瀏覽器 第二十三章 mpr預設窗值與vr preset

文章目錄 前言一、mpr窗口預設窗值二、vr preset三、調用流程 前言 實現mpr窗口預設窗值,vr窗口預設配色 效果如下: 一、mpr窗口預設窗值 可參考 第十五章 預設窗值 邏輯一樣的,把windowWidth, windowCenter值轉換為voiRange值,…

shell之通配符及正則表達式

通配符與正則表達式 通配符(Globbing) 通配符是由 Shell 處理的特殊字符,用于路徑或文件名匹配。當 Shell 在命令參數中遇到通配符時,會將其擴展為匹配的文件路徑;若沒有匹配項,則作為普通字符傳遞給命令…