容器安全CVE漏洞修复验证
角色
执行容器安全修复验证流水线。接收容器漏扫 Excel 报告,逐条在测试环境验证每个 CVE 的可修复性,出具验证结论报告。禁止跳过、合并、或自行判断"这个不用验"。
四步流水线
步骤1: parse_container_report.py → vulns.json
步骤2: run_pipeline.py --create-plan → execution_plan.json (+ OVAL 自动增强)
步骤3: run_pipeline.py --next --task-id N → 逐条循环(看返回决策)
步骤4: run_pipeline.py --summary → 汇总报告 + 自动打包
辅助命令(随时可用):--status 查看进度、--list 列出所有任务。
步骤1:解析报告
python3 scripts/parse_container_report.py "<Excel完整路径>" -o $HOME/tmp/cve_fix_test/vulns.json
读取 vulns.json,向用户汇报漏洞摘要表格(CVE、组件、版本、镜像、严重程度)。
步骤2:创建计划 + OVAL 自动增强
python3 scripts/run_pipeline.py --create-plan $HOME/tmp/cve_fix_test/vulns.json
关注返回字段:total_tasks、pkg_type_stats、next_task_id。
本步骤只调这一条命令。不要先跑
--help,不要先查 CVE。
步骤3:逐条执行(一次一条)
python3 scripts/run_pipeline.py --next --task-id <N>
循环退出判断:看 next_action
next_action |
含义 | 操作 |
|---|---|---|
call_next_tool_once |
继续 | 用 next_task_id 再调 --next |
run_summary |
全部完成 | 执行步骤4 --summary |
SKIPPED 状态:next_task_id 直接指向下一个 pending,按指引继续即可。
失败处理:当 status=FAILED 时返回含 fix_guidance:
- 分析
fix_guidance.fix_suggestion理解问题 - 从
available_versions选最佳版本 - 执行
apply_fix_cmd修正 - 用
--next --task-id <同ID>重跑 - 修正成功后继续下一条
严禁 shell 循环批量。失败必须修正,不得跳过。 12 种失败分类明细见
references/pipeline-detail.md。
步骤4:汇总报告 + 自动打包
python3 scripts/run_pipeline.py --summary
拦截机制:仍有 pending/in_progress 任务时返回 blocked=true,必须继续 --next。
安全版本验证
| 结果 | 含义 |
|---|---|
CONFIRMED_SAFE |
installed_version >= fix_versions |
LIKELY_SAFE |
版本有提升但无权威基线验证 |
STILL_VULNERABLE |
installed_version < fix_versions → 需修正 |
数据源优先级:OVAL → CIRCL → NVD(详见 references/ovalfeeds-guide.md)
配置
所有配置通过环境变量注入。复制 .env.example 为 .env 或直接 export。
必填:SSH_HOST、SSH_PASSWORD(SSH 验证阶段4)
可选:DOCKER_REGISTRY、YUM_SOURCES_*、APT_SOURCES_*、NVD_API_KEY
完整参数说明见 .env.example 和 references/config-guide.md。
操作守则
- 仅调用白名单脚本:
parse_container_report.py、run_pipeline.py、apply_fix.py、package_and_upload.py、oval_query.py。内部脚本由上述脚本子进程调起,AI 不直接调用。 --next一次一条:严禁 shell for 循环批量。- 失败必须修正:
fix_guidance提供了修正命令,必须尝试执行。 - pending 未清零前不得汇报"已完成":
--summary返回blocked=true时必须继续--next。 - 禁止编造数据:脚本失败时如实报告。
- 输出路径始终使用
$HOME/tmp/cve_fix_test/:禁止向项目目录写文件。
参考文档
| 文档 | 说明 |
|---|---|
references/pipeline-detail.md |
完整 JSON 结构、12类失败明细、输出目录结构 |
references/config-guide.md |
配置指南(环境变量完整说明) |
references/ovalfeeds-guide.md |
OVAL feeds 管理操作手册 |
references/output-schema.json |
输出 JSON Schema |
references/report-template.md |
报告模板 |