Cloud Security Alert Triage: How to Work Through 50,000 GuardDuty and Security Hub Findings

Retool's new app builder is where AI-generated code ships safely
Building apps with AI is easy. Getting them to production safely is another story.
Open the GuardDuty console for a mid-size AWS environment and the finding count is rarely below 10,000. Add Security Hub aggregation across multiple accounts and standards, and that number climbs past 50,000 without blinking. Most security teams respond to this volume one of two ways: they either attempt to work every finding in order of creation timestamp, which produces churn without resolution, or they implement blanket suppression rules that silence entire finding categories, which creates dangerous blind spots. Neither approach is security. This guide presents a structured triage methodology that lets you extract the findings that represent actual risk in any given week, suppress chronic noise without losing signal, and build a reporting framework your leadership will understand. The underlying principle is simple: not all findings are alerts, and not all alerts are incidents. GuardDuty and Security Hub serve different purposes in your security architecture, and treating them as interchangeable produces the alert fatigue that causes real threats to be missed.
Why Cloud Alert Volume Is Fundamentally Different
On-premises security operations centers grew up in a world where the infrastructure footprint was relatively stable. New servers were provisioned on a quarterly cycle, network topology changed infrequently, and the same 50 hosts generated roughly the same event pattern day after day. Cloud environments operate on an entirely different model. Auto-scaling groups spin EC2 instances up and down based on CPU thresholds. Lambda functions execute millions of times per day. ECS tasks start, run for 200 milliseconds, and terminate before a SIEM has time to index their CloudTrail logs. Every one of these ephemeral resources can generate GuardDuty findings independently.
The other structural difference is the API-driven change model. In a traditional data center, changing a firewall rule requires a change ticket, a maintenance window, and a network engineer. In AWS, a developer with an IAM policy that allows ec2:AuthorizeSecurityGroupIngress can open a security group to 0.0.0.0/0 in a single API call at 2 AM on a Sunday. That action will generate a Security Hub finding against the AWS Foundational Security Best Practices standard, but it will share a console queue with 49,999 other findings, most of them far less urgent.
Scale matters too. A single AWS organization with 50 accounts across three regions can generate GuardDuty findings at a rate that exceeds what any human team can manually review. The implication is not that you need more analysts. The implication is that you need a methodology for automated prioritization that surfaces the 0.1% of findings representing real risk while correctly categorizing the other 99.9% as noise, chronic issues, or compliance debt.
GuardDuty Finding Taxonomy: What to Prioritize
GuardDuty organizes its findings into categories that correspond to different detection mechanisms. Understanding the taxonomy is the first step toward a rational triage policy. The major categories are: threat intelligence-based findings (where an IP, domain, or user agent matches a known malicious indicator), anomaly-based findings (where behavior deviates from established baselines), malware detection findings (from EBS and S3 malware scanning), and credential compromise findings (unusual API call patterns from IAM principals).
The prioritization hierarchy that works consistently across environments is: credential and IAM findings first, threat intelligence matches against active resources second, anomaly findings third, and compliance/configuration findings last. The reasoning behind this ordering reflects where attackers can do irreversible damage fastest. An IAM access key exposed in a public GitHub repository can result in complete account compromise within minutes. A threat intelligence match on an EC2 instance communicating with a known C2 IP represents an active compromise. An anomaly finding about unusual API call volume from a Lambda function might be a developer testing a new feature.
Specific finding types that should always trigger immediate investigation regardless of assigned severity: UnauthorizedAccess:IAMUser/MaliciousIPCaller, CredentialAccess:IAMUser/AnomalousBehavior, Policy:IAMUser/RootCredentialUsage, Impact:S3/MaliciousIPCaller, and any finding in the Exfiltration category. These represent either active credential compromise or active data exfiltration patterns. The GuardDuty-assigned severity score is a starting point, not a verdict.
Subscribe to unlock Remediation & Mitigation steps
Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.
Briefings like this, every morning before 9am.
Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.
Security Hub vs GuardDuty: Two Different Problems
The most common mistake in cloud security operations is treating Security Hub as a better version of GuardDuty or treating GuardDuty as redundant once Security Hub is deployed. These tools address fundamentally different security questions and conflating them produces gaps in both coverage and triage.
GuardDuty is a threat detection service. It monitors VPC flow logs, DNS logs, CloudTrail management events, S3 data events, and EKS audit logs for indicators of active threats. Its findings represent things that are happening right now or have happened recently: an IAM user calling an API from a known malicious IP, an EC2 instance querying a domain associated with a C2 framework, a container performing a crypto-mining activity pattern. GuardDuty findings are operational security alerts that require investigation.
Security Hub is a compliance and posture management service. It evaluates your AWS resource configurations against security standards (CIS AWS Foundations Benchmark, PCI-DSS, AWS Foundational Security Best Practices, NIST 800-53) and reports control failures as findings. A Security Hub finding that says your S3 bucket does not have server-access logging enabled is a configuration weakness, not an attack. It also aggregates findings from GuardDuty, Inspector, Macie, and third-party tools into a normalized format using the Amazon Security Finding Format (ASFF). This aggregation is valuable, but it also means Security Hub surfaces both active threat alerts and chronic configuration debt in the same interface.
The practical implication for triage: Security Hub findings with a source of GuardDuty should follow the threat detection prioritization model. Security Hub findings with a source of Security Hub itself (the compliance standards) should follow a separate risk-based remediation backlog process. Never put compliance debt and active threats in the same queue.
The Triage Priority Score Formula
Building a priority score for cloud findings requires combining four independent variables into a single comparable number. The formula used successfully across multiple organizations is: Priority = (Severity Score x 3) + (Resource Criticality x 2) + (Recurrence Penalty x 1) - (Finding Age Discount x 1). Each variable is scored 1 through 5.
Severity Score maps directly from the GuardDuty or Security Hub normalized severity: CRITICAL=5, HIGH=4, MEDIUM=3, LOW=2, INFORMATIONAL=1. Resource Criticality requires a resource classification inventory: production data stores and IAM roles with sensitive permissions score 5, production compute scores 4, staging environments score 3, development scores 2, sandboxes score 1. If you do not have a formal resource classification, use a rough heuristic: does this resource have access to customer data, payment data, or sensitive credentials? If yes, score it 4 or 5.
Recurrence Penalty rewards findings that have appeared repeatedly in a short window. A finding type that has triggered more than 5 times in 7 days on the same resource gets a recurrence score of 5. A novel finding scores 1. The recurrence dimension distinguishes between a chronic misconfiguration that keeps generating findings and an anomalous event that is genuinely new. Finding Age Discount reduces priority for stale findings: findings older than 30 days that have not changed status score a discount of 3, findings older than 7 days score 1, and findings within the last 24 hours score 0. The rationale is that a finding open for 60 days with no change in status is almost certainly either a known issue being tracked elsewhere or chronic noise. It should not crowd out new findings in a weekly review.
A CRITICAL severity finding (15 points) on a production IAM role (10 points) that has appeared 8 times this week (5 points) and was first seen yesterday (0 discount) scores 30 points. A HIGH severity finding (12 points) on a sandbox S3 bucket (2 points) that appeared once (1 point) and is 45 days old (3 point discount) scores 12 points. These two findings should not be treated identically.
Suppression Rules: Reducing Noise Without Creating Blind Spots
Suppression in GuardDuty archives findings that match defined criteria so they no longer appear in the active finding list. Suppression rules are the correct tool for findings that have been investigated, are fully understood, and genuinely represent expected behavior rather than security risk. The critical discipline is documentation: every suppression rule must have a written justification, an owner, and a review date no more than 90 days out.
Common categories of legitimate suppression targets include pentest activities (where the external IP ranges of contracted pentesters generate UnauthorizedAccess findings), security scanner infrastructure (internal vulnerability scanning tools that generate VPC flow log anomalies), and known automation pipelines (CI/CD systems that make unusual API call patterns during deployments). For each category, suppression rules should be as specific as possible. Suppress UnauthorizedAccess:EC2/TorClient for a specific pentest IP range for 30 days. Do not suppress the entire UnauthorizedAccess:EC2/TorClient finding type globally and permanently.
Security Hub suppression works differently: findings can be set to SUPPRESSED status, which removes them from default views but retains them for audit purposes. Use Security Hub suppression for accepted risks (where a control failure has been explicitly accepted by the appropriate risk owner with documented justification), for compensating controls (where an alternative control addresses the same risk as the failing standard), and for not-applicable findings (where a control evaluates a service your organization does not use). The Security Hub suppression workflow should feed into your risk acceptance register, not bypass it.
Subscribe to unlock Remediation & Mitigation steps
Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.
Building the Weekly Top-10 With Security Hub Insights
Security Hub Insights are saved searches that aggregate findings by a grouping attribute and surface the groups with the highest finding counts or severity scores. The built-in insights cover most common use cases, but custom insights provide the real operational value. The key insight configurations for a weekly top-10 workflow are: findings grouped by resource ID with a filter for CRITICAL and HIGH severity produced in the last 7 days; findings grouped by finding type with a filter for active status and a minimum count threshold; and findings grouped by account ID for multi-account environments where you need to identify which accounts are generating the most risk.
The Security Hub console provides a query interface, but the scalable approach is the Security Hub API. The GetInsightResults API returns the top 100 values for any Insight. Pair this with a Lambda function that runs on a weekly schedule, pulls the top results from each key insight, deduplicates by resource ARN, and publishes the consolidated list to a Slack channel or ticketing system. The Lambda execution should take less than 30 seconds and costs pennies. This is the automation that transforms the weekly cloud security review from a manual console browsing exercise into a structured agenda with pre-identified priorities.
For the weekly review meeting format: dedicate the first 15 minutes to the top-10 list from the automated insight query, the next 15 minutes to any findings that crossed a priority score threshold of 25 or above since the last review, and the remaining time to suppression rule review and new rule proposals. This structure ensures the meeting produces decisions rather than just consuming information.
IAM Credential Findings Always Get Priority
The single finding category that should consistently override every other triage consideration is credential and IAM anomaly findings. The reason is asymmetric blast radius. A compromised EC2 instance with no IAM role attached is a bad day for that one instance. A compromised IAM role with AdministratorAccess is a complete account breach. The attacker-to-damage conversion rate for IAM credential compromise is orders of magnitude higher than any other finding type.
Specific IAM finding types and their typical kill chain implications: UnauthorizedAccess:IAMUser/ConsoleLoginSuccess.B indicates a successful console login from a Tor exit node or known malicious IP, meaning an attacker has interactive access to your account right now. CredentialAccess:IAMUser/AnomalousBehavior indicates a credential is being used to call APIs it has never called before, which is the classic pattern of an attacker who has just obtained an access key and is exploring what it can do. Policy:IAMUser/RootCredentialUsage should never appear in a well-operated environment because root credentials should never be used operationally. Any root usage finding is by definition a critical investigation regardless of severity score.
The investigation workflow for IAM findings should proceed in this order: identify the IAM principal involved, pull all CloudTrail events for that principal in the last 72 hours, identify any IAM policy changes or new access key creation performed by the compromised principal, identify any resources created or accessed under the compromised credential, and then contain by disabling the access key or attaching an explicit Deny policy to the IAM principal. Rotating the key is insufficient if the attacker has used the key to create additional credentials or modify policies.
Low-Severity Findings That Are Actually Critical
GuardDuty and Security Hub severity scores reflect the general risk profile of a finding type across all contexts. They do not account for the specific sensitivity of the resource involved in your environment. Several finding types are assigned MEDIUM or LOW severity by default but represent critical risk when they appear on certain resources.
S3 bucket policy changes that allow public access are sometimes categorized as MEDIUM severity because S3 buckets containing public-facing assets like website content legitimately need public access. But the same finding on an S3 bucket tagged as containing customer PII, financial records, or cryptographic material is an immediately critical issue regardless of the assigned severity number. Build resource tags into your triage scoring and override the base severity when high-sensitivity resources are involved.
Cross-account role assumption findings deserve similar attention. The finding type UnauthorizedAccess:IAMUser/CrossAccountCaller or discovery findings showing new cross-account trust relationships can appear at MEDIUM severity. But an external account assuming a role in your production environment for the first time is a significant event that requires immediate investigation to confirm whether it was an authorized change or a trust policy misconfiguration being exploited. The IAM Access Analyzer service, which integrates with Security Hub, specifically surfaces cross-account and external access paths that are worth reviewing in conjunction with GuardDuty findings on the same principals.
Leadership Metrics From Cloud Alert Data
Security leadership needs a different view of cloud alert data than the operations team. The raw finding counts and severity distributions that are useful for triage are not meaningful to a CISO or board audience. The metrics that translate cloud security posture into business language are: mean time to acknowledge for CRITICAL findings (should be under 4 hours), mean time to remediate for HIGH findings (should be under 5 business days), the trend in suppression coverage (are you reducing noise strategically or just hiding problems), and the ratio of new findings to resolved findings over time (a ratio greater than 1 means your security debt is growing faster than you are addressing it).
For monthly business reviews, the most effective framing is a three-line summary: how many CRITICAL and HIGH findings were identified, how many were remediated versus suppressed with documentation versus remain open, and what the top-3 recurring finding types are and what the remediation plan is. This format forces the operations team to have actual remediation plans for recurring findings rather than simply acknowledging them, and it gives leadership a concrete sense of whether the program is making progress.
The bottom line
Cloud security alert triage is a data management problem before it is a security problem. GuardDuty and Security Hub together produce a finding volume that makes manual review impossible at any meaningful scale. The teams that stay ahead of the noise are the ones that have built structured prioritization models, documented suppression rules, and automated the weekly insight queries that surface what actually matters. IAM credential findings and cross-account access anomalies are your highest-priority signals. Configuration compliance debt is real but it belongs in a separate remediation backlog, not in the same queue as active threat indicators. Build the automation, review the suppressions regularly, and report the trend lines that tell you whether the program is improving.
Frequently asked questions
How often should we review GuardDuty suppression rules?
Every active suppression rule should be reviewed at least every 90 days. Pentest-related suppressions should expire automatically based on engagement dates. Suppression rules for scanner infrastructure should be reviewed whenever the scanner IP range changes. The biggest risk with suppression rules is that they outlive the condition that justified them, creating permanent blind spots for finding types that the organization has forgotten it is ignoring.
Should we enable all Security Hub standards or just one?
Enable the standards that have compliance or contractual relevance to your organization first. For most organizations, AWS Foundational Security Best Practices is the highest-value starting point because it covers the controls most directly tied to AWS-specific attack surfaces. CIS AWS Foundations Benchmark Level 1 is appropriate for organizations subject to CIS-based audit requirements. Enabling all available standards simultaneously produces significant finding volume overlap and makes it harder to prioritize. Start with one or two standards and expand deliberately.
What is the difference between GuardDuty delegated administration and Security Hub delegated administration?
Both services support a delegated administrator model where a designated account (typically a dedicated security account in your AWS Organizations structure) receives findings from all member accounts. GuardDuty delegated administration centralizes threat detection findings. Security Hub delegated administration centralizes compliance findings and provides a cross-account Insights capability. You should configure both with the same delegated administrator account to create a single-pane view, but the finding types and triage workflows remain distinct as described in this guide.
How do we handle GuardDuty findings for resources that no longer exist?
Ephemeral resources like Lambda function invocations, ECS tasks, and auto-scaling instances will frequently generate findings for resources that have already terminated by the time the finding is reviewed. These findings should not be closed as false positives because the underlying behavior was real. They should be investigated based on the IAM principal and network behavior associated with the ephemeral resource, then archived with a note that the specific resource is no longer running. If the same behavior pattern recurs on newly launched instances, the finding will reappear and the recurrence score in your triage model will escalate its priority.
Is GuardDuty sufficient or do we also need a third-party CSPM?
GuardDuty and Security Hub together provide strong native coverage for AWS environments, but they have limitations that third-party CSPM tools address. Native tools do not provide asset inventory correlation, attack path analysis, or cross-cloud coverage if your organization also uses Azure or GCP. Third-party tools like Wiz, Orca, or Lacework provide context-enriched findings that combine vulnerability data, network exposure, and identity permissions into a prioritized risk score that is often easier to operationalize than raw GuardDuty findings. For AWS-only environments with mature operations teams, the native tooling is sufficient. For multi-cloud environments or teams without dedicated cloud security expertise, a third-party CSPM adds significant value.
Sources & references
Free resources
Critical CVE Reference Card 2025–2026
25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.
Ransomware Incident Response Playbook
Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.
Get threat intel before your inbox does.
50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, daily, no spam.
Unsubscribe anytime. We never sell your data.

Founder & Cybersecurity Evangelist, Decryption Digest
Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.
Win a $2,495 Black Hat pass.
Full-access to Black Hat USA 2026 in Las Vegas. Subscribe free to enter.
