Back to Checks
aws

AWS account contact information is current

account_maintain_current_contact_details
Service: accountSeverity: medium
OfficialBuilt-inVerified
Resource Type:Other

AWS account contact information is current for the primary contact and the alternate contacts for security, billing, and operations, with accurate email addresses and phone numbers.

Risk

Outdated or single-person contacts delay security notifications, slow incident response, and complicate account recovery.

AWS may throttle services during abuse mitigation, reducing availability. Missed alerts enable ongoing misuse, risking data exfiltration and unauthorized changes (integrity).

Run this check with Prowler

Run in Prowler Cloud
Run
prowler aws --checks account_maintain_current_contact_details

Recommendation

Adopt:

  • Primary and alternate contacts for security, billing, operations
  • Shared, monitored aliases and SMS-capable phone numbers (non-personal)
  • Centralized management across accounts with periodic reviews
  • Least privilege for who can modify contact data
  • Regular reachability tests and documented ownership

Remediation

CLI

aws account put-alternate-contact --alternate-contact-type=SECURITY --email-address=<SECURITY_EMAIL> --name="<SECURITY_CONTACT_NAME>" --phone-number="<SECURITY_PHONE>" --title="Security"

Terraform

# Set the Security alternate contact for the AWS account
resource "aws_account_alternate_contact" "<example_resource_name>" {
  alternate_contact_type = "SECURITY"  # Critical: ensures AWS can reach your security team
  email_address          = "<SECURITY_EMAIL>"  # Critical: contact destination
  name                   = "<SECURITY_CONTACT_NAME>"
  phone_number           = "<SECURITY_PHONE>"
  title                  = "Security"
}

Other

1Sign in to the AWS Management Console
2Open Billing and Cost Management, then click your account name > Account
3Under Contact information, click Edit, update details, then Update
4Under Alternate contacts, click Edit
5Enter Security contact name, email, and phone (use a team alias), then Update
6Repeat for Billing and Operations if needed

Check Code

from prowler.lib.check.models import Check, Check_Report_AWS
from prowler.providers.aws.services.account.account_client import account_client

# This check has no findings since it is manual


class account_maintain_current_contact_details(Check):
    def execute(self):
        report = Check_Report_AWS(metadata=self.metadata(), resource={})
        report.region = account_client.region
        report.resource_id = account_client.audited_account
        report.resource_arn = account_client.audited_account_arn
        report.status = "MANUAL"
        report.status_extended = "Login to the AWS Console. Choose your account name on the top right of the window -> My Account -> Contact Information."
        return [report]