安全扫描工具通过静态配置分析(如trivy检测cap-add=all)、运行时校验(docker inspect+capsh)及cve上下文关联,实现对capabilities滥用的多层检测。
安全扫描工具本身不直接检测运行时的 capabilities 配置是否被滥用,但能识别出镜像或容器配置中高风险的能力设置、特权模式启用、非 root 用户缺失等关键线索——这些正是特权滥用漏洞的前置条件。真正有效的检测,是把静态配置分析 + 运行时策略校验 + 漏洞上下文关联起来。
Trivy 支持配置扫描(Config Scan)识别危险能力声明
从 v0.38 起,Trivy 增加了对 Dockerfile 和 docker-compose.yml 的配置扫描能力,可主动发现不安全的能力配置:
- 检测 --cap-add=ALL、--privileged、--cap-add=SYS_ADMIN 等明确高危参数
- 识别未声明 USER 指令或显式使用 USER root 的 Dockerfile
- 发现挂载宿主机敏感路径(如 /proc、/sys、/dev)的 volume 配置
- 命令示例:trivy config --severity HIGH,CRITICAL ./docker-compose.yml
Clair 和 Anchore Engine 可结合策略引擎做深度合规检查
这类工具支持自定义策略(Policy-as-Code),适合在 CI/CD 中拦截违规配置:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 设定规则:禁止任何含 SYS_MODULE、DAC_READ_SEARCH、NET_ADMIN 的 cap_add 声明
- 要求所有镜像必须包含 USER 指令且不能为 root
- 拒绝通过 --security-opt seccomp=unconfined 或禁用 AppArmor 的启动方式
- 输出结果不仅标红,还会引用 CIS Docker Benchmark 条款编号(如 5.25、5.26)
运行时检测需配合 docker inspect + 安全基线比对
扫描工具无法直接看到容器启动后的实际 capabilities,但可通过以下组合验证:
- 执行 docker inspect
,检查 HostConfig.CapAdd、CapDrop、Privileged 字段 - 进入容器执行 capsh --print,确认当前进程实际拥有的 capabilities
- 比对结果是否符合预设基线(例如:默认应 cap-drop=ALL,仅按需 cap-add=NET_BIND_SERVICE)
- 自动化脚本可集成进巡检任务,定期导出所有容器的 capability 状态报表
关联 CVE 上下文提升风险判定准确率
单纯看到 CAP_SYS_PTRACE 不一定代表已逃逸,但若同时满足以下条件,风险等级跃升:
- 镜像中存在已知可利用漏洞(如 CVE-2019-5736 runc 提权)
- 容器以非只读方式挂载了 /proc 或 /sys/fs/cgroup
- 基础镜像使用旧版内核头文件(如 linux-headers-5.4.0-xx)
- Trivy 在扫描时会将 capabilities 配置与 CVE 影响范围交叉匹配,在报告中标注“该能力可能加剧 CVE-XXXX-XXXX 利用”










