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, 上游代理, 安全防御评估, 微服务架构, 数据库加密, 无后门, 自动笔记, 请求拦截, 逆向工具, 错误基检测, 静态代码分析