AWS Builder Center

From GuardDuty Finding to Human-Reviewed Response

A practical pattern for turning GuardDuty findings into owned, traceable response work without making risky changes on autopilot. It covers routing, deduplication, triage, approval, and the operational checks that keep the queue trustworthy.

Student

Why add a response queue?

A GuardDuty finding is a signal to investigate, not always an instruction to isolate an instance or disable an access key. A small response pipeline can make each finding visible, assign an owner, and preserve the evidence behind the decision while keeping containment under human control.

A simple flow

  1. Route findings. Create an EventBridge rule for the GuardDuty findings you want to handle. Send matching events to an SQS queue so a temporary worker failure does not drop the work.
  2. Make processing idempotent. Use the finding ID together with the account and Region as the event key. Record when it was first seen, when it was last seen, and the current case status. Replayed events should update the existing case instead of creating duplicate tickets.
  3. Enrich, then assign. Add only the context needed to investigate: the affected resource, its account and Region, its owner or workload tag, and a link back to the original finding. Route to a team using an explicit account or tag mapping; send records with missing ownership to a small exception queue.
  4. Keep the decision human. Create a ticket or case with the finding, context, and suggested checks. A responder can validate whether the activity is expected and choose the next step. Require approval before containment actions such as isolating a workload or changing credentials.

Triage without hiding uncertainty

Use the finding type and resource context to order the queue, but make the evidence visible. A confirmed compromise may need urgent escalation. An unexpected API call from a deployment role may be a real issue or a broken rollout. A known test environment may be expected, but the exception should still have an owner and a review date.
Keep the original finding alongside any summary. If a case is closed as expected activity, record the reason and what evidence supported it. Avoid broad suppressions that hide future findings across unrelated accounts or resources.

Reliability checks

  • Add a dead-letter queue and alert on messages that fail repeatedly.
  • Track duplicate deliveries and make retries safe.
  • Alarm on queue age as well as queue depth; a small queue can still be stale.
  • Test representative findings, missing owner tags, repeated events, and worker timeouts in a non-production account.
  • Check that the response role can read the context it needs and cannot perform containment unless that is an approved part of the workflow.

Measure the outcome

Start with time from finding to assigned owner, oldest open case, duplicate rate, and exceptions past their review date. These measures show whether the queue helps responders act sooner without turning a useful signal into an unreviewed automation.
The goal is a reliable handoff: every finding has a traceable owner, evidence, and next step, while consequential response actions remain deliberate.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article