中风险
版本标签并不能保证基础镜像可复现
原文依据:1 处发现了什么
Skill 声称 `python:3.11-slim` 这样的版本标签能够确保可复现构建,但容器标签通常可被发布方重新指向不同镜像。这里没有要求固定不可变的镜像摘要。
为什么需要注意
同一 Dockerfile 在不同时间可能拉取不同代码和系统包;如果上游标签被错误更新或供应链遭到破坏,构建还可能执行未预期的基础镜像内容。
该指引把 `python:3.11-slim` 之类的标签描述为能够“确保”可复现构建,但此类标签不是不可变标识:发布方更新对应镜像后,相同 Dockerfile 可能获取不同内容。若用户依赖这一说法进行供应链或漏洞审计,构建结果可能在未修改 Dockerfile 时发生变化。用户可要求作者改为固定镜像摘要(digest),并说明标签仅用于版本约束。
- Start with official, minimal base images when possible- Specify exact version tags to ensure reproducible builds (e.g., `python:3.11-slim` not just `python`)- Consider distroless images for runtime stages where appropriate