Releaserun/releaserun-dockerfile-linter
GitHub: Releaserun/releaserun-dockerfile-linter
一款免费的浏览器端 Dockerfile 安全检查工具,内置 18 条规则并给出 A-F 评级,无需注册、数据不出设备。
Stars: 0 | Forks: 0
# ReleaseRun Dockerfile Linter
免费的客户端 Dockerfile 安全 Linter。粘贴你的 Dockerfile,即可获得 A-F 评级以及每一项违规的详细解析。
**立即体验:** [releaserun.com/tools/dockerfile-linter/](https://releaserun.com/tools/dockerfile-linter/)
无需注册,无需上传,完全在浏览器中运行。
## 检查内容
涵盖 4 大类别的 18 条规则。
### 安全(8 条规则)
| ID | 严重程度 | 标记内容 |
|----|----------|---------------|
| SEC-001 | Critical | 缺少 `USER` 指令 — 容器以 root 身份运行 |
| SEC-002 | High | 缺少 `HEALTHCHECK` |
| SEC-003 | Critical | `ENV` 中包含硬编码的凭证(密码、API keys、tokens) |
| SEC-004 | Medium | 使用 `ADD` 而非 `COPY` — 允许 tar 提取和远程 URL 获取 |
| SEC-005 | Critical | `curl \| bash` 或 `wget \| sh` — 存在远程代码执行风险 |
| SEC-006 | High | 凭证相关文件被复制到镜像中 |
| SEC-007 | High | 基础镜像使用 `latest` 标签 — 构建结果不确定 |
| SEC-008 | Low | 特权容器相关提示 |
### 最佳实践(5 条规则)
| ID | 严重程度 | 标记内容 |
|----|----------|---------------|
| BP-001 | Medium | 多个独立的 `RUN` 命令(不必要的层) |
| BP-002 | Low | 在安装依赖之前 `COPY . .` — 任何文件更改都会导致缓存失效 |
| BP-003 | Low | 缺少 `.dockerignore` 相关提示 |
| BP-004 | Medium | 可以使用 `COPY` 的地方使用了 `ADD` |
| BP-005 | Low | 存在 `-slim` 变体时仍使用完整基础镜像 |
### 性能(3 条规则)
| ID | 严重程度 | 标记内容 |
|----|----------|---------------|
| PF-001 | Medium | Dockerfile 中执行 `apt-get upgrade`(不确定性) |
| PF-002 | Medium | `apk add` 未使用 `--no-cache` |
| PF-003 | Low | 安装后未清理 Package manager 缓存 |
### 可维护性(2 条规则)
| ID | 严重程度 | 标记内容 |
|----|----------|---------------|
| MAINT-001 | Low | 缺少 `LABEL` 元数据 |
| MAINT-002 | Low | 缺少 `EXPOSE` 指令 |
## 评分
违规项会被加权计算。Critical 影响最大,Low 几乎不影响分数。
| 评级 | 分值 | 含义 |
|-------|--------|----------------|
| A | 0 | 干净 |
| B | 1-20 | 轻微问题 |
| C | 21-40 | 中等问题 |
| D | 41-70 | 严重问题 |
| F | 71+ | 上线前必须修复 |
权重分值:Critical = 40,High = 20,Medium = 10,Low = 5。
## 示例
一个典型的“快速而粗糙”的 Dockerfile:
```
FROM node:latest
ADD . /app
RUN npm install
CMD ["node", "server.js"]
```
违规项:SEC-007(latest 标签)、SEC-004(ADD)、BP-002(安装前复制)、BP-001(RUN 层未链接)、SEC-001(无 USER)、SEC-002(无 HEALTHCHECK)。
这是 D 或 F 级别的水平。Linter 会准确告诉你该修复什么以及原因。
## 开始使用
在线访问:[releaserun.com/tools/dockerfile-linter/](https://releaserun.com/tools/dockerfile-linter/)
该工具在浏览器中运行,数据不会离开你的设备。粘贴、评分、修复。
## 规则参考
请参阅 [RULES.md](./RULES.md) 获取完整的规则定义、严重程度权重和评分逻辑。
想要建议一条规则?请提交 issue。
## ReleaseRun 的一部分
ReleaseRun 追踪 300 多种技术的软件 EOL 日期、CVE 和版本健康状况。为开发者提供免费工具,访问 [releaserun.com/tools/](https://releaserun.com/tools/)。
标签:ATTACK-Python-Client, CIS Benchmark, DevSecOps, DNS 反向解析, Docker, Dockerfile, SOC Prime, StruQ, Web安全, Web截图, 上游代理, 云安全监控, 免费工具, 关系图谱, 前端工具, 后端开发, 基线检查, 安全防御评估, 客户端, 容器安全, 开发工具, 性能优化, 数据可视化, 无需注册, 最佳实践, 检测绕过, 浏览器端, 网络安全审计, 蓝队分析, 运维工具, 镜像优化, 静态分析