{"id":8450,"library":"prowler","title":"Prowler","description":"Prowler is an Open Source Cloud Security Platform that automates security and compliance across AWS, GCP, Azure, Kubernetes, Microsoft 365, GitHub, Infrastructure as Code, and MongoDB Atlas environments. It provides hundreds of ready-to-use security checks aligned with various compliance frameworks like CIS, NIST, PCI-DSS, SOC2, and AWS Well-Architected. Currently at version 5.24.0, Prowler has a regular release cadence, with minor versions released frequently, often weekly or bi-weekly, to introduce new features, checks, and bug fixes.","status":"active","version":"5.24.0","language":"python","source_language":"en","source_url":"https://github.com/prowler-cloud/prowler","tags":["cloud-security","aws","azure","gcp","kubernetes","compliance","audit","security-assessment","cli"],"install":[{"cmd":"pip install prowler","lang":"bash","label":"Install Prowler CLI"}],"dependencies":[],"imports":[{"wrong":"from prowler import prowler","symbol":"prowler","correct":"import prowler"},{"wrong":"from prowler import prowler","symbol":"dashboard","correct":"from prowler import dashboard"}],"quickstart":{"code":"import subprocess\nimport os\n\n# Ensure AWS credentials are configured (e.g., via AWS CLI or environment variables)\n# Example: export AWS_ACCESS_KEY_ID='AKIA...'\n#          export AWS_SECRET_ACCESS_KEY='...'\n#          export AWS_SESSION_TOKEN='...'\n\nprint(\"Running a basic Prowler scan for AWS. This may take a while...\")\n\ntry:\n    # Run a basic AWS scan and output to the terminal\n    # For a full scan, remove --checks CHECK_AWS_EC2_01. For specific frameworks, use --compliance.\n    result = subprocess.run(\n        [\"prowler\", \"aws\", \"--checks\", \"CHECK_AWS_EC2_01\", \"--output-modes\", \"json\", \"text\"],\n        capture_output=True, text=True, check=True\n    )\n    print(\"Scan completed successfully.\")\n    print(\"--- Standard Output ---\")\n    print(result.stdout)\n    if result.stderr:\n        print(\"--- Standard Error ---\")\n        print(result.stderr)\nexcept subprocess.CalledProcessError as e:\n    print(f\"An error occurred during the Prowler scan: {e}\")\n    print(f\"Command: {e.cmd}\")\n    print(f\"Return Code: {e.returncode}\")\n    print(f\"Output: {e.stdout}\")\n    print(f\"Error Output: {e.stderr}\")\nexcept FileNotFoundError:\n    print(\"Error: 'prowler' command not found. Please ensure Prowler is installed and in your PATH.\")\n","lang":"python","description":"This quickstart demonstrates how to run a basic Prowler AWS scan using Python's `subprocess` module. Prowler automatically uses configured cloud credentials (e.g., from AWS CLI, environment variables, or IAM roles). The example runs a specific check for brevity, but you can configure full scans or compliance frameworks using various CLI flags. Output is captured for programmatic access."},"warnings":[{"fix":"Refer to the official documentation (docs.prowler.com) and GitHub README (github.com/prowler-cloud/prowler) to understand which features apply to the open-source CLI versus Prowler Cloud.","message":"Distinction between Prowler CLI (Open Source) and Prowler Cloud/App. Many new features and multi-account management capabilities highlighted in recent releases (e.g., AWS Organizations improvements, Google Workspace integration) are exclusive to the commercial Prowler Cloud/App offering, which provides a web UI and additional features. The CLI remains a powerful open-source tool, but it's important to understand this distinction when reviewing release notes.","severity":"gotcha","affected_versions":"All versions (since Prowler Cloud/App inception)"},{"fix":"After running a scan, use `prowler dashboard` to launch a local web UI for visualizing findings. Alternatively, process JSON or CSV output files programmatically or with other tools.","message":"Prowler v3 deprecated the direct HTML output page. Users accustomed to a quick HTML overview from older versions will find this functionality removed, requiring different methods (e.g., the local dashboard or parsing JSON/CSV outputs) to visualize results.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"For large environments, consider running Prowler from an EC2 instance, a Docker container with more allocated storage, or a local machine. If using CloudShell, narrow the scan scope (e.g., specific checks or services) and regularly clear old output files. Zip outputs for easier download.","message":"Limited disk space in AWS CloudShell (1GB) can hinder Prowler operations. Running extensive scans or generating large output files in CloudShell may lead to disk space exhaustion, preventing Prowler from completing or saving results.","severity":"gotcha","affected_versions":"All versions when run in AWS CloudShell"},{"fix":"Replace `poetry shell` with `poetry env activate` to activate the Poetry virtual environment for Prowler.","message":"Poetry's `poetry shell` command is deprecated in versions 2.0.0 and above. Users activating Prowler within a Poetry environment should use the updated command.","severity":"deprecated","affected_versions":"Poetry >=2.0.0"}],"env_vars":null,"search_vec":"'365':21 '5.24.0':60 'across':15 'align':40 'architect':56 'assess':97 'atlas':28 'audit':94 'autom':11 'aw':16,53,89 'azur':18,90 'bi':76 'bi-week':75 'bug':84 'cadenc':66 'check':39,82 'cis':46 'cli':98 'cloud':7,87 'cloud-secur':86 'code':25 'complianc':14,43,93 'current':57 'dss':50 'environ':29 'featur':81 'fix':85 'framework':44 'frequent':71 'gcp':17,91 'github':22 'hundr':32 'infrastructur':23 'introduc':79 'kubernet':19,92 'like':45 'microsoft':20 'minor':68 'mongodb':27 'new':80 'nist':47 'often':72 'open':5 'pci':49 'pci-dss':48 'platform':9 'provid':31 'prowler':1,2,61 'readi':35 'ready-to-us':34 'regular':64 'releas':65,70 'secur':8,12,38,88,96 'security-assess':95 'soc2':51 'sourc':6 'use':37 'various':42 'version':59,69 'week':73,77 'well':55 'well-architect':54","created_at":"2026-04-16T17:02:15.699454+00:00","updated_at":"2026-04-16T17:02:15.699454+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"5.30.1","cli_name":"prowler","cli_version":"","type":"library","homepage":"https://prowler.com","github":"https://github.com/prowler-cloud/prowler","docs":"https://docs.prowler.com","changelog":"https://github.com/prowler-cloud/prowler/releases","pypi":"https://pypi.org/project/prowler/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops","auth-security","aws","gcp","azure"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}