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技术, 上游代理, 安全防御评估, 文档结构分析, 无后门, 版权保护, 聊天机器人, 逆向工具