1. 课程导论:云原生安全挑战、Trivy 简介与定位、课程目标与学习路径

1.1 云原生安全面临的核心挑战

云原生架构(容器、Kubernetes、微服务、不可变基础设施)在提升交付效率的同时,也引入了全新的攻击面。传统边界安全模型失效,安全左移与持续合规成为刚需。以下是当前企业落地云原生时最突出的四大安全挑战:

挑战维度 典型风险场景 影响范围
镜像供应链 基础镜像含已知 CVE、恶意软件、敏感信息硬编码 从构建到运行时的全链路污染
基础设施配置 K8s RBAC 过度授权、Pod 特权模式、HostPath 挂载 集群逃逸与横向移动
运行时水位 异常进程、文件篡改、非预期网络连接 容器逃逸与数据泄露
合规与准入 未通过安全基线的镜像上线、不合规的 Helm Chart 违规部署与审计失败
关键洞察: 超过 70% 的云原生安全事件源于镜像层和配置层,且多数漏洞在部署前即可被检测。Trivy 正是针对这一“左移”场景设计的统一扫描器。

1.2 Trivy 简介与定位

Trivy 是 Aqua Security 开源的综合安全扫描工具,采用“单一二进制 + 多引擎”架构。它不依赖外部数据库,内置漏洞库、策略库和 IaC 模板库,支持离线环境。其核心定位可概括为:一个命令,覆盖全生命周期。

  • 漏洞扫描:支持 OS 包(Alpine、Debian、Ubuntu、CentOS 等)和语言依赖(Java、Python、Node.js、Go 等)。
  • IaC 与配置扫描:检测 Kubernetes YAML、Dockerfile、Terraform、Helm Chart 中的错误配置。
  • 密钥与敏感信息:扫描镜像和文件系统中的硬编码密码、、私钥。
  • SBOM 生成:支持 CycloneDX 和 SPDX 格式的软件物料清单导出。
  • 准入控制集成:通过 Trivy Operator 或自定义 Webhook 实现集群级准入检查。
为什么选择 Trivy? 相比 Clair、Anchore、Snyk,Trivy 在扫描速度(秒级)、离线能力、多格式支持(容器、文件系统、Git 仓库、K8s 集群)上具有显著优势,且社区活跃度最高。
Trivy 在云原生安全体系中的定位 容器镜像 文件系统 / Git K8s 集群 / IaC SBOM / 依赖清单 Trivy 核心引擎 漏洞数据库 策略库 (OPA/Rego) 密钥检测规则 IaC 模板库 SBOM 生成器 单一二进制 离线可用 CI/CD 流水线 K8s 准入控制器 安全仪表盘 / 告警 SBOM 仓库 / 审计 Trivy 覆盖“构建 → 部署 → 运行”全链路,是云原生安全左移的核心工具

1.3 课程目标与学习路径

本课程旨在帮助学员从零到一掌握 Trivy,并构建企业级的云原生安全基线、容量管理、水位监控、巡检与灰度发布准入检查体系。课程采用“理论 + 实战 + 策略”三合一模式,覆盖以下五大能力域:

  1. 基线建立:定义镜像、集群、配置的安全基线,使用 Trivy 进行持续合规扫描。
  2. 容量与水位:结合 Trivy 的 SBOM 和漏洞数据,评估镜像安全容量与集群风险水位。
  3. 巡检自动化:设计定时巡检任务,生成安全报告,并集成到告警体系。
  4. 灰度发布准入:在 K8s 准入控制器中集成 Trivy,实现基于安全策略的灰度阻断。
  5. DevSecOps 集成:将 Trivy 嵌入 Jenkins、GitLab CI、ArgoCD 等工具链。
前置要求: 学员需具备基本的 Docker 和 Kubernetes 操作经验,了解 CI/CD 流水线概念。无需 Trivy 使用经验,课程将从安装命令开始逐步深入。
课程学习路径与章节映射 阶段 1:基础 Trivy 安装与扫描 阶段 2:基线 镜像 & 配置基线 阶段 3:容量 & 水位 风险量化与监控 阶段 4:巡检 定时扫描与报告 阶段 5:准入 灰度发布阻断 阶段 6:DevSecOps CI/CD 深度集成 阶段 7:综合实战 — 企业级安全流水线搭建与攻防演练 每个阶段均包含动手实验与可复用的策略模板

1.4 快速上手:第一个 Trivy 命令

在进入后续章节前,建议先通过以下命令验证 Trivy 环境。本课程所有操作均基于 Trivy v0.50+ 版本。

# 安装 Trivy(macOS/Linux)
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh

# 扫描一个镜像(示例:nginx:1.25)
trivy image nginx:1.25

# 扫描一个 Kubernetes 集群(需配置 kubeconfig)
trivy k8s --report summary cluster

# 生成 SBOM
trivy image --format cyclonedx --output nginx.sbom nginx:1.25
学习建议: 本课程每章末尾均提供“自检清单”和“扩展阅读”。建议按顺序学习,阶段 1-3 是基础,阶段 4-7 是进阶与实战。如果时间有限,可先掌握阶段 1、2、5,覆盖最核心的镜像扫描与准入控制场景。