<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>trivy on </title>
    <link>/tags/trivy/</link>
    <description>Recent content in trivy on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Mon, 09 Nov 2026 23:40:00 +0800</lastBuildDate><atom:link href="/tags/trivy/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>用 Trivy Operator 持续扫描 homelab 集群的镜像</title>
      <link>/posts/trivy-operator-homelab-cve-scanning/</link>
      <pubDate>Mon, 09 Nov 2026 23:40:00 +0800</pubDate>
      
      <guid>/posts/trivy-operator-homelab-cve-scanning/</guid>
      <description>背景 homelab 有两个 K3s 集群：家里的 homelab（一台 Ryzen 5600H 笔记本当控制面，加一台跑在 NAS 上的 worker VM），和 Oracle Cloud 上的单节点 oracle-k3s。两边在跑的东西，Trivy 一共出了 142 份漏洞报告，每份对应一个工作负载里的一个容器。这些镜像大多是别人构建的：grafana、litellm、zitadel、browserless/chrome 等等。能决定的是用哪个版本，决定不了它的基础镜像里装了什么。
镜像不动，漏洞也会变多。按 Jerry Gamblin 的年度统计，2025 年发布了 48,185 个 CVE，比 2024 年的 39,962 个多 20.6%。Trivy 的漏洞库也天天在变：trivy-db 的 README 写的是每 6 小时构建一次，客户端默认每 24 小时拉一次新库。一个几个月没更新的镜像，今天扫是干净的，下周再扫就可能多出一个 Critical。所以只在 CI 构建时扫一次不够，还要对集群里「正在跑的镜像」定期重扫。
选 Trivy 主要因为两点。一是一个工具覆盖了要查的几类问题：镜像里的已知漏洞、Kubernetes 配置问题、镜像里打包进去的密钥，Operator 版本还多一个 RBAC 评估。二是它有 Operator：在集群里自动发现工作负载、自动重扫，结果存成 Kubernetes 自定义资源（CR），还暴露 Prometheus 指标，正好接上已有的 Prometheus、Alertmanager 和 Telegram 通知。
约束只有一条：homelab 控制面是一台笔记本，空闲时 CPU 就在 60 度出头，所有安全组件都要控 CPU。后面不少配置是为它定的。
Trivy 扫一个镜像时做了什么 先不管 Operator，直接用 Trivy CLI 扫一个镜像，看它做了哪几步。下面用 Docker 跑 Trivy 0.</description>
    </item>
    
  </channel>
</rss>
