prowler is a free, open source compliance & risk management project written in Python and released under Apache-2.0. It has 14,830 GitHub stars, 2,389 forks and 371 open issues, and was last pushed 7 hours ago. On this registry it ranks #4 of 45 tracked projects in Compliance & Risk Management, with 5 head-to-head comparisons available. It gained 11 stars over the last 3 tracked days.

What is prowler?

Prowler is an Apache-2.0, Python-based open-source cloud security platform that automates security and compliance assessments across AWS, Azure, and Google Cloud through thousands of ready-to-use checks, aimed at cloud security, compliance, and DevSecOps teams that need continuous posture management without a commercial licence.

What it is

Prowler is an open-source cloud security platform written in Python and released under Apache-2.0. It ships with thousands of ready-to-use security checks, remediation guidance, and hundreds of built-in controls that map findings to compliance frameworks. It occupies the cloud security posture management (CSPM) category and covers AWS, Azure, and Google Cloud from a single tool. The project is distributed in three shapes: a command-line interface invoked as prowler, a local dashboard started with prowler dashboard, and Prowler Local Server, a self-hosted web application. A hosted version, Prowler Cloud, is offered separately at cloud.prowler.com.

The concrete problem it solves is framework-by-framework assessment work. Rather than building and maintaining per-provider checks and manually reconciling them against each standard, Prowler supplies the checks and the control mappings directly. Its built-in frameworks span industry standards such as CIS, NIST 800, NIST CSF, CISA, and MITRE ATT&CK; regulatory frameworks including RBI, FedRAMP, PCI-DSS, and NIS2; privacy frameworks GDPR, HIPAA, and FFIEC; governance frameworks SOC2, GXP, and ISO 27001; cloud-specific frameworks AWS Foundational Technical Review, AWS Well-Architected, and BSI C5; national standards ENS and KISA ISMS-P; and custom frameworks. Prowler ThreatScore adds weighted risk prioritization so that critical findings surface first.

Key capabilities

  • Runs scans from the command line with prowler and serves a local results dashboard with prowler dashboard.
  • Maps findings against hundreds of built-in controls across CIS, NIST 800, NIST CSF, CISA, MITRE ATT&CK, PCI-DSS, FedRAMP, NIS2, GDPR, HIPAA, FFIEC, SOC2, GXP, ISO 27001, BSI C5, ENS, and KISA ISMS-P, plus custom frameworks.
  • Assesses AWS, Azure, and Google Cloud environments.
  • Applies Prowler ThreatScore, a weighted risk prioritization scoring model, to rank findings.
  • Generates Attack Paths, a graph feature that extends every completed AWS scan by combining Cartography's cloud inventory with Prowler findings.
  • Selects the Attack Paths graph sink with ATTACK_PATHS_SINK_DATABASE, using Neo4j by default or Amazon Neptune as an opt-in cloud-managed alternative.
  • Ships Docker Compose files that already include a neo4j service, and supports Amazon Neptune over Bolt on port 8182 with SigV4 authentication through boto3.

Who uses it and how

  • Cloud security and DevSecOps teams running recurring posture assessments across AWS, Azure, and GCP from a single CLI or dashboard.
  • Compliance and risk owners who need findings mapped to ISO 27001, SOC2, PCI-DSS, HIPAA, GDPR, FedRAMP, NIS2, or national schemes such as ENS and KISA ISMS-P.
  • Security analysts who want attack-path graph analysis on AWS estates, either self-hosting Neo4j through the provided Compose files or pointing at Amazon Neptune with NEPTUNE_WRITER_ENDPOINT and AWS_REGION.
  • Organizations that prefer a hosted control plane, using Prowler Cloud, or that need an air-gapped or in-account deployment through Prowler Local Server.
  • Teams with bespoke obligations, using custom security frameworks.

Getting started

Run the CLI with prowler, or start the local dashboard with prowler dashboard. For the web application, deploy Prowler Local Server following its installation documentation, or sign up for the hosted Prowler Cloud.

How it compares

No comparable or competing products are named in the facts for this entry. Within this registry, Prowler stands alone in the cloud security posture management and compliance category.

When to use it — and when not to

A self-hoster must operate a graph database: the Docker Compose path requires a Neo4j service with credentials able to create per-tenant databases, and the Neptune path additionally requires AWS SigV4 credentials, a writer endpoint, and a region. Note that Cartography ingestion always uses a temporary Neo4j database regardless of the configured sink, so the NEO4J_* variables must remain set even when ATTACK_PATHS_SINK_DATABASE=neptune. Attack Paths currently extends only AWS scans, so organizations running exclusively on Azure or GCP will not get that feature. Teams unwilling to run infrastructure should choose Prowler Cloud instead.

project readme (upstream, from github) — read inline

Prowler logo Prowler logo

Prowler is the Open Cloud Security Platform trusted by thousands to automate security and compliance in any cloud environment. With thousands 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.

The Agentic Cloud Defender

Try Prowler Cloud

Prowler community on Slack
Join our Prowler community!


Slack Shield Python Version Python Version PyPI Downloads Docker Pulls AWS ECR Gallery Codecov coverage Linux Foundation insights health score

Version Version Contributors Issues License Twitter Twitter


Description

Prowler is the world’s most widely used Open-Source Cloud Security Platform that automates security and compliance across any cloud environment. With thousands of ready-to-use security checks, remediation guidance, and compliance frameworks, Prowler is built to “Secure ANY Cloud at AI Speed”. Prowler delivers AI-driven, customizable, and easy-to-use assessments, dashboards, reports, and integrations, making cloud security simple, scalable, and cost-effective for organizations of any size.

Prowler includes hundreds of built-in controls to ensure compliance with standards and frameworks, including:

  • Prowler ThreatScore: Weighted risk prioritization scoring that helps you focus on the most critical security findings first
  • Industry Standards: CIS, NIST 800, NIST CSF, CISA, and MITRE ATT&CK
  • Regulatory Compliance and Governance: RBI, FedRAMP, PCI-DSS, and NIS2
  • Frameworks for Sensitive Data and Privacy: GDPR, HIPAA, and FFIEC
  • Frameworks for Organizational Governance and Quality Control: SOC2, GXP, and ISO 27001
  • Cloud-Specific Frameworks: AWS Foundational Technical Review (FTR), AWS Well-Architected Framework, and BSI C5
  • National Security Standards: ENS (Spanish National Security Scheme) and KISA ISMS-P (Korean)
  • Custom Security Frameworks: Tailored to your needs

Prowler Cloud & Prowler Local Server

Prowler Cloud and Prowler Local Server, its self-hosted open-source version, are web applications that simplify running Prowler across your cloud provider accounts. They provide a user-friendly interface to visualize the results and streamline your security assessments.

Prowler Cloud Risk Pipeline Threat Map

For more details, refer to the Prowler Local Server documentation

Prowler CLI

prowler <provider>

Prowler CLI Execution

Prowler Local Dashboard

prowler dashboard

Prowler Local Dashboard

Attack Paths

Attack Paths automatically extends every completed AWS scan with a graph that combines Cartography's cloud inventory with Prowler findings. The feature runs in the API worker after each scan.

Two graph backends are supported as the long-lived sink:

  • Neo4j (default; the Docker Compose files already ship a neo4j service).
  • Amazon Neptune (cloud-managed; opt-in).

Select the sink with ATTACK_PATHS_SINK_DATABASE (neo4j or neptune; default neo4j).

Note: Cartography ingestion always uses a temporary Neo4j database, regardless of the configured sink. The NEO4J_* variables below must remain set even when ATTACK_PATHS_SINK_DATABASE=neptune.

Neo4j sink

Variable Description Default
NEO4J_HOST Hostname used by the API containers. neo4j
NEO4J_PORT Bolt port exposed by Neo4j. 7687
NEO4J_USER / NEO4J_PASSWORD Credentials with rights to create per-tenant databases. neo4j / neo4j_password

Neptune sink

Variable Description Default
NEPTUNE_WRITER_ENDPOINT Bolt host for the Neptune writer instance. Required when sink is neptune. empty
NEPTUNE_READER_ENDPOINT Optional reader endpoint for read-only queries. Falls back to the writer when unset. empty
NEPTUNE_PORT Bolt port exposed by Neptune. 8182
AWS_REGION Region the Neptune cluster lives in. Required when sink is neptune. empty

Neptune authenticates with SigV4 using the standard boto3 credential chain. The worker's IAM role (or AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY) supplies the credentials. There is no Neptune password variable.

Every AWS provider scan will enqueue an Attack Paths ingestion job automatically. Other cloud providers will be added in future iterations.

Prowler at a Glance

[!Tip] For the most accurate and up-to-date information about checks, services, frameworks, and categories, visit Prowler Hub.

Provider Checks Services Compliance Frameworks Categories Support Interface
AWS 662 86 50 19 Official UI, API, CLI
Azure 191 22 25 16 Official UI, API, CLI
GCP 110 20 22 12 Official UI, API, CLI
Kubernetes 92 7 11 11 Official UI, API, CLI
GitHub 24 3 2 5 Official UI, API, CLI
M365 144 10 9 10 Official UI, API, CLI
OCI 52 14 5 10 Official UI, API, CLI
Alibaba Cloud 63 9 6 9 Official UI, API, CLI
Cloudflare 29 3 2 5 Official UI, API, CLI
IaC See trivy docs. N/A N/A N/A Official UI, API, CLI
MongoDB Atlas 10 3 1 8 Of

readme truncated — read the full docs on github

Frequently asked questions

Is prowler free to use?

prowler is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does prowler do?

Prowler is the world’s most widely used open-source cloud security platform that automates security and compliance across any cloud environment.

What is prowler written in?

prowler is primarily written in Python. Its source is publicly available at https://github.com/prowler-cloud/prowler, and it has 14,830 GitHub stars.