Erothan-11/docker-security-scanner
GitHub: Erothan-11/docker-security-scanner
一个基于 Bash 的 Docker 容器、镜像与守护进程安全扫描工具,帮助发现配置与权限类风险。
Stars: 0 | Forks: 0
# Docker 安全扫描器



一个用于 Docker 容器、镜像和 Docker 守护进程的纯 Bash 安全扫描工具。它会检查本地 Docker 环境并以颜色编码的严重级别报告发现结果。
**作者:** Fran Rudes ([@Erothan-11](https://github.com/Erothan-11))
## 功能
### 容器检查
- 检测特权模式
- 以 root 运行的容器
- 发布的/暴露的端口
- 敏感卷挂载(`/etc`、`/var/run/docker.sock`、`/root`)
- 缺失的资源限制(内存/CPU)
- 缺失的健康检查
- 主机网络或主机 PID 模式
- 重启策略审查
### 镜像检查
- 以 root 用户运行的镜像
- 未打标签或使用 `latest` 标签
- 超大镜像(> 1 GB)
- 镜像层数分析
- 镜像配置中暴露的端口
- 可能包含密钥的环境变量(`PASSWORD`、`SECRET`、`KEY`、`TOKEN`)
### Docker 守护进程检查
- Docker 套接字文件权限
- Docker 组成员身份
- Docker 引擎版本
- 存储驱动(推荐使用 `overlay2`)
- 实时恢复状态
## 要求
- Bash 4+
- 已安装并连接到运行中守护进程的 Docker CLI(`docker`)
## 安装
```
git clone https://github.com/Erothan-11/docker-security-scanner.git
cd docker-security-scanner
chmod +x docker-scan.sh
```
## 用法
```
./docker-scan.sh [OPTIONS]
Options:
--containers Scan running containers only
--images Scan images only
--all Scan containers, images, and daemon (default)
--output FILE Write output to FILE (in addition to stdout)
-h, --help Show this help message
```
### 示例
扫描所有内容(默认):
```
./docker-scan.sh
```
仅扫描容器:
```
./docker-scan.sh --containers
```
扫描镜像并保存报告:
```
./docker-scan.sh --images --output report.txt
```
## 输出
发现结果以三个严重级别显示:
| 级别 | 含义 |
|----------|------------------------------------------------|
| `[OK]` | 检查通过,未发现问题 |
| `[WARN]` | 潜在问题,建议审查 |
| `[CRIT]` | 关键安全问题,需要采取行动 |
每次扫描结束时都会打印一个汇总,显示各级别的统计总数。
## 退出代码
| 代码 | 含义 |
|------|--------------------------|
| `0` | 所有检查通过 |
| `1` | 一个或多个警告 |
| `2` | 一个或多个关键发现 |
## 许可证
本项目根据 [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.html) 许可。
```
Copyright (c) 2025-2026 Fran Rudes (@Erothan-11)
SPDX-License-Identifier: GPL-3.0-or-later
```
标签:Cutter, Docker, Docker守护进程, GPLv3, Live Restore, Python 3.9+, SEO: Bash安全工具, SEO: Docker Security Scanner, SEO: Docker容器安全, SEO: 镜像安全扫描, Shell脚本, Web截图, 主机网络, 健康检查, 卷挂载, 套接字权限, 子域名枚举, 存储驱动, 安全扫描, 安全防御评估, 容器安全, 应用安全, 开源安全工具, 敏感信息, 时序注入, 权限检测, 环境变量, 端口暴露, 系统安全, 纯Bash, 组权限, 请求拦截, 资源限制, 逆向工程平台, 重启策略, 镜像加固