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

Prowler community on Slack
Join our Prowler community!


Slack Shield Python Version Python Version PyPI Downloads Docker Pulls AWS ECR Gallery

Version Version Contributors Issues License Twitter Twitter


# 描述 **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 App](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/60b15fcdc4060240.png) ![Risk Pipeline](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/0216799eaa060241.png) ![Threat Map](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/2830838503060243.png) ## Prowler CLI ``` prowler ``` ![Prowler CLI Execution](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6389fd8fea060244.png) ## Prowler 仪表盘 ``` prowler dashboard ``` ![Prowler Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/eef0b18228060245.png) ## 攻击路径 攻击路径自动将每次完成的 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 App Architecture](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/575659706e060246.png) ## Prowler CLI **运行 Prowler** Prowler 可以在各种环境中执行,提供满足您需求的灵活性。它可以从以下环境运行: - 您自己的工作站 - Kubernetes Job - Google Compute Engine - Azure Virtual Machines (VMs) - Amazon EC2 实例 - AWS Fargate 或其他容器平台 - CloudShell 以及更多环境。 ![Architecture](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/3c546e91bb060247.png) # 🤖 用于开发的 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, 上游代理, 云平台, 合规性自动化, 子域名变形, 安全合规, 安全基线检测, 安全态势管理, 安全防御评估, 开源安全工具, 搜索引擎查询, 无后门, 测试用例, 网络代理, 网络安全, 自动化检查, 请求拦截, 逆向工具, 逆向工程平台, 隐私保护