Chayesh/cloud-iam-analyzer
GitHub: Chayesh/cloud-iam-analyzer
一款模块化的 AWS IAM 权限提升分析器,通过策略解析、提权检测、攻击图生成和 Terraform 扫描来自动化云身份安全管理。
Stars: 0 | Forks: 0
# ☁️ Cloud IAM 权限提升分析器





一款模块化的云安全工具,通过检测权限提升路径、生成攻击图、扫描 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, 协议分析, 安全规则引擎, 对称加密, 攻击图分析, 权限提升, 特权检测, 网络测绘, 自动化审计, 请求拦截, 逆向工具