momonigithub/iac-compliance-scanner

GitHub: momonigithub/iac-compliance-scanner

这是一个基于Checkov和tfsec的自动化基础设施即代码安全审计平台,通过可视化仪表板帮助跟踪云合规状态。

Stars: 0 | Forks: 0

🛡️ IaC 合规扫描平台

高级基础设施即代码安全审计与可视化平台

一个用于扫描、聚合和可视化云安全态势的高保真 DevSecOps 平台。

Next.js FastAPI Python Terraform License

🚀 快速开始✨ 功能⚙️ 架构📖 自定义规则

## 🌟 概述 **IaC 合规扫描平台**是一款专业的安全工具,它协调多个扫描引擎(**Checkov** 和 **tfsec**)来保护您的云基础设施。它拥有令人惊叹的**液态玻璃**交互式仪表板、实时 3D 基础设施可视化,以及一个安全的、基于 **Monaco 的沙盒**环境,用于即时测试代码。 | 组件 | 技术 | 角色 | | :--- | :--- | :--- | | 🎨 **前端** | Next.js 15 + R3F | 高保真 3D 交互式用户界面 | | ⚡ **后端** | FastAPI | 高性能分析与调度 | | 🧠 **引擎** | Checkov + tfsec | 双引擎 SAST 覆盖 | | 🗄️ **存储** | SQLite | 历史趋势与合规性跟踪 | | 🧪 **沙盒** | Monaco Editor | 隔离的用户输入分析环境 | ## ✨ 核心功能 * ✅ **双引擎 SAST** - 同时使用 Checkov 和 tfsec 进行扫描,实现最大检测覆盖。 * ✅ **交互式 3D 网格** - 通过 WebGL 实时可视化基础设施漏洞。 * ✅ **液态玻璃用户界面** - 受 `oryzo.ai` 启发的高级、现代美学设计。 * ✅ **安全沙盒** - 直接将 Terraform 代码粘贴到基于 Monaco 的 IDE 中,进行即时评估。 * ✅ **历史趋势** - 通过本地数据库持久化,跟踪您的合规分数随时间的变化。 * ✅ **自定义 Python 策略** - 通过添加特定业务安全逻辑来扩展平台。 ## ⚙️ 系统架构 ``` graph TD User[User / Developer] -->|Paste Code| Sandbox[Monaco Sandbox] User -->|View Report| Dashboard[Next.js Dashboard] subgraph "Frontend (Next.js 15)" Dashboard Sandbox Mesh[3D Infrastructure Mesh] end Dashboard <-->|REST API| API[FastAPI Backend] Sandbox -->|POST /api/scan/custom| API subgraph "Backend Core" API -->|Orchestrate| Core[Scan Core] Core -->|Parse| AST[Checkov AST] Core -->|Scan| TFSEC[tfsec Rego] Core -->|Evaluate| Custom[Custom Python Rules] end API -->|Query| DB[(SQLite History DB)] ``` ## 🚀 快速开始(“新手”指南) ### 1. 前置条件 * **Python:** 安装 [Python 3.11+](https://www.python.org/downloads/)。 * **Node.js:** 安装 [Node.js 20+](https://nodejs.org/)。 * **tfsec:** 下载 [tfsec 二进制文件](https://github.com/aquasecurity/tfsec/releases) 并将其放置在根目录下,命名为 `tfsec.exe`。 ### 2. 安装与设置 ``` # 克隆仓库 git clone https://github.com/momonigithub/iac-compliance-scanner.git cd iac-compliance-scanner # 安装 Backend 依赖项 pip install -r requirements.txt # 安装 Frontend 依赖项 cd frontend npm install --legacy-peer-deps ``` ### 3. 启动平台 打开两个终端窗口: **终端 1 (后端):** ``` python -m uvicorn api.main:app --host 0.0.0.0 --port 8002 ``` **终端 2 (前端):** ``` cd frontend npm run dev ``` ### 4. 使用方法 访问仪表板:[**http://localhost:3000**](http://localhost:3000)。 * 点击 **“运行审计”** 扫描本地仓库。 * 点击 **“扫描自定义代码”** 打开 Monaco 沙盒。 * 点击 **“完整报告”** 查看交互式合规概览。 ## 🛠️ 自定义策略 在 `policies/custom_policies/` 目录中添加 Python 规则以扩展平台: * **CKV_CUSTOM_1:** 强制性的环境/所有者标签。 * **CKV_CUSTOM_2:** 强制为 S3 启用安全传输(HTTPS)。

基于 MIT 许可证分发。

为云安全工程师用 ❤️ 打造。

标签:3D可视化, AV绕过, DevSecOps, ECS, FastAPI, IaC安全工具, Monaco编辑器, Python, SQLite, Terraform, tfsec, 上游代理, 云安全合规, 交互式界面, 历史合规跟踪, 双引擎扫描, 合规性管理, 后端开发, 安全扫描平台, 无后门, 沙盒环境, 液态玻璃仪表板, 逆向工具, 错误基检测, 静态代码分析