sanyasachdeva1/cloudguard-automator

GitHub: sanyasachdeva1/cloudguard-automator

一款 AWS 云安全态势扫描工具,用于检测 IAM、S3、CloudTrail 和安全组配置错误并生成风险评分与修复计划。

Stars: 0 | Forks: 0

# CloudGuard Automator [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/sanyasachdeva1/cloudguard-automator/actions/workflows/ci.yml) ![Python 3.8+](https://img.shields.io/badge/Python-3.8%2B-blue) ![安全脚本](https://img.shields.io/badge/Security-Script-brightgreen) ![许可证: MIT](https://img.shields.io/badge/License-MIT-yellow.svg) AWS 云安全态势扫描器,可检测常见的 IAM、S3、CloudTrail 和 EC2 安全组配置错误。 它可以在演示模式下运行,也可以针对 AWS 凭证运行,分配严重程度,生成 JSON/Markdown/HTML 报告,并生成模拟运行的修复计划。 ## 为什么这个项目很重要 云环境经常因为可预见的配置错误而导致问题:公开的存储、薄弱的 IAM 控制、缺失的日志记录以及暴露的网络服务。 这个项目将这些风险转化为可重复的安全检查,可以在本地运行、在演示模式下运行,或者作为 CI/安全工作流的一部分运行。 ## 检查内容 | 领域 | 检查项 | |---|---| | IAM | MFA、密码策略、过期的访问密钥、管理员权限附加、通配符策略 | | S3 | 公开的 ACL/策略、缺失的加密、缺失的版本控制、访问日志、Block Public Access | | CloudTrail | 启用日志记录、多区域跟踪、日志验证、KMS 加密、管理事件 | | EC2 安全组 | 公开的管理端口、数据库暴露、所有流量规则、IPv6 暴露、宽泛的端口范围 | | 报告 | JSON、Markdown、HTML、风险评分、严重程度摘要 | | 修复 | 模拟运行的 AWS CLI/手动修复指南 | ## 架构 ``` flowchart LR CLI["CLI commands"] --> Scanner["Scan orchestrator"] Scanner --> IAM["IAM checks"] Scanner --> S3["S3 checks"] Scanner --> CT["CloudTrail checks"] Scanner --> EC2["Security group checks"] IAM --> Findings["Normalized findings"] S3 --> Findings CT --> Findings EC2 --> Findings Findings --> Risk["Risk scoring"] Findings --> Reports["JSON / Markdown / HTML reports"] Findings --> Remediation["Dry-run remediation plan"] Lab["Terraform vulnerable lab"] --> Scanner ``` ## 独特之处 这并不能替代 Prowler、ScoutSuite、CloudSplaining 或 AWS Security Hub。 它是一个专注的、达到作品集级别的实现,展示了 CSPM 风格的自动化是如何端到端运作的: - 存在漏洞的 Terraform 实验环境 - Python 扫描器 - 标准化的发现结果 - 风险评分 - 控制映射 - HTML/Markdown 报告 - 模拟运行的修复计划 ## 简历相关性 这个项目展示了对以下方面的实际操作经验: - AWS 云安全态势管理 - IAM、S3、CloudTrail 和网络暴露检查 - 使用 boto3 进行 Python 安全自动化 - 风险评分和修复计划 - 基于 Terraform 的漏洞实验环境设计 - pytest 和 GitHub Actions CI ## 演示预览 项目包含了示例输出,因此无需 AWS 凭证即可查看项目: ![CloudGuard Automator 报告预览](https://static.pigsec.cn/wp-content/uploads/repos/cas/47/479b4e0922c2bd23f5331466bd8cd1da52e1926352479fa9fd8352518ea0850a.svg) - [Markdown 报告示例](reports/sample_report.md) - [HTML 报告示例](reports/sample_report.html) ``` Risk score: 55/100 Risk level: medium Critical: 1 High: 2 ``` ## 风险评分 发现结果会根据严重程度进行评分,从而生成一个简单的账户级别的风险摘要。严重、高、中、低级别的发现结果将贡献加权分数,最高封顶为 100 分,最终得分将被划分为信息、低、中、高或严重风险级别。 评分逻辑位于 [cloudguard_automator/risk.py](cloudguard_automator/risk.py)。 ## 控制映射 CloudGuard Automator 包含轻量级的控制映射和 AWS 权限指南: - [控制映射](docs/control_mapping.md) - [扫描器使用的 AWS 权限](docs/aws_permissions.md) - [实时扫描验证清单](docs/live_scan_validation.md) ## 测试 ``` pip install -e ".[dev]" pytest ``` 测试套件用于验证发现结果生成、风险评分、报告渲染、Terraform 实验环境配置以及修复计划输出。 ## 未来改进 - Security Hub 和 AWS Config 风格的合规性映射 - 扩展 CIS AWS Foundations Benchmark 覆盖范围 - 更多服务:KMS、EBS、Lambda 和 RDS - GitHub Actions 定时扫描示例 - 针对选定修复项的可选应用模式 ## 快速开始 ``` python -m venv .venv source .venv/bin/activate pip install -e . ``` 运行演示模式: ``` cloudguard scan --demo --format markdown --output reports/demo_report.md cloudguard scan --demo --format html --output reports/demo_report.html ``` 针对您环境中配置的 AWS 凭证运行: ``` cloudguard scan --profile default --regions us-east-1 ap-south-1 --format json ``` 生成模拟运行的修复计划: ``` cloudguard remediate --demo --dry-run --format markdown --output reports/demo_remediation.md ``` 在沙盒账户中运行存在漏洞的 AWS 实验环境: ``` cd terraform/lab terraform init terraform apply ``` 然后从仓库根目录对其进行扫描: ``` cloudguard scan --profile default --regions us-east-1 --format markdown --output reports/lab_scan.md cloudguard remediate --profile default --regions us-east-1 --dry-run --format markdown --output reports/lab_remediation.md ``` ## 发现结果示例 ``` HIGH: S3 bucket "company-backups" does not block public access. Risk: Publicly exposed storage can leak sensitive files or backups. Remediation: Enable S3 Block Public Access at the bucket or account level. ``` ## 安全性 本项目最初是一个只读扫描器。修复功能将在明确的模拟运行/应用标志的控制下添加,以确保所有更改都是经过深思熟虑且可审计的。 ## 许可证 本项目基于 [MIT 许可证](LICENSE) 授权。
标签:AWS, DPI, Python, 安全规则引擎, 无后门, 网络调试, 自动化, 逆向工具