Harbor配合Trivy可实现镜像推送、自动扫描、分级告警到策略拦截的完整闭环,关键在于配置扫描触发时机、严重度阈值(如HIGH及以上)和阻断动作,并在项目级启用自动扫描与“严重漏洞自动阻止部署”策略。

Harbor 配合 Trivy 可以实现从镜像推送、自动扫描、分级告警到策略拦截的完整闭环。关键不在装上,而在配置到位——尤其是扫描触发时机、严重度阈值和阻断动作这三点。
启用 Trivy 并设为默认扫描器
Harbor 2.4+ 已深度集成 Trivy,安装时需显式启用:
- 执行 ./install.sh --with-trivy 安装脚本,确保 Trivy 组件被拉起
- 登录 Harbor 管理后台 →「系统管理」→「漏洞扫描」→「扫描仪」
- 找到 Trivy 条目,点击「设置为默认」
- 确认 Trivy 状态为「健康」(若显示离线,检查 trivy-adapter 容器日志)
配置核心扫描参数(harbor.yml)
修改 harbor.yml 中的 trivy 区块,直接影响扫描行为:
- update_interval: 12 —— 漏洞库每 12 小时自动更新一次(生产环境建议设为 6–24 小时)
- severity: HIGH —— 仅对 HIGH 及以上级别(含 CRITICAL)漏洞生成阻断或告警
- timeout: 5 —— 单镜像扫描超时设为 5 分钟,避免大镜像卡住队列
- skip_update: false —— 初次部署务必设为 false,确保获取最新 CVE 数据
设置项目级自动扫描与拦截策略
策略生效必须在具体项目中配置,全局设置不自动继承:
- 进入目标项目 →「配置」→「漏洞扫描」
- 勾选「自动扫描镜像」,触发方式选「推送时」(推荐)或「定时扫描」
- 开启「严重漏洞自动阻止部署」:当检测到 ≥ HIGH 漏洞时,该镜像将无法被
docker pull或 Kubernetes 拉取 - 可选:上传 CVE 忽略清单(JSON 格式),过滤已知误报或暂不修复项
验证与应急响应流程
配置完成后,用一个含已知漏洞的镜像快速验证闭环是否跑通:
- 推送测试镜像:
docker push your-harbor/library/alpine:3.14 - 几秒后进入镜像详情页,点击「扫描」按钮(或等待自动触发),查看报告
- 若报告中出现 CRITICAL 漏洞,尝试
docker pull—— 应返回unauthorized: unauthorized to access repository - 发现高危漏洞时,立即在 UI 中标记镜像为「不可拉取」,并通知安全团队介入
这套机制不是摆设,而是真正卡在交付前的最后一道门。只要策略配准、阈值设严、阻断开关打开,就能把 Log4j2 这类漏洞挡在上线之前。








