✨ New features to highlight in this version
Enjoy them all now for free at https://cloud.prowler.com
🏛️ AWS Organizations Onboarding
Note
Available exclusively in Prowler Cloud.
Connect multiple AWS accounts from your Organization in a single flow. Select accounts from your AWS Organization hierarchy and onboard them all at once — no more adding accounts one by one.
Read more in our AWS Organizations in Prowler Cloud documentation.
📤 Import Findings
Note
Available exclusively in Prowler Cloud.
Scan results can now be imported into Prowler Cloud for centralized visibility and correlation. Available via:
- CLI —
--push-to-cloudflag uploads findings in OCSF directly - API —
POST /api/v1/ingestionsendpoint for CI/CD and automation workflows
Read more in our import findings documentation. Thanks to @sonofagl1tch for their contribution and continued support!
☁️ OpenStack — Multi-Region & New Services
OpenStack support matures with:
- Multiple regions scanned from a single provider configuration
- 7 new Compute security checks covering instance, network, and security group configurations
- 6 new Networking security checks covering security groups, port security, DHCP, and network state
- 7 new Block Storage security checks covering volume encryption, sensitive metadata, backups, and resource hygiene
- 6 new Image security checks covering visibility, signature verification, deletion protection, encryption, and Secure Boot
- Full App integration — OpenStack providers can now be managed from the UI
Read more in our OpenStack documentation.
Explore all OpenStack checks at Prowler Hub.
🐳 Container Image Scanning
A brand new Image provider powered by Trivy brings container image security scanning to Prowler. Scan individual images or entire registries for vulnerabilities:
- Single image mode: Scan any container image by tag or digest
- Registry scan mode: Enumerate and scan all images from OCI-standard registries, Docker Hub, and Amazon ECR
- Available via CLI and API — full App support coming in the next release
Read more in our Image provider documentation.
Explore all Image checks at Prowler Hub.
🏢 Google Workspace Provider - CLI
A new Google Workspace provider brings organizational security visibility to Prowler, starting with the Directory service.
It's the 1st provider in Prowler for @lydiavilchez 🙌
Explore all Google Workspace checks at Prowler Hub
☁️ Cloudflare — Now in the App
After being introduced in the CLI in v5.17.0, Cloudflare now has full App support in the Prowler App with 29 security checks covering:
- TLS/SSL
- DNS
- Email security
- WAF
- Bot protection
- Zone configuration.
Read more in our Cloudflare documentation.
Explore all CloudFlare checks at Prowler Hub.
🕸️ Attack Paths — Major Upgrades
The Attack Paths feature receives significant enhancements in this release:
- Full query library from pathfinding.cloud — comprehensive set of privilege escalation and lateral movement detection queries
- Query descriptions and source links — each query now includes a detailed description and a link to its source at pathfinding.cloud
- Cartography upgrade — from fork 0.126.1 to upstream 0.129.0, with Neo4j driver upgraded from 5.x to 6.x
- Read-only query execution — queries now run in read-only mode for safety
- Provider-scoped results — query results are filtered by provider, preventing cross-tenant and cross-provider data leakage
- Improved reliability — orphaned Neo4j databases are cleaned up on scan failure, and provider deletion no longer causes
DatabaseError
🤖 Attack Paths in Prowler MCP Server
The Prowler MCP Server now includes Attack Paths tools, enabling AI agents to query and analyze privilege escalation and lateral movement paths directly. Connect your AI assistant at mcp.prowler.com/mcp.
📚 New Compliance Frameworks
CSA CCM 4.0
The Cloud Security Alliance Cloud Controls Matrix v4.0 is now available across five providers: AWS, Azure, GCP, Oracle Cloud, and Alibaba Cloud.
CIS 6.0 for AWS
The latest CIS Amazon Web Services Foundations Benchmark v6.0 is now available, bringing updated security controls aligned with current AWS best practices.
SecNumCloud for AWS
The ANSSI SecNumCloud qualification framework is now available for AWS, covering French cloud security requirements.
🔗 Unified Provider Wizard
The provider connection flow has been completely redesigned into a modal wizard with a unified experience across all provider types.
🔍 New Checks
Microsoft 365
12 new security checks covering Entra ID, Defender for Identity, Defender XDR, and email protection.
entra_conditional_access_policy_app_enforced_restrictions— App enforced restrictionsentra_app_registration_no_unused_privileged_permissions— Unused privileged permissionsentra_seamless_sso_disabled— Seamless SSO disabledentra_conditional_access_policy_require_mfa_for_management_api— MFA for management APIdefenderidentity_health_issues_no_open— Defender for Identity healthdefenderxdr_endpoint_privileged_user_exposed_credentials— Exposed credentials detectiondefenderxdr_critical_asset_management_pending_approvals— Critical asset managementdefender_safe_attachments_policy_enabled— Safe Attachments policydefender_safelinks_policy_enabled— Safe Links policyentra_default_app_management_policy_enabled— Default app management policy enabledentra_authentication_method_sms_voice_disabled- Disable SMS and voice authenticationentra_break_glass_account_fido2_security_key_registered- Break glass accounts should have a FIDO2 security key
Explore all M365 checks at Prowler Hub.
AWS
Enhanced IAM privilege escalation detection with patterns from the pathfinding.cloud library
Explore all AWS checks at Prowler Hub.
OpenStack
26 new security checks across four services:
Compute (7 checks)
compute_instance_config_drive_enabled— Config drive for secure metadata deliverycompute_instance_isolated_private_network— Network isolation (private-only IPs)compute_instance_key_based_authentication— SSH key-based auth configurationcompute_instance_locked_status_enabled— Instance lock status protectioncompute_instance_metadata_sensitive_data— Secrets in instance metadatacompute_instance_public_ip_exposed— Publicly exposed instancescompute_instance_trusted_image_certificates— Image signature verification
Networking (6 checks)
networking_security_group_allows_ssh_from_internet— SSH (port 22) exposed to the internetnetworking_security_group_allows_rdp_from_internet— RDP (port 3389) exposed to the internetnetworking_security_group_allows_all_ingress_from_internet— Security groups allowing all ingress from the internetnetworking_port_security_disabled— Networks/ports allowing MAC/IP spoofing attacksnetworking_subnet_dhcp_disabled— Subnets without DHCP auto-configurationnetworking_admin_state_down— Administratively disabled networks
Block Storage (7 checks)
blockstorage_volume_encryption_enabled— Volumes without encryption enabledblockstorage_volume_metadata_sensitive_data— Sensitive data in volume metadatablockstorage_snapshot_metadata_sensitive_data— Sensitive data in snapshot metadatablockstorage_volume_backup_exists— Volumes without any backupsblockstorage_volume_multiattach_disabled— Volumes with multi-attach enabledblockstorage_volume_not_unattached— Orphaned volumes with no attachmentsblockstorage_snapshot_not_orphaned— Snapshots referencing non-existent source volumes
Image (6 checks)
image_not_publicly_visible— Publicly visible images exposing OS configs and credentialsimage_not_shared_with_multiple_projects— Images shared with too many projectsimage_signature_verification_enabled— Images without cryptographic signature verificationimage_protected_status_enabled— Images without deletion protectionimage_encryption_enabled— Images without guest memory encryption (AMD SEV)image_secure_boot_enabled— Images without Secure Boot required
Explore all OpenStack checks at Prowler Hub.
GitHub
organization_verified_badge— Verified badge on GitHub organizations — thanks to @kushpatel321!
Explore all Github checks at Prowler Hub.
🔐 Security Updates
py-ocsf-models0.8.1 andcryptography44.0.3Pillow12.1.1 (CVE-2021-25289)azure-core1.38.x removing CVE-2026-21226 safety ignore- npm dependencies updated resolving 20 Dependabot alerts (2 CRITICAL, 7 HIGH, 9 MEDIUM, 2 LOW)
defusedxmlXXE vulnerability fix for Alibaba Cloud OSS — thanks to @sandiyochristan!
🔒 CI Security Hardening
GitHub Actions workflows have been audited and hardened using zizmor, which is now integrated into CI. Fixes include expression injection prevention, credential persistence controls, and overall workflow hardening in (#10200) (#10207) (#10208)
🙌 Community Contributors
- @sonofagl1tch — Import Findings to Prowler Cloud support
- @kushpatel321 —
organization_verified_badgecheck for GitHub provider (#10033) - @HarshCasper — Respect
AWS_ENDPOINT_URLfor STS session creation (#10228) - @anthonytwh — Apply provider/account filters to Findings Severity Over Time chart (#10103)
- @sandiyochristan —
defusedxmlXXE vulnerability fix for Alibaba Cloud OSS (#9999) - @sbldevnet - For testing CloudFlare provider thoroughly
UI
🚀 Added
- OpenStack provider support in the UI (#10046)
- PDF report available for the CSA CCM compliance framework (#10088)
- Cloudflare provider support (#9910)
- CSV and PDF download buttons in compliance views (#10093)
- Add SecNumCloud compliance framework (#10117)
- Attack Paths tools added to Lighthouse AI workflow allowed list (#10175)
🔄 Changed
- Attack Paths: Query list now shows their name and short description, when one is selected it also shows a longer description and an attribution if it has it (#9983)
- Updated GitHub provider form placeholder to clarify both username and organization names are valid inputs (#9830)
- CSA CCM detailed view and small fix related with
Top Failed Sectionswidth (#10018) - Attack Paths: Show scan data availability status with badges and tooltips, allow selecting scans for querying while a new scan is in progress (#10089)
- Attack Paths: Catches not found and permissions (for read only queries) errors (#10140)
- Provider connection flow was unified into a modal wizard with AWS Organizations bulk onboarding, safer secret retry handling, and more stable E2E coverage (#10153) (#10154) (#10155) (#10156) (#10157) (#10158)
🐞 Fixed
- Findings Severity Over Time chart on Overview not responding to provider and account filters, and chart clipping at Y-axis maximum values (#10103)
🔐 Security
- npm dependencies updated to resolve 11 Dependabot alerts (4 HIGH, 7 MEDIUM): fast-xml-parser, @modelcontextprotocol/sdk, tar, @isaacs/brace-expansion, hono, lodash, lodash-es (#10052)
- npm transitive dependencies patched to resolve 9 Dependabot alerts (2 CRITICAL, 3 HIGH, 2 MEDIUM, 2 LOW): fast-xml-parser, rollup, minimatch, ajv, hono, qs (#10187)
API
🚀 Added
- Finding group summaries and resources endpoints for hierarchical findings views (#9961)
- OpenStack provider support (#10003)
- PDF report for the CSA CCM compliance framework (#10088)
imageprovider support for container image scanning (#10128)- Attack Paths: Custom query and Cartography schema endpoints (temporarily blocked) (#10149)
🔄 Changed
- Attack Paths: Queries definition now has short description and attribution (#9983)
- Attack Paths: Internet node is created while scan (#9992)
- Attack Paths: Add full paths set from pathfinding.cloud (#10008)
- Attack Paths: Mark attack Paths scan as failed when Celery task fails outside job error handling (#10065)
- Attack Paths: Remove legacy per-scan
graph_databaseandis_graph_database_deletedfields from AttackPathsScan model (#10077) - Attack Paths: Add
graph_data_readyfield to decouple query availability from scan state (#10089) - Attack Paths: Upgrade Cartography from fork 0.126.1 to upstream 0.129.0 and Neo4j driver from 5.x to 6.x (#10110)
- Attack Paths: Query results now filtered by provider, preventing future cross-tenant and cross-provider data leakage (#10118)
- Attack Paths: Add private labels and properties in Attack Paths graphs for avoiding future overlapping with Cartography's ones (#10124)
- Attack Paths: Query endpoint executes them in read only mode (#10140)
- Attack Paths:
Acceptheader query endpoints also acceptstext/plain, supporting compact plain-text format for LLM consumption (#10162) - Bump Trivy from 0.69.1 to 0.69.2 (#10210)
🐞 Fixed
- Attack Paths: Orphaned temporary Neo4j databases are now cleaned up on scan failure and provider deletion (#10101)
- Attack Paths: scan no longer raises
DatabaseErrorwhen provider is deleted mid-scan (#10116) - Tenant compliance summaries recalculated after provider deletion (#10172)
- Security Hub export retries transient replica conflicts without failing integrations (#10144)
🔐 Security
- Bump
Pillowto 12.1.1 (CVE-2021-25289) (#10027) - Remove safety ignore for CVE-2026-21226 (84420), fixed via
azure-core1.38.x (#10110)
SDK
🚀 Added
entra_authentication_method_sms_voice_disabledcheck for M365 provider (#10212)Google Workspaceprovider support with Directory service including 1 security check (#10022)entra_conditional_access_policy_app_enforced_restrictionscheck for M365 provider (#10058)entra_app_registration_no_unused_privileged_permissionscheck for M365 provider (#10080)defenderidentity_health_issues_no_opencheck for M365 provider (#10087)organization_verified_badgecheck for GitHub provider (#10033)- OpenStack provider
clouds_yaml_contentparameter for API integration (#10003) defender_safe_attachments_policy_enabledcheck for M365 provider (#9833)defender_safelinks_policy_enabledcheck for M365 provider (#9832)- CSA CCM 4.0 for the AWS provider (#10018)
- CSA CCM 4.0 for the GCP provider (#10042)
- CSA CCM 4.0 for the Azure provider (#10039)
- CSA CCM 4.0 for the Oracle Cloud provider (#10057)
- OCI regions updater script and CI workflow (#10020)
imageprovider for container image scanning with Trivy integration (#9984)- CSA CCM 4.0 for the Alibaba Cloud provider (#10061)
- ECS Exec (ECS-006) privilege escalation detection via
ecs:ExecuteCommand+ecs:DescribeTasks(#10066) --export-ocsfCLI flag to upload OCSF scan results to Prowler Cloud (#10095)scan_idfield in OCSFunmappedoutput for ingestion correlation (#10095)defenderxdr_endpoint_privileged_user_exposed_credentialscheck for M365 provider (#10084)defenderxdr_critical_asset_management_pending_approvalscheck for M365 provider (#10085)entra_seamless_sso_disabledcheck for M365 provider (#10086)- Registry scan mode for
imageprovider: enumerate and scan all images from OCI standard, Docker Hub, and ECR (#9985) - File descriptor limits (
ulimits) for Docker Compose worker services to preventToo many open fileserrors (#10107) - SecNumCloud compliance framework for the AWS provider (#10117)
- CIS 6.0 for the AWS provider (#10127)
entra_conditional_access_policy_require_mfa_for_management_apicheck for M365 provider (#10150)- OpenStack provider multiple regions support (#10135)
entra_break_glass_account_fido2_security_key_registeredcheck for M365 provider (#10213)entra_default_app_management_policy_enabledcheck for M365 provider (#9898)- OpenStack networking service with 6 security checks (#9970)
- OpenStack block storage service with 7 security checks (#10120)
- OpenStack compute service with 7 security checks (#9944)
- OpenStack image service with 6 security checks (#10096)
--provider-uidCLI flag for IaC provider, used ascloud.account.uidin OCSF output and required with--export-ocsf(#10233)unmapped.provider_uidfield in OCSF output to match CLI scan results with API provider entities during ingestion (#10231)unmapped.providerfield in OCSF output for provider name availability in non-cloud providers like Kubernetes (#10240)
🔄 Changed
- Update Azure Monitor service metadata to new format (#9622)
- GitHub provider enhanced documentation and
repository_branch_delete_on_merge_enabledlogic (#9830) - Parallelize Cloudflare zone API calls with threading to improve scan performance (#9982)
- Update GCP API Keys service metadata to new format (#9637)
- Update GCP BigQuery service metadata to new format (#9638)
- Update GCP Cloud SQL service metadata to new format (#9639)
- Update GCP Cloud Storage service metadata to new format (#9640)
- Update GCP Compute Engine service metadata to new format (#9641)
- Update GCP Dataproc service metadata to new format (#9642)
- Update GCP DNS service metadata to new format (#9643)
- Update GCP GCR service metadata to new format (#9644)
- Update GCP GKE service metadata to new format (#9645)
- Update GCP IAM service metadata to new format (#9646)
- Update GCP KMS service metadata to new format (#9647)
- Update GCP Logging service metadata to new format (#9648)
- Update Azure Key Vault service metadata to new format (#9621)
- Update Azure Entra ID service metadata to new format (#9619)
- Update Azure Virtual Machines service metadata to new format (#9629)
- Cloudflare provider credential validation with specific exceptions (#9910)
- Enhance AWS IAM privilege escalation detection with patterns from pathfinding.cloud library (#9922)
- Bump Trivy from 0.66.0 to 0.69.2 (#10210)
- Standardize GitHub and M365 provider account UIDs for consistent OCSF output (#10226)
- Standardize Cloudflare account and resource UIDs to prevent None values in findings (#10227)
🐞 Fixed
- Update AWS checks metadata URLs to replace deprecated Trend Micro CloudOne Conformity (EOL July 2026) with Vision One and remove docs.prowler.com references (#10068)
- Standardize resource_id values across Azure checks to use actual Azure resource IDs and prevent duplicate resource entries (#9994)
- VPC endpoint service collection filtering third-party services that caused AccessDenied errors on
DescribeVpcEndpointServicePermissions(#10152) - Handle serialization errors in OCSF output for non-serializable resource metadata (#10129)
- Respect
AWS_ENDPOINT_URLenvironment variable for STS session creation (#10228) - Help text and typos in CLI flags (#10040)
elbv2_insecure_ssl_ciphersfalse positive on AWS post-quantum (PQ) TLS policies likeELBSecurityPolicy-TLS13-1-2-PQ-2025-09(#10219)
🔐 Security
- Bumped
py-ocsf-modelsto 0.8.1 andcryptographyto 44.0.3 (#10059) - Harden GitHub Actions workflows against expression injection, add
persist-credentials: falseto checkout steps, and configure dependabot cooldown (#10200)
MCP
🚀 Added
- Attack Paths tools to list scans, discover queries, and run Cypher queries against Neo4j (#10145)