Checks
Browse individual security checks available in the Prowler Registry. Filter by cloud provider, severity, or search by check ID.
Browse individual security checks available in the Prowler Registry. Filter by cloud provider, severity, or search by check ID.
cloudwatch_log_metric_filter_security_group_changes
CloudTrail events for security group configuration changes are monitored using a CloudWatch Logs metric filter with an associated alarm. The filter targets actions like AuthorizeSecurityGroupIngress/Egress, RevokeSecurityGroupIngress/Egress, CreateSecurityGroup, and DeleteSecurityGroup to surface any security group modifications.
cloudwatch_log_metric_filter_sign_in_without_mfa
CloudTrail logs in CloudWatch are assessed for a metric filter and alarm that detect console logins where $.eventName = ConsoleLogin and $.additionalEventData.MFAUsed != \"Yes\".
This reflects whether alerting exists for sign-ins that occur without MFA.
cloudwatch_log_metric_filter_unauthorized_api_calls
CloudWatch Logs for CloudTrail include a metric filter that matches unauthorized API errors ($.errorCode="*UnauthorizedOperation" or $.errorCode="AccessDenied*") and a linked alarm that triggers when events match the filter.
clusters_authentication_enabled
MongoDB Atlas clusters enforce database authentication for client connections (authEnabled).
Identifies clusters where authentication is not required for access.
clusters_backup_enabled
MongoDB Atlas clusters have automated backups enabled (cloudBackup/backup_enabled) to generate snapshots and support restore operations
clusters_encryption_at_rest_enabled
MongoDB Atlas clusters are evaluated for encryption at rest. The check looks for a supported encryption provider configured (not NONE) or storage-level encryption enabled (e.g., encryptEBSVolume=true). Unsupported providers or explicit disablement are highlighted.
clusters_tls_enabled
MongoDB Atlas clusters require TLS/SSL for client connections to encrypt data in transit (sslEnabled=true).
codeartifact_packages_external_public_publishing_disabled
AWS CodeArtifact packages with an internal or unknown origin are evaluated for their package origin controls. The check identifies packages where the upstream setting allows ingesting versions from external or upstream repositories.
codebuild_project_logging_enabled
CodeBuild projects are assessed for logging configuration to Amazon CloudWatch Logs or S3, identifying when at least one destination is enabled for build logs and events.
codebuild_project_no_secrets_in_variables
AWS CodeBuild projects are inspected for plaintext environment variables (PLAINTEXT) that resemble secrets (keys, tokens, passwords).
Such values indicate sensitive data is stored directly in environment variables instead of being sourced securely.
codebuild_project_not_publicly_accessible
AWS CodeBuild project visibility is assessed to identify projects exposed to the public. Projects with project_visibility set to PUBLIC_READ (or not PRIVATE) allow anyone to access build results, logs, and artifacts.
codebuild_project_older_90_days
AWS CodeBuild projects are assessed for recent activity using the last build invocation timestamp. Projects not invoked within 90 days or never built are treated as inactive.
codebuild_project_s3_logs_encrypted
CodeBuild projects with S3 log delivery are evaluated for encryption at rest on their S3 log objects. Only projects that write logs to S3 are in scope.
codebuild_project_source_repo_url_no_sensitive_credentials
AWS CodeBuild projects with Bitbucket sources are assessed to confirm repository URLs do not embed credentials (for example, x-token-auth:<token>@ or user:password@). The assessment includes both the primary source and all secondary sources.
codebuild_project_user_controlled_buildspec
AWS CodeBuild projects are evaluated for use of a user-controlled buildspec, identified when the project references a repository file like *.yml or *.yaml. Projects using non file-based build instructions are treated as centrally managed.
codebuild_project_uses_allowed_github_organizations
CodeBuild projects sourcing from GitHub/GitHub Enterprise with a service role that trusts CodeBuild are evaluated by deriving the repository's organization from its URL and comparing it to an allowed organizations list.
codebuild_project_webhook_filters_use_anchored_patterns
AWS CodeBuild webhook filters using ACTOR_ACCOUNT_ID, HEAD_REF, or BASE_REF have regex patterns anchored with ^ (start) and $ (end) to enforce exact matching and prevent substring bypass attacks.
codebuild_report_group_export_encrypted
CodeBuild report groups with export type S3 are evaluated to confirm their exported test results are encrypted at rest with a KMS key.
Report groups configured with NO_EXPORT are out of scope.
codecommit_repository_no_secrets
AWS CodeCommit repositories are scanned for hardcoded secrets such as API keys, tokens, and passwords in every file tracked at the tip of the default branch. CodeCommit repositories, including their branches and commit history, are a top source of leaked credentials, and secrets can persist in history even after being removed from HEAD.
codepipeline_project_repo_private
CodePipeline pipeline should configure its source stage to use a private repository with authenticated connection rather than a public GitHub or GitLab repository. This ensures deployment configurations, build artifacts, and CI/CD logic remain protected from unauthorized access.
cognito_identity_pool_guest_access_disabled
Amazon Cognito identity pools are evaluated for guest access to unauthenticated identities. The assessment considers the allow_unauthenticated_identities setting and whether an unauthenticated role can be assumed by guests.
cognito_user_pool_advanced_security_enabled
Amazon Cognito user pools are evaluated for Threat protection (advanced security) mode: ENFORCED (full-function) vs AUDIT or disabled. This indicates whether adaptive risk responses and compromised-credential checks are applied during authentication.
cognito_user_pool_blocks_compromised_credentials_sign_in_attempts
Amazon Cognito user pool threat protection blocks sign-ins when compromised credentials are detected. Advanced security is ENFORCED, and the compromised-credentials policy applies a BLOCK action to sign-in events.
cognito_user_pool_blocks_potential_malicious_sign_in_attempts
Amazon Cognito user pool with threat protection in ENFORCED mode and adaptive authentication actions set to BLOCK for low, medium, and high account-takeover risk levels.
Evaluates the user pool's risk configuration to confirm risky sign-in attempts are blocked across all severities.