Suspecting/CloudSec-Auditor
GitHub: Suspecting/CloudSec-Auditor
一款基于 React 和 FastAPI 构建的 AWS 安全错误配置扫描器,在本地模拟模式下提供风险评分与多格式审计报告导出。
Stars: 0 | Forks: 0
# CloudSec Auditor
**CloudSec Auditor** 是一款本地优先的 AWS 安全错误配置扫描器,采用 **React + Vite 前端** 和 **FastAPI 后端** 构建。它能在安全的模拟模式下审计 AWS 风格的云安全态势,计算风险评分,对发现的问题进行优先级排序,并生成带有时间戳的 **JSON, HTML 和 Markdown** 报告。
该项目专为防御性云安全学习、作品集展示、面试讲解而设计,并计划在未来通过 `boto3` 扩展为真实的 AWS 只读审计工具。
## 作者
**Prakhar Shakya**
B.Tech CSE — 网络安全
Lloyd Institute of Engineering and Technology, 大诺伊达
印度德里国家首都辖区
* GitHub: [@Suspecting](https://github.com/Suspecting)
* LinkedIn: [@Prakhar Shakya](https://www.linkedin.com/in/shakyaprakhar/)
## 项目概述
CloudSec Auditor 有助于以简洁的控制台面板格式识别并展示常见的云安全错误配置。当前版本运行在**模拟模式**下,这意味着它不需要 AWS 凭证,非常适合用于演示、截图和本地测试。
它模拟了跨 IAM、S3、EC2、CloudTrail、加密和网络暴露区域的 AWS 安全检查,然后生成包含证据和修复指导的、可直接用于审计的输出结果。
## 核心功能
* 现代化的 AWS 风格安全控制台面板
* 带有结构化扫描 API 的 FastAPI 后端
* 采用优质暗色网络安全 UI 的 React 前端
* 安全的模拟扫描模式,无需 AWS 凭证
* 基于严重程度的风险评分计算
* 包含证据和修复指导的优先级问题发现
* Findings Explorer 包含:
* 严重性过滤器
* 服务过滤器
* 搜索功能
* 清除过滤器选项
* 严重性摘要卡片
* 后端健康状况和 API 版本指示器
* 带有时间戳的报告导出系统
* 支持从前端查看最新报告
* 生成 JSON、HTML 和 Markdown 报告
* 报告元数据在页面刷新后依然保留
* 用于本地设置和开发的辅助脚本
* 本地优先的安全设计
## 技术栈
### 前端
* React
* Vite
* Tailwind CSS
* Framer Motion
* Axios
* Lucide React
### 后端
* Python
* FastAPI
* Uvicorn
* Pydantic
* pathlib
* 计划在真实的 AWS 只读模式中使用 boto3
## 项目结构
```
CloudSec-Auditor/
├── backend/
│ ├── cloudsec/
│ │ ├── __init__.py
│ │ ├── cloudtrail_checks.py
│ │ ├── ec2_checks.py
│ │ ├── iam_checks.py
│ │ ├── mock_data.py
│ │ ├── report_generator.py
│ │ ├── risk_score.py
│ │ └── s3_checks.py
│ ├── main.py
│ └── requirements.txt
│
├── desktop/
│ └── frontend/
│ ├── public/
│ ├── src/
│ │ ├── App.jsx
│ │ ├── index.css
│ │ └── main.jsx
│ ├── package.json
│ └── vite.config.js
│
├── reports/
│ └── .gitkeep
│
├── screenshots/
├── scripts/
│ ├── clean_reports.sh
│ ├── run_backend.sh
│ ├── run_frontend.sh
│ ├── setup_backend.sh
│ └── setup_frontend.sh
│
├── .gitignore
└── README.md
```
## 工作原理
```
User clicks Scan
↓
React frontend calls FastAPI backend
↓
Backend returns mock AWS security findings
↓
Risk score is calculated
↓
Dashboard updates with findings
↓
Reports are generated
↓
Latest JSON, HTML, and Markdown reports become available
```
## 涵盖的安全检查
当前的模拟检查包括:
* S3 公开存储桶暴露
* S3 存储桶默认加密
* 未启用 MFA 的 IAM 用户
* IAM 访问密钥使用期
* 对 `0.0.0.0/0` 暴露的 EC2 SSH
* EBS 加密状态
* CloudTrail 审计可见性
* 通过的信息性检查
每项发现均包含:
* 服务
* 严重性
* 状态
* 资源
* 区域
* 类别
* 证据
* 修复指导
## 使用辅助脚本快速开始
CloudSec Auditor 提供了辅助脚本,以便于进行本地设置和开发。
### 后端设置
```
./scripts/setup_backend.sh
```
### 运行后端
```
./scripts/run_backend.sh
```
后端运行于:
```
http://127.0.0.1:8000
```
FastAPI 文档:
```
http://127.0.0.1:8000/docs
```
### 前端设置
打开另一个终端:
```
./scripts/setup_frontend.sh
```
### 运行前端
```
./scripts/run_frontend.sh
```
前端运行于:
```
http://localhost:5173
```
### 清理生成的报告
```
./scripts/clean_reports.sh
```
## 手动设置后端
在项目根目录打开终端:
```
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --host 127.0.0.1 --port 8000
```
后端运行于:
```
http://127.0.0.1:8000
```
FastAPI 文档:
```
http://127.0.0.1:8000/docs
```
## 手动设置前端
打开另一个终端:
```
cd desktop/frontend
npm install
npm run dev
```
前端运行于:
```
http://localhost:5173
```
## API 端点
| 端点 | 方法 | 用途 |
| ------------------------------ | -----: | ----------------------------------------------- |
| `/` | GET | 根 API 信息 |
| `/health` | GET | 基本后端健康检查 |
| `/api/status` | GET | 后端状态、版本、模式和报告计数 |
| `/api/scan/mock` | GET | 运行模拟 AWS 安全扫描 |
| `/api/reports/generate/mock` | GET | 生成 JSON, HTML 和 Markdown 报告 |
| `/api/reports/latest` | GET | 返回最新报告的元数据 |
| `/api/reports/latest/html` | GET | 打开最新的 HTML 报告 |
| `/api/reports/latest/json` | GET | 打开最新的 JSON 报告 |
| `/api/reports/latest/markdown` | GET | 打开最新的 Markdown 报告 |
## 报告生成
CloudSec Auditor 会在 `reports/` 文件夹内生成带有时间戳的报告文件。
输出示例:
```
cloudsec_report_2026-06-16_14-35-22.json
cloudsec_report_2026-06-16_14-35-22.html
cloudsec_report_2026-06-16_14-35-22.md
```
报告会被 Git 忽略以保持仓库整洁。文件夹结构通过以下方式保留:
```
reports/.gitkeep
```
## 截图
### 主页控制台面板

### Findings Explorer

### 报告部分

### HTML 报告

## 安全提示
CloudSec Auditor 目前在模拟模式下运行,不需要 AWS 凭证。
前端不会存储任何 AWS 访问密钥、机密或凭证。真实的 AWS 模式计划在未来的版本中推出,并且应仅通过本地 AWS CLI 配置使用只读 AWS 权限。
未来推荐的用于真实 AWS 模式的权限:
* SecurityAudit
* ViewOnlyAccess
* 自定义的最小权限只读策略
## 当前状态
该项目目前包含:
* React 控制台面板
* FastAPI 后端
* 模拟扫描引擎
* 风险评分
* Findings Explorer
* 报告生成
* 最新报告服务
* API 状态指示器
* 辅助脚本
* 可直接上传 GitHub 的项目结构
## 路线图
计划的改进:
* 使用 `boto3` 进行真实的 AWS 只读扫描
* AWS CLI 配置选择器
* IAM 策略分析
* S3 公开访问分析器
* EC2 安全组分析器
* CloudTrail 配置验证
* PDF 报告导出
* Electron 桌面端打包
* CI/CD 工作流
* 发布构建版本
## 免责声明
本项目专为防御性云安全审计、学习和作品集展示而构建。仅应在拥有适当授权的云账户和环境中使用。
标签:AV绕过, AWS, DPI, FastAPI, React, Syscalls, 安全态势管理, 自定义脚本, 逆向工具