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 ``` ## 截图 ### 主页控制台面板 ![主页控制台面板](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/7180bb13e1014333.png) ### Findings Explorer ![Findings Explorer](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/d2962b0e41014339.png) ### 报告部分 ![报告部分](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/cb942898e5014345.png) ### HTML 报告 ![HTML 报告](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c413597f6f014351.png) ## 安全提示 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, 安全态势管理, 自定义脚本, 逆向工具