AWS incident response agent that investigates CloudWatch alarms, proposes fixes via Bedrock, and executes approved remediation actions with human-in-the-loop approval
Server has 5 tools with schemas and descriptions, but quality is inconsistent. Tool names lack clear action verbs (analyze_incident, propose_fix are acceptable; execute_approved, validate_fix, rollback are weak). Descriptions are present but generic (avg ~120 chars, below 194-char baseline). Parameter descriptions exist but lack specificity on constraints, formats, and error recovery. No output schemas documented. Critical security issue: execute_approved and rollback accept 'token' as a parameter, violating secret-injection pattern. Error handling is minimal, no recovery guidance or actionable error messages visible in code.
Analyzes CloudWatch alarm and infrastructure logs to identify the root cause of the incident. Collects metrics, recent alarm history, and resource state.
Executes the approved fix actions. Requires a valid HITL approval token. Supports any action type: kubectl, terraform, aws_cli, ssm, manual. Every action is logged to CloudTrail via structured audit log.
Proposes a fix for the incident based on the analysis. Returns root cause, fix description, risk level, expected outcome, and a list of actions to execute.
Rolls back the fix if validation fails. Executes undo actions to restore the resource to its previous state.
Validates that the fix was successful by checking CloudWatch metrics and alarm state. Confirms the triggering alarm has transitioned back to OK and no new alarms have fired.
CRITICAL: Secrets exposed as tool parameters. execute_approved and rollback accept 'token' (HITL approval token) as a parameter. Tokens will be logged in traces, prompt history, and audit logs. Violates secret-injection pattern.
No output schemas documented. Tools return results but LLMs cannot predict response structure. Breaks downstream tool chaining and forces parsing of unstructured output.
Parameter descriptions lack constraint details. 'actions' array in propose_fix and execute_approved has no schema for items (type: object with no properties defined). LLMs cannot validate action structure.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
Weak action verb naming. 'execute_approved' and 'validate_fix' do not clearly signal what happens. 'execute_approved' should be 'execute_fix' or 'apply_fix'. 'validate_fix' should be 'check_fix_success' or 'verify_fix'.
No error handling guidance in tool descriptions. No mention of retryable vs fatal errors, recovery steps, or actionable error messages. Code shows generic exception logging but no structured error responses.