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, 上游代理, 云安全监控, 安全合规, 无后门, 漏洞利用检测, 网络代理, 逆向工具, 静态分析