alpine/trivy镜像名称:alpine/trivy
基础镜像:Alpine Linux
主要用途:轻量级容器镜像漏洞扫描工具,基于Trivy构建,用于检测容器镜像中的操作系统漏洞、语言特定依赖漏洞及敏感信息(秘密),支持本地和远程镜像扫描,适用于CI/CD流程集成、安全审计等场景。
demo)或远程仓库镜像(如quay.io/keycloak/keycloak)。/var/run/docker.sock可访问)。扫描本地构建的镜像(如demo),输出所有严重级别的漏洞:
bashdocker run -ti --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ # 允许Trivy访问Docker守护进程 -v ~/.cache:/root/.cache \ # 挂载缓存目录,缓存漏洞数据库 alpine/trivy image demo # 扫描本地镜像"demo"
输出说明:
结果包含镜像OS信息(如alpine 3.18.4)、漏洞总数及详情表格(库名称、CVE编号、严重级别、修复版本等)。
仅扫描并输出HIGH和CRITICAL级别的漏洞(适用于聚焦高风险问题):
bashdocker run -ti --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/.cache:/root/.cache \ alpine/trivy image --severity HIGH,CRITICAL demo # --severity指定严重级别,逗号分隔
扫描远程仓库中的镜像(如quay.io/keycloak/keycloak):
bashdocker run -ti --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/.cache:/root/.cache \ alpine/trivy image quay.io/keycloak/keycloak # 直接指定远程镜像地址
简化命令:通过alias定义快捷命令,方便重复使用:
bashalias scan="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock -v ~/.cache:/root/.cache alpine/trivy image --severity HIGH,CRITICAL" scan quay.io/keycloak/keycloak # 使用别名快速扫描
默认情况下,Trivy同时启用漏洞扫描和秘密扫描。若需加速扫描(如已知无需检测秘密),可通过--scanners vuln仅启用漏洞扫描:
bashdocker run -ti --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/.cache:/root/.cache \ alpine/trivy image --scanners vuln demo # 仅扫描漏洞,禁用秘密扫描
以下为通过docker-compose集成Trivy扫描的示例(扫描指定镜像并输出结果到文件):
yaml# docker-compose.yml version: '3' services: trivy-scan: image: alpine/trivy volumes: - /var/run/docker.sock:/var/run/docker.sock - ~/.cache:/root/.cache - ./scan-results:/results # 挂载目录用于保存扫描结果 command: image --severity HIGH,CRITICAL --output /results/report.txt demo # 输出结果到文件
执行扫描:
bashdocker-compose up
扫描结果将保存至./scan-results/report.txt。
| 参数 | 说明 | 示例 |
|---|---|---|
--severity | 指定漏洞严重级别,多级别用逗号分隔(CRITICAL,HIGH,MEDIUM,LOW,UNKNOWN) | --severity HIGH,CRITICAL |
--scanners | 指定扫描类型,vuln(漏洞)、secret(秘密),默认两者均启用 | --scanners vuln |
--output | 将扫描结果输出到指定文件 | --output /results/report.txt |
--image-ref | 待扫描的镜像名称或地址(本地或远程) | demo 或 quay.io/keycloak/keycloak |
~/.cache:/root/.cache可缓存Trivy的漏洞数据库(默认路径/root/.cache/trivy),避免每次扫描重复下载,显著提升效率。/var/run/docker.sock有读写权限,否则Trivy无法访问Docker守护进程。alpine/trivy镜像需定期更新,以获取Trivy工具及漏洞数据库的最新版本。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务