momonigithub/iac-compliance-scanner
GitHub: momonigithub/iac-compliance-scanner
这是一个基于Checkov和tfsec的自动化基础设施即代码安全审计平台,通过可视化仪表板帮助跟踪云合规状态。
Stars: 0 | Forks: 0
## 🌟 概述
**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, 上游代理, 云安全合规, 交互式界面, 历史合规跟踪, 双引擎扫描, 合规性管理, 后端开发, 安全扫描平台, 无后门, 沙盒环境, 液态玻璃仪表板, 逆向工具, 错误基检测, 静态代码分析