hecker1025/config-scanner
GitHub: hecker1025/config-scanner
一个轻量级 Python CLI 工具,用于检测 Docker Compose 和 Nginx 配置文件中的安全配置错误并生成多格式报告。
Stars: 0 | Forks: 0
# 配置安全扫描器
一个 Python CLI 工具,用于根据行业最佳实践扫描配置文件(Docker Compose、Kubernetes、Nginx 等)中的安全配置错误。
## 功能
- 扫描 Docker Compose 文件中的常见问题(root 用户、latest 标签、特权容器等)
- 扫描 Nginx 配置中的弱 SSL 设置、信息泄露等
- 输出 JSON、纯文本或 HTML 格式的报告
- 可扩展的设计,支持添加新的配置类型
- 无外部网络调用 - 纯粹在本地文件上运行
## 安装说明
```
git clone https://github.com/hecker1025/config-scanner.git
cd config-scanner
pip install -r requirements.txt
```
## 用法
扫描 Docker Compose 文件:
```
python -m sscanner.main docker-compose.yml
```
扫描并输出 JSON:
```
python -m sscanner.main docker-compose.yml -f json > report.json
```
扫描 Nginx 配置并保存 HTML 报告:
```
python -m sscanner.main nginx.conf -f html -o report.html
```
## 支持的文件类型
- Docker Compose (`.yaml`, `.yml`)
- Nginx 配置 (`.conf`)
- (计划中)Kubernetes 清单、AWS CloudFormation 等
## 示例输出
```
$ python -m sscanner.example docker-compose.yml
Scan results for docker-compose.yml:
[HIGH] Service 'web' runs as root user
Fix: Add a non-root user, e.g., `user: "1000:1000"`
Why: Running as root inside a container increases the impact of a container breakout.
[MEDIUM] Service 'db' uses 'latest' tag
Fix: Pin to a specific version, e.g., `image: postgres:15-alpine`
Why: Using 'latest' can lead to unexpected updates and incompatibilities.
```
## 扩展
要添加新的扫描器:
1. 在 `sscanner/scanners/` 中创建一个新模块(例如 `k8s.py`)
2. 实现一个 `scan_(file_path)` 函数,返回包含 `file` 和 `issues` 的字典
3. 更新 `main.py` 以检测并路由到新的扫描器
4. 将所有需要的依赖项添加到 `requirements.txt` 中
## 许可证
MIT
## 免责声明
此工具仅供防御性安全用途使用。请仅扫描您拥有或获得明确授权进行测试的系统。
标签:CLI, DevSecOps, Docker, Nginx, Python, WiFi技术, 上游代理, 安全防御评估, 文档结构分析, 无后门, 版权保护, 聊天机器人, 逆向工具