ZAP Baseline 扫描是什么
OWASP ZAP 的 baseline 扫描以被动分析为主,只附加少量轻量主动规则,适合对站点做例行低影响核查:检查安全响应头、Cookie 属性、信息泄露类问题。它的定位是持续性巡检而不是深度渗透,full-scan 模式的主动探测影响面与耗时都明显更高,需要单独申请窗口与授权。使用 Docker 方式运行最省事,报告可以同时输出 HTML 供人工阅读与 JSON 供流水线解析。
基本信息
| 所属工具 | OWASP ZAP(Zed Attack Proxy) |
|---|---|
| 运行方式 | 官方 Docker 镜像 zap-baseline.py 或本地安装 |
| 关键参数 | -t 目标地址、-r HTML 报告、-J JSON 报告 |
| 定位 | 例行低影响检查,不等同于渗透测试 |
典型使用场景
- 每周对对外站点做一次低影响扫描,跟踪响应头与 Cookie 属性变化
- 在流水线中对预发布环境执行 baseline,作为上线前检查项
- 上线后对正式站点执行一次确认,验证配置与预发布一致
- 与历史报告对比,识别新引入的告警类型
- 扫描结果作为整改输入,配合人工复核过滤噪声
Docker 方式运行(官方镜像)
Docker 方式运行(官方镜像)
docker run --rm -v $(pwd):/zap/wrk:rw \
ghcr.io/zaproxy/zaproxy:stable zap-baseline.py \
-t https://example.com \
-r zap-report.html -J zap-report.json
# -t 目标地址;-r HTML 报告;-J JSON 报告
# 需要登录后才能覆盖的区域,要先规划会话保持方式
# 结果解读要结合业务语境,不要按告警数量直接排优先级常见告警与含义
| 告警项 | 含义 | 解读注意 |
|---|---|---|
| 缺少响应头 | CSP、HSTS 等未设置 | 不同系统的适配成本差异大 |
| Cookie 属性 | 缺少 Secure / HttpOnly / SameSite | 结合下发位置判断影响 |
| 信息泄露 | 注释、备份文件、版本号暴露 | 需人工复核确认可达 |
| CORS 配置 | 跨域策略过宽 | 确认是否真的允许任意来源 |
扫描目标包含登录功能时,先规划会话保持方式:否则扫描只覆盖未登录可见的范围,结论会明显偏乐观。
baseline 输出的是告警而不是结论:其中包含大量需要结合业务判断的项,直接按数量排序会导致整改方向被噪声带偏。