peachycloudsecurity/iac-security-scanner
GitHub: peachycloudsecurity/iac-security-scanner
浏览器端运行的基础设施即代码安全扫描器,支持Terraform、Kubernetes、Docker、CloudFormation文件的安全审计,无需上传即可在本地完成扫描。
Stars: 10 | Forks: 5
# IaC 安全扫描器
基于浏览器的基础设施即代码安全扫描器。直接在浏览器中分析 Terraform、Kubernetes、Docker 和 CloudFormation 文件。无需服务器,无需上传,一切均在客户端运行。
## 功能特性
- 180+ 条涵盖常见错误配置的安全规则
- 支持 Terraform、Kubernetes、Docker、CloudFormation
- GitHub 仓库扫描,具备速率限制处理
- PDF 报告导出
- 单文件 HTML 输出,便于部署
## 快速开始
### 前置条件
Node.js 18+ 和 npm
### 安装
```
git clone https://github.com/yourusername/iac-security-scanner.git
cd iac-security-scanner
npm install
```
### 开发
```
npm run dev
```
在 `http://localhost:5173` 打开
### 构建
```
npm run build
```
在 `docs/` 文件夹中构建单个 `index.html` 文件。在浏览器中打开 `docs/index.html` 即可使用扫描器。
该构建使用 vite-plugin-singlefile 将所有 CSS 和 JavaScript 内联打包到单个 HTML 文件中。
### 部署
将 `docs/index.html` 上传到任何静态托管服务。适用于 GitHub Pages、Netlify、Vercel 或任何 Web 服务器。
对于 GitHub Pages,在仓库设置中启用 Pages 并指向 `docs` 文件夹。包含的 GitHub Actions 工作流会在推送到 main 分支时自动构建。
## 使用方法
1. 上传文件或粘贴代码
2. 输入 GitHub 仓库 URL 以扫描整个仓库
3. 查看带有严重程度评级的结果
4. 导出 PDF 报告
## 支持的文件类型
- Terraform: `.tf`, `.tfvars`, `.hcl`
- Kubernetes: `.yaml`, `.yml`
- Docker: `Dockerfile`, `docker-compose.yml`
- CloudFormation: `.template`, `.json`, `.yaml`, `.yml`
## GitHub 仓库扫描
通过输入仓库 URL 扫描公开的 GitHub 仓库。扫描器会自动处理速率限制,在请求之间会有 200ms 的延迟。未经身份验证的 GitHub API 限制为每小时 60 次请求。
## 项目结构
```
src/
├── components/ # React components
├── rules/ # 180+ security rules by IaC type
├── parsers/ # File parsers for each format
├── engine/ # Core scanning logic
└── utils/ # GitHub client, PDF export, etc.
```
## 构建脚本
- `npm run dev` - 开发服务器
- `npm run build` - 生产环境构建至 `docs/` 文件夹
- `npm run preview` - 本地预览生产环境构建
- `npm run lint` - 运行 ESLint
## 技术细节
- 仅客户端,无需服务器
- 生产环境输出为单文件 HTML
- 安全规则基于 Checkov 和 tfsec
- 为每种 IaC 格式提供自定义解析器
- 使用 jsPDF 生成 PDF
## 故障排除
**未检测到结果**:检查文件格式是否受支持以及语法是否有效。
**GitHub 扫描错误**:速率限制 (403) 或私有仓库 (404)。等待几分钟后重试。
**大型仓库**:可能需要几分钟。扫描期间会显示进度。
## 致谢
安全规则灵感来源于:
- Checkov (bridgecrewio/checkov)
- tfsec (aquasecurity/tfsec)
- GitHub 扫描功能来自 sbomplay (cyfinoid/sbomplay)
## 许可证
GPL-3.0。详见 LICENSE 文件。
## 免责声明
此工具旨在对您拥有或明确获得授权分析的基础设施即代码配置进行安全审计和分析。在扫描您不拥有的仓库或配置之前,请务必确保您拥有适当的授权。作者不对本软件的任何滥用行为负责。
本网站、应用程序、扫描器和结果严格仅用于教育目的,由作者独立编写,未受作者雇主或任何企业实体的认可,不提供任何保证或担保,不对误用或误用承担任何责任。
## Peachycloud 安全
实战型多云与云原生安全教育
由 The Shukla Duo (Anjali & Divyanshu) 创建,此工具是我们通过实践、动手学习让云安全变得触手可及这一使命的一部分。我们专注于 AWS、GCP、Kubernetes 安全和 DevSecOps 实践。
### 学习与成长
探索我们的教育内容和培训计划:
[YouTube 频道](https://www.youtube.com/@peachycloudsecurity) | [网站](https://peachycloudsecurity.com) | [1:1 咨询](https://topmate.io/peachycloudsecurity)
通过实践实验、真实场景和实用教程学习云安全,涵盖 GCP & AWS、GKE & EKS、Kubernetes、容器、DevSecOps 和威胁建模。
### 支持我们的工作
如果此工具帮助您保护了基础设施,请考虑支持我们的教育使命:
[在 GitHub 上赞助](https://github.com/sponsors/peachycloudsecurity)
您的支持帮助我们为社区创建更多免费教育内容和安全工具。
标签:CISA项目, CloudFormation, DevSecOps, Docker, ECS, GitHub扫描, GNU通用公共许可证, IaC安全扫描器, MITM代理, Node.js, PDF报告, React, Syscalls, Terraform, Vite, 上游代理, 云安全监控, 安全合规, 安全防御评估, 数据可视化, 无线安全, 本地扫描, 浏览器端, 网络代理, 网络安全, 网络安全, 自动化攻击, 足迹分析, 隐私保护, 隐私保护, 静态分析