Chayesh/cloud-iam-analyzer

GitHub: Chayesh/cloud-iam-analyzer

一款模块化的 AWS IAM 权限提升分析器,通过策略解析、提权检测、攻击图生成和 Terraform 扫描来自动化云身份安全管理。

Stars: 0 | Forks: 0

# ☁️ Cloud IAM 权限提升分析器 ![Python](https://img.shields.io/badge/Python-3.13-blue) ![FastAPI](https://img.shields.io/badge/FastAPI-REST_API-009688) ![Docker](https://img.shields.io/badge/Docker-Containerized-2496ED) ![AWS](https://img.shields.io/badge/AWS-IAM-orange) ![License](https://img.shields.io/badge/License-MIT-green) 一款模块化的云安全工具,通过检测权限提升路径、生成攻击图、扫描 Terraform IAM 策略,并通过 FastAPI 暴露 REST API,实现 AWS IAM 安全分析的自动化。 ## 概述 配置不当的 AWS IAM 权限是导致云权限提升的最常见原因之一。 本项目通过以下方式实现 IAM 安全分析的自动化: - 枚举 AWS IAM 用户及其附加的策略 - 解析 IAM 策略文档 - 检测权限提升技术 - 生成攻击图 - 计算身份风险评分 - 推荐修复步骤 - 扫描 Terraform IAM 配置 本项目采用模块化架构,将数据收集、策略解析、检测逻辑、报告生成和 API 服务分离开来。 ## 功能特性 ### AWS IAM 分析 - 枚举 IAM 用户 - 枚举附加的策略 - 解析 IAM 策略文档 - 提取有效权限 ### 权限提升检测 - CreateRole → AttachRolePolicy → AssumeRole - PassRole + EC2 Launch - Lambda + PassRole - Policy Version Overwrite - AttachUserPolicy Escalation ### 可视化 - 攻击图生成 - 权限提升链 ### 基础设施即代码 - Terraform IAM 扫描器 ### REST API - FastAPI - Swagger UI - JSON 响应 ### 工程化 - Docker 支持 - GitHub Actions CI - 单元测试 - 结构化日志 +----------------------+ | FastAPI API | +----------+-----------+ | | ScanService | +--------------------+--------------------+ | | AWSCollector TerraformScanner | | +--------------------+--------------------+ | Policy Parser | | Escalation Detector | +---------+---------+---------+ | | | | CreateRole PassRole Lambda Policy Rules | Risk Engine | Recommendations | +-------------+-------------+ | | CLI Output Attack Graph ## 检测规则 | 规则 | 严重程度 | |------|----------| | CreateRole + AttachRolePolicy + AssumeRole | 严重 | | PassRole + EC2 RunInstances | 严重 | | Lambda + PassRole | 高 | | Policy Version Overwrite | 高 | | AttachUserPolicy | 严重 | ## 技术栈 | 分类 | 技术 | |----------|------------| | 语言 | Python | | 云 SDK | Boto3 | | API | FastAPI | | 可视化 | NetworkX | | IaC | Terraform | | 测试 | pytest | | CI | GitHub Actions | | 容器化 | Docker | ## 安装说明 ``` git clone https://github.com/Chayesh/cloud-iam-analyzer.git cd cloud-iam-analyzer python -m venv venv source venv/bin/activate pip install -r requirements.txt ``` ## 运行方式 ### CLI ``` python iam_analyzer.py --scan ``` 生成攻击图 ``` python iam_analyzer.py --graph ``` 扫描 Terraform ``` python iam_analyzer.py --iac terraform_test/ ``` ## REST API 启动 API ``` uvicorn api.app:app --reload ``` Swagger UI ``` http://127.0.0.1:8000/docs ``` 可用端点 | 方法 | 端点 | 描述 | |---------|----------|-------------| | GET | / | API 状态 | | GET | /health | 健康检查 | | POST | /scan | 运行 IAM 扫描 | ## Docker ``` docker compose build docker compose up ``` Swagger ``` http://localhost:8000/docs ``` collector/ parser/ detection/ graph/ visualization/ api/ tests/ app/ 用户:iam-analyzer 严重程度:严重 攻击链 CreateRole ↓ AttachRolePolicy ↓ AssumeRole ↓ AdministratorAccess ## 路线图 - [x] IAM 枚举 - [x] 权限提升检测 - [x] 攻击图 - [x] Terraform 扫描器 - [x] FastAPI - [x] Docker - [x] 单元测试 - [x] GitHub Actions - [ ] HTML 报告 - [ ] PDF 报告 - [ ] CSV 导出 ## 未来改进 - 多账户 AWS 支持 - AWS Organizations 支持 - IAM 关系图 - 最小权限建议 - 历史扫描比较 - 策略对比 ## 许可证 基于 MIT License 发布。
标签:AV绕过, AWS IAM, ECS, FastAPI, Terraform, 协议分析, 安全规则引擎, 对称加密, 攻击图分析, 权限提升, 特权检测, 网络测绘, 自动化审计, 请求拦截, 逆向工具