prtknk/iac-security-auditor
GitHub: prtknk/iac-security-auditor
一款基于FastAPI和React的企业级Terraform安全审计工具,可在部署前识别IaC配置中的安全漏洞并提供可视化仪表盘。
Stars: 0 | Forks: 0
# IaC 安全审计器 🛡️
一款企业级、全栈安全工具,旨在解析 **Infrastructure-as-Code (Terraform)** 配置。它能在关键安全配置错误(如公开的 S3 存储桶、开放的 SSH 端口和未加密的数据库)被部署到云端之前识别它们。
## 🚀 功能特性
- **自动扫描:** 实时分析 `.tf` 文件中的安全反模式。
- **解耦架构:** 针对高速 CI/CD 环境优化的异步 FastAPI 后端。
- **安全仪表盘:** 响应式 React 指挥中心,用于可视化漏洞严重程度。
- **持久审计追踪:** 集成 SQLite 以维护基础设施扫描的历史记录。
- **容器化且适配 CI/CD:** 完全 Docker 化,并通过 GitHub Actions 进行验证。
## 🏗️ 系统设计
本项目演示了一种现代微服务方法:
1. **Frontend:** 一个 React SPA,处理文件上传和动态状态管理。
2. **API 层:** 一个 Python FastAPI 服务,执行 CORS 策略并管理请求路由。
3. **Engine:** 一个使用 `python-hcl2` 的自定义逻辑层,用于将 HCL 转换为可搜索的 JSON 结构。
4. **数据层:** 一个持久层,记录扫描结果以供将来审计。
## 🛠️ 技术栈
- **Frontend:** React, Vite, Tailwind CSS
- **Backend:** Python 3.11, FastAPI, Pydantic
- **Parser:** python-hcl2
- **Database:** SQLite
- **DevOps:** Docker, GitHub Actions, Pytest
## 🚦 快速开始
### 前置条件
- **Docker Desktop**(确保守护进程正在运行)
- **Node.js** (v18+)
- **Python 3.11+**
### 使用 Docker 运行(推荐)
1. **构建镜像:**
docker build -t iac-auditor-api .
2. **运行容器(带卷挂载):**
docker run -d -p 8000:8000 -v $(pwd)/scans.db:/app/scans.db --name iac-scanner iac-auditor-api
### 运行 Frontend
1. **导航并安装:**
cd frontend
npm install
2. **启动开发服务器:**
npm run dev
访问:`http://localhost:5173`
## 🧪 测试
该系统通过自动化的单元测试和集成测试保持高可靠性。
```
# 运行 test suite
pytest -v
```
## 🔒 执行的安全规则
| ID | Resource | Severity | Issue Detected |
| :--- | :--- | :--- | :--- |
| **S3-001** | `aws_s3_bucket` | HIGH | Public-read ACLs exposing bucket data |
| **SG-001** | `aws_security_group` | CRITICAL | Port 22 (SSH) open to `0.0.0.0/0` |
| **RDS-001** | `aws_db_instance` | HIGH | Storage not encrypted at rest |
## 🗺️ 未来路线图
- [ ] **多云支持:** 扩展针对 Azure (Bicep) 和 GCP (Deployment Manager) 的扫描逻辑。
- [ ] **自动修复:** 与 GitHub API 集成,自动创建 PR 以修复检测到的漏洞。
- [ ] **企业认证:** 实施 JWT 身份验证以保障仪表盘的安全访问。
标签:AV绕过, DevSecOps, Docker, EC2, ECS, FastAPI, GitHub Actions, IaC, PE 加载器, Python, React, S3 安全, SSH 安全, Syscalls, Terraform, 上游代理, 安全防御评估, 微服务架构, 数据库加密, 无后门, 自动笔记, 请求拦截, 逆向工具, 错误基检测, 静态代码分析