EHArviv/cloud-security-misconfiguration-checker
GitHub: EHArviv/cloud-security-misconfiguration-checker
一款基于 Python 的云安全错误配置检查器,通过分析 AWS 风格的 JSON 配置文件检测公开访问、薄弱策略和缺失加密等云安全风险并生成多格式报告。
Stars: 0 | Forks: 0
# 云安全错误配置检查器
一个 Python 云安全错误配置检查器,用于分析演示用的 AWS 风格 JSON 配置文件,检测公开访问、薄弱的 IAM 策略、缺失加密、缺失日志记录以及暴露的服务。
本项目专为 Security Engineer、Cloud Security、DevSecOps、SOC 和安全自动化作品集工作流而设计。
## 安全提示
此工具不会连接到真实的云账户。
它仅分析本地的演示 JSON 文件。
请勿提交真实的云账户 ID、ARN、bucket 名称、IAM 策略、secrets、access keys、客户数据或生产环境配置文件。
## 功能
* 分析 AWS 风格的 S3 bucket 配置
* 分析 AWS 风格的 security group 配置
* 分析 AWS 风格的 IAM 策略配置
* 分析 AWS 风格的 RDS/数据库配置
* 检测公开的 S3 bucket 访问
* 检测缺失的加密
* 检测缺失的日志记录
* 检测已禁用的版本控制
* 检测对 0.0.0.0/0 开放的 security group
* 检测有风险的暴露端口
* 检测通配符 IAM 权限
* 检测公开的数据库暴露
* 生成 CSV 报告
* 生成 TXT 摘要
* 生成 JSON 报告
* 生成 findings.json
* 生成 events.ndjson
* 生成 HTML 报告
* 包含干净的示例输出
* 包含单元测试
* 包含 GitHub Actions 工作流
## 项目结构
```
cloud-security-misconfiguration-checker/
├── .github/
│ └── workflows/
│ └── python-check.yml
├── docs/
│ ├── cloud-checks.md
│ └── project-notes.md
├── reports/
│ └── .gitkeep
├── sample_configs/
│ ├── aws_iam_policy.json
│ ├── aws_rds_instance.json
│ ├── aws_s3_bucket.json
│ └── aws_security_group.json
├── sample_outputs/
│ ├── cloud_misconfiguration_report_example.csv
│ ├── cloud_misconfiguration_report_example.html
│ ├── cloud_misconfiguration_report_example.json
│ ├── cloud_misconfiguration_summary_example.txt
│ ├── events_example.ndjson
│ └── findings_example.json
├── src/
│ └── cloud_config_checker.py
├── tests/
│ └── test_detection_logic.py
├── README.md
├── requirements.txt
└── .gitignore
```
## 用法
针对演示配置文件运行检查器:
```
python src/cloud_config_checker.py --input sample_configs --output reports --format all
```
仅生成 HTML:
```
python src/cloud_config_checker.py --input sample_configs --output reports --format html
```
仅生成 JSON:
```
python src/cloud_config_checker.py --input sample_configs --output reports --format json
```
## 示例配置
本项目在 `sample_configs` 文件夹中包含了演示用的 AWS 风格配置文件。
这些文件是安全的,特意不包含真实的 AWS 账户 ID、ARN、access keys、secrets 或生产环境数据。
包含的演示配置:
* aws_s3_bucket.json
* aws_security_group.json
* aws_iam_policy.json
* aws_rds_instance.json
## 生成的报告
该工具会在 `reports` 文件夹中本地生成报告:
* cloud_misconfiguration_report.csv
* cloud_misconfiguration_summary.txt
* cloud_misconfiguration_report.json
* findings.json
* events.ndjson
* cloud_misconfiguration_report.html
生成的报告文件会被 Git 忽略,不应被提交。
## 示例输出
`sample_outputs` 文件夹包含干净的演示报告示例,可以安全地发布在 GitHub 上。
包含的示例输出:
* cloud_misconfiguration_report_example.csv
* cloud_misconfiguration_report_example.html
* cloud_misconfiguration_report_example.json
* cloud_misconfiguration_summary_example.txt
* events_example.ndjson
* findings_example.json
这些文件展示了该工具可以生成的内容,而不会暴露真实的云数据。
## 检测逻辑
### S3 Bucket 错误配置
该工具会检查:
* 是否启用了公开访问
* 是否禁用了加密
* 是否禁用了日志记录
* 是否禁用了版本控制
### Security Group 错误配置
该工具会检查:
* 是否允许来自 0.0.0.0/0 的入站访问
* 是否公开暴露了有风险的端口,例如 SSH、Telnet、SMB、RDP、数据库端口和 Redis
### IAM 策略错误配置
该工具会检查:
* 通配符操作
* 通配符资源
* 完全管理访问权限
### RDS / 数据库错误配置
该工具会检查:
* 是否启用了公开可访问性
* 是否禁用了加密
* 是否禁用了备份
* 是否禁用了删除保护
## 风险评分逻辑
| 严重程度 | 分数 |
| -------- | ------ |
| Critical | 15 |
| High | 10 |
| Medium | 5 |
| Low | 2 |
| Info | 0 |
风险等级:
| 分数 | 风险等级 |
| ----- | ---------- |
| 30+ | Critical |
| 20-29 | High |
| 10-19 | Medium |
| 1-9 | Low |
| 0 | Info |
## 输出格式
### CSV
用于基于电子表格的审查、过滤、排序和报告。
### TXT
用于快速生成人类可读的摘要。
### JSON
用于自动化、仪表板、API 和结构化报告。
### findings.json
用于安全发现工作流。
### events.ndjson
用于 SIEM 风格的摄取和日志 pipeline 工作流。
### HTML
用于可在浏览器中打开的可读报告。
## GitHub Actions
本项目包含一个 GitHub Actions 工作流,它会在每次 push 和 pull request 时运行自动化检查。
该工作流:
* 检查 Python 语法
* 运行单元测试
* 运行云配置检查器
* 验证报告是否可以成功生成
工作流文件:
```
.github/workflows/python-check.yml
```
## 依赖要求
无需任何外部依赖。
本项目仅使用 Python 标准库模块。
## 运行测试
```
python -m unittest discover -s tests
```
## 隐私
所有示例配置文件均使用演示安全的名称。
此代码库不应包含:
* 真实的云账户 ID
* 真实的 ARN
* 真实的 bucket 名称
* 真实的 IAM 策略
* 真实的 access keys
* 真实的 secrets
* 真实的客户数据
* 真实的生产环境配置文件
## 展现的技能
* Python 自动化
* 云安全基础
* 错误配置检测
* IAM 策略审查
* 公开访问审查
* Security group 暴露分析
* 加密和日志检查
* 安全报告
* 风险评分
* CSV 报告生成
* TXT 摘要生成
* JSON 报告生成
* NDJSON 事件生成
* HTML 报告生成
* 单元测试
* GitHub Actions
* DevSecOps 风格工作流
* Security Engineer 工作流
## 简历描述示例
构建了一个 Python 云安全错误配置检查器,用于分析演示用的 AWS 风格 JSON 配置文件,检测公开访问、薄弱的 IAM 策略、缺失加密、缺失日志记录、暴露的服务以及公开的数据库,并生成 CSV/TXT/JSON/NDJSON/HTML 报告,同时附带单元测试和 GitHub Actions。
标签:AWS, DevSecOps, DPI, Python, 上游代理, 云安全监控, 安全合规, 无后门, 漏洞利用检测, 网络代理, 逆向工具, 静态分析