prowler-cloud/prowler
GitHub: prowler-cloud/prowler
开源多云安全态势管理平台,自动化执行云环境的安全配置审计与合规性检查。
Stars: 14000 | Forks: 2183
Prowler is the Open Cloud Security Platform trusted by thousands to automate security and compliance in any cloud environment. With hundreds of ready-to-use checks and compliance frameworks, Prowler delivers real-time, customizable monitoring and seamless integrations, making cloud security simple, scalable, and cost-effective for organizations of any size.
Secure ANY cloud at AI Speed at prowler.com
Join our Prowler community!
# 描述
**Prowler** 是全球使用最广泛的 _开源云安全平台_,可跨 **任何云环境** 自动化执行安全和合规性检查。凭借数百种即用型安全检查、修复指南以及合规框架,Prowler 的构建理念是 _“以 AI 速度保障任何云安全”_。Prowler 提供 **AI 驱动**、**可定制** 且 **易于使用** 的评估、仪表盘、报告和集成功能,使各种规模组织的云安全变得 **简单**、**可扩展** 且 **高性价比**。
Prowler 包含数百个内置控件,以确保符合各种标准和框架,包括:
- **Prowler ThreatScore:** 加权风险优先级评分,帮助您优先关注最关键的安全发现
- **行业标准:** CIS, NIST 800, NIST CSF, CISA, 和 MITRE ATT&CK
- **监管合规与治理:** RBI, FedRAMP, PCI-DSS, 和 NIS2
- **敏感数据与隐私框架:** GDPR, HIPAA, 和 FFIEC
- **组织治理与质量控制框架:** SOC2, GXP, 和 ISO 27001
- **云特定框架:** AWS Foundational Technical Review (FTR), AWS Well-Architected Framework, 和 BSI C5
- **国家安全标准:** ENS (西班牙国家安全计划) 和 KISA ISMS-P (韩国)
- **自定义安全框架:** 根据您的需求量身定制
## Prowler App / Prowler Cloud
Prowler App / [Prowler Cloud](https://cloud.prowler.com/) 是一个基于 Web 的应用程序,简化了跨云提供商账户运行 Prowler 的过程。它提供了一个用户友好的界面来可视化结果,从而简化您的安全评估。



## Prowler CLI
```
prowler
```

## Prowler 仪表盘
```
prowler dashboard
```

## 攻击路径
攻击路径自动将每次完成的 AWS 扫描扩展为一个 Neo4j 图谱,该图谱将 Cartography 的云资产清单与 Prowler 的发现相结合。该功能在每次扫描后在 API worker 中运行,因此需要:
- 一个可访问的 Neo4j 实例(Docker Compose 文件已附带一个 `neo4j` 服务)。
- 以下环境变量,以便 Django 和 Celery 可以进行连接:
| 变量 | 描述 | 默认值 |
| --- | --- | --- |
| `NEO4J_HOST` | API 容器使用的主机名。 | `neo4j` |
| `NEO4J_PORT` | Neo4j 暴露的 Bolt 端口。 | `7687` |
| `NEO4J_USER` / `NEO4J_PASSWORD` | 具有创建每个租户(per-tenant)数据库权限的凭据。 | `neo4j` / `neo4j_password` |
每次 AWS 提供商扫描都会自动将一个攻击路径摄入(ingestion)任务排入队列。其他云提供商将在未来的迭代中加入。
# Prowler 概览
| 提供商 | 检查项 | 服务 | [合规框架](https://docs.prowler.com/projects/prowler-open-source/en/latest/tutorials/compliance/) | [类别](https://docs.prowler.com/projects/prowler-open-source/en/latest/tutorials/misc/#categories) | 支持 | 接口 |
|---|---|---|---|---|---|---|
| AWS | 595 | 84 | 43 | 17 | 官方 | UI, API, CLI |
| Azure | 167 | 22 | 19 | 16 | 官方 | UI, API, CLI |
| GCP | 102 | 18 | 17 | 12 | 官方 | UI, API, CLI |
| Kubernetes | 83 | 7 | 7 | 11 | 官方 | UI, API, CLI |
| GitHub | 24 | 3 | 1 | 5 | 官方 | UI, API, CLI |
| M365 | 101 | 10 | 4 | 10 | 官方 | UI, API, CLI |
| OCI | 51 | 14 | 4 | 10 | 官方 | UI, API, CLI |
| Alibaba Cloud | 61 | 9 | 4 | 9 | 官方 | UI, API, CLI |
| Cloudflare | 29 | 3 | 0 | 5 | 官方 | UI, API, CLI |
| IaC | [参见 `trivy` 文档。](https://trivy.dev/latest/docs/coverage/iac/) | N/A | N/A | N/A | 官方 | UI, API, CLI |
| MongoDB Atlas | 10 | 3 | 0 | 8 | 官方 | UI, API, CLI |
| LLM | [参见 `promptfoo` 文档。](https://www.promptfoo.dev/docs/red-team/plugins/) | N/A | N/A | N/A | 官方 | CLI |
| Image | N/A | N/A | N/A | N/A | 官方 | CLI, API |
| Google Workspace | 25 | 4 | 2 | 4 | 官方 | CLI |
| OpenStack | 34 | 5 | 0 | 9 | 官方 | UI, API, CLI |
| Vercel | 26 | 6 | 0 | 5 | 官方 | CLI |
| NHN | 6 | 2 | 1 | 0 | 非官方 | CLI |
# 💻 安装
## Prowler App
Prowler App 提供了针对各种环境量身定制的灵活安装方法:
### Docker Compose
**前提条件**
* 已安装 `Docker Compose`:https://docs.docker.com/compose/install/.
**命令**
```
VERSION=$(curl -s https://api.github.com/repos/prowler-cloud/prowler/releases/latest | jq -r .tag_name)
curl -sLO "https://raw.githubusercontent.com/prowler-cloud/prowler/refs/tags/${VERSION}/docker-compose.yml"
# 环境变量可以在 .env 文件中自定义。在生产环境中不建议使用默认值。
curl -sLO "https://raw.githubusercontent.com/prowler-cloud/prowler/refs/tags/${VERSION}/.env"
docker compose up -d
```
配置完成后,通过 http://localhost:3000 访问 Prowler App。使用您的邮箱和密码注册以开始使用。
### Docker Pull 安装的常见问题
您可以在 [故障排除](./docs/troubleshooting.mdx) 部分找到更多信息。
### 从 GitHub 安装
**前提条件**
* 已安装 `git`。
* 已安装 `poetry` v2:[poetry 安装](https://python-poetry.org/docs/#installation)。
* 已安装 `pnpm`:[pnpm 安装](https://pnpm.io/installation)。
* 已安装 `Docker Compose`:https://docs.docker.com/compose/install/.
**运行 API 的命令**
```
git clone https://github.com/prowler-cloud/prowler
cd prowler/api
poetry install
eval $(poetry env activate)
set -a
source .env
docker compose up postgres valkey -d
cd src/backend
python manage.py migrate --database admin
gunicorn -c config/guniconf.py config.wsgi:application
```
**运行 API Worker 的命令**
```
git clone https://github.com/prowler-cloud/prowler
cd prowler/api
poetry install
eval $(poetry env activate)
set -a
source .env
cd src/backend
python -m celery -A config.celery worker -l info -E
```
**运行 API Scheduler 的命令**
```
git clone https://github.com/prowler-cloud/prowler
cd prowler/api
poetry install
eval $(poetry env activate)
set -a
source .env
cd src/backend
python -m celery -A config.celery beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
```
**运行 UI 的命令**
```
git clone https://github.com/prowler-cloud/prowler
cd prowler/ui
pnpm install
pnpm run build
pnpm start
```
**Pre-commit Hooks 设置**
一些 pre-commit hooks 需要在您的系统上安装相关工具:
1. **安装 [TruffleHog](https://github.com/trufflesecurity/trufflehog#install)**(密钥扫描) — 参见[官方安装选项](https://github.com/trufflesecurity/trufflehog#install)。
2. **安装 [Hadolint](https://github.com/hadolint/hadolint#install)**(Dockerfile 代码检查) — 参见[官方安装选项](https://github.com/hadolint/hadolint#install)。
## Prowler CLI
### Pip 包
Prowler CLI 在 [PyPI](https://pypi.org/project/prowler-cloud/) 上作为一个项目提供。因此,可以使用 pip 配合 Python >=3.10, <3.13 进行安装:
```
pip install prowler
prowler -v
```
### 容器
**Prowler CLI 的可用版本**
根据您的需求,提供以下版本的 Prowler CLI:
- `latest`:与 `master` 分支同步。请注意,此版本不稳定。
- `v4-latest`:与 `v4` 分支同步。请注意,此版本不稳定。
- `v3-latest`:与 `v3` 分支同步。请注意,此版本不稳定。
- ``(发布版):对应特定版本的稳定发布版。您可以在[此处](https://github.com/prowler-cloud/prowler/releases)找到完整的发布列表。
- `stable`:始终指向最新的发布版。
- `v4-stable`:始终指向 v4 的最新发布版。
- `v3-stable`:始终指向 v3 的最新发布版。
容器镜像可在此处获取:
- Prowler CLI:
- [DockerHub](https://hub.docker.com/r/prowlercloud/prowler/tags)
- [AWS Public ECR](https://gallery.ecr.aws/prowler-cloud/prowler)
- Prowler App:
- [DockerHub - Prowler UI](https://hub.docker.com/r/prowlercloud/prowler-ui/tags)
- [DockerHub - Prowler API](https://hub.docker.com/r/prowlercloud/prowler-api/tags)
### 从 GitHub 安装
需要 Python >=3.10, <3.13 以及 pip 和 Poetry:
```
git clone https://github.com/prowler-cloud/prowler
cd prowler
eval $(poetry env activate)
poetry install
python prowler-cli.py -v
```
# 🛡️ GitHub Action
官方 **Prowler GitHub Action** 使用官方 [`prowlercloud/prowler`](https://hub.docker.com/r/prowlercloud/prowler) Docker 镜像在您的 GitHub 工作流中运行 Prowler 扫描。扫描可在任何[受支持的提供商](https://docs.prowler.com/user-guide/providers/)上运行,可选择使用 [`--push-to-cloud`](https://docs.prowler.com/user-guide/tutorials/prowler-app-import-findings) 将发现结果发送到 Prowler Cloud,以及可选的 SARIF 上传,使发现结果能显示在仓库的 **Security → Code scanning** 标签页中,并作为 PR 内联注释。
```
name: Prowler IaC Scan
on:
pull_request:
permissions:
contents: read
security-events: write
actions: read
jobs:
prowler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: prowler-cloud/prowler@5.25
with:
provider: iac
output-formats: sarif json-ocsf
upload-sarif: true
flags: --severity critical high
```
完整配置、各提供商的身份验证和 SARIF 示例:[Prowler GitHub Action 教程](docs/user-guide/tutorials/prowler-app-github-action.mdx)。市场列表:[Prowler Security Scan](https://github.com/marketplace/actions/prowler-security-scan)。
# ✏️ 高层架构
## Prowler App
**Prowler App** 由四个关键组件构成:
- **Prowler UI**:一个基于 Web 的界面,使用 Next.js 构建,为执行 Prowler 扫描和可视化结果提供用户友好的体验。
- **Prowler API**:一个后端服务,使用 Django REST Framework 开发,负责运行 Prowler 扫描并存储生成的结果。
- **Prowler SDK**:一个 Python SDK,旨在扩展 Prowler CLI 的功能以实现高级特性。
- **Prowler MCP Server**:一个模型上下文协议服务器,为 Lighthouse(AI 驱动的安全助手)提供 AI 工具。这是 Lighthouse 功能的关键依赖项。

## Prowler CLI
**运行 Prowler**
Prowler 可以在各种环境中执行,提供满足您需求的灵活性。它可以从以下环境运行:
- 您自己的工作站
- Kubernetes Job
- Google Compute Engine
- Azure Virtual Machines (VMs)
- Amazon EC2 实例
- AWS Fargate 或其他容器平台
- CloudShell
以及更多环境。

# 🤖 用于开发的 AI 技能
Prowler 包含一套全面的 **AI 技能**,可帮助 AI 编码助手理解 Prowler 的代码库模式和约定。
## 什么是 AI 技能?
技能是结构化的指令,为 AI 助手提供所需的上下文,以编写符合 Prowler 标准的代码。它们包括:
- 每个组件的**编码模式**(SDK, API, UI, MCP Server)
- **测试约定**(pytest, Playwright)
- **架构指南**(整洁架构,RLS 模式)
- **特定框架的规则**(React 19, Next.js 15, Django DRF, Tailwind 4)
## 可用技能
| 类别 | 技能 |
|----------|--------|
| **通用** | `typescript`, `react-19`, `nextjs-15`, `tailwind-4`, `playwright`, `pytest`, `django-drf`, `zod-4`, `zustand-5`, `ai-sdk-5` |
| **Prowler** | `prowler`, `prowler-api`, `prowler-ui`, `prowler-mcp`, `prowler-sdk-check`, `prowler-test-ui`, `prowler-test-api`, `prowler-test-sdk`, `prowler-compliance`, `prowler-provider`, `prowler-pr`, `prowler-docs` |
## 设置
```
./skills/setup.sh
```
这将为遵循 [agentskills.io](https://agentskills.io) 标准的 AI 编码助手配置技能:
| 工具 | 配置 |
|------|---------------|
| **Claude Code** | `.claude/skills/` (软链接) |
| **OpenCode** | `.claude/skills/` (软链接) |
| **Codex (OpenAI)** | `.codex/skills/` (软链接) |
| **GitHub Copilot** | `.github/skills/` (软链接) |
| **Gemini CLI** | `.gemini/skills/` (软链接) |
# 📖 文档
有关安装说明、使用详情、教程和开发者指南,请 https://docs.prowler.com/
# 📃 许可证
Prowler 采用 Apache License 2.0 授权。
许可证副本可在 获取标签:AI应用开发, API哈希动态解析, AWS安全, Azure安全, CSPM, DevSecOps, Docker, GCP安全, IT审计, Python, TinkerPop, 上游代理, 云平台, 合规性自动化, 子域名变形, 安全合规, 安全基线检测, 安全态势管理, 安全防御评估, 开源安全工具, 搜索引擎查询, 无后门, 测试用例, 网络代理, 网络安全, 自动化检查, 请求拦截, 逆向工具, 逆向工程平台, 隐私保护