WAF-AGN-060 – Multi-Agent Orchestration

Beschreibung

Many agents must be coordinated. Agent orchestration MUST use coordinator/manager patterns or mesh architectures. Event-based communication MUST be configured for agent messaging. Failure recovery and agent health monitoring MUST be in place.

Begründung

Risiko Beschreibung

Risk

Uncoordinated agents create race conditions, deadlocks, or duplicate critical operations.

Risk

Missing orchestration governance allows agent swarms to bypass approval boundaries.

Anforderungen

  • Many agents must be coordinated.

  • Agent orchestration MUST use coordinator/manager patterns or mesh architectures.

  • Event-based communication MUST be configured for agent messaging.

  • Failure recovery and agent health monitoring MUST be in place.

Implementierungsleitfaden

  1. Document the requirement in a version-controlled policy or standard.

  2. Assign ownership and establish a review cadence (e.g., quarterly).

  3. Implement the required configuration as code in Terraform or equivalent IaC.

Reifegrade

Level Name Kriterien

L1

Ad hoc – control not consistently applied

* Manual evidence exists for some workloads, but coverage is unknown.

L2

Standardised – policy defined and communicated

* A version-controlled policy, ADR, or standard describes the requirement.

L3

Integrated – automated validation in CI/CD

* Terraform checks run automatically on pull requests and report results.

L4

Auditable – metrics and exceptions tracked

* Control coverage, failures, and approved exceptions are reported quarterly.

L5

Optimised – continuous improvement based on data

* Control effectiveness is measured and iteratively improved.

Checks

waf-agn-060.tf.aws.coordinator-agent-configured

Engine: terraform | Provider: aws | Automated: Ja

Multi-agent systems must have coordinator/manager configured

Multi-agent AWS Bedrock systems must have a coordinator agent that manages worker agents. The coordinator must route tasks, aggregate results, and handle failures.

Scope: resource — aws_bedrockagent, aws_lambda_function, aws_sfn_state_machine

Assertions: * agent_name not empty — Coordinator agent must be configured for multi-agent systems.

Remediation: Design a coordinator agent pattern where one agent orchestrates multiple specialized agents. Use AWS Step Functions or Lambda to manage the coordination flow. Define clear task delegation and result aggregation.

Compliant
# Coordinator agent manages worker agents
resource "aws_bedrockagent" "coordinator" {
  agent_name = "agent-coordinator"
  # Manages multiple worker agents
}

resource "aws_bedrockagent" "worker_analysis" {
  agent_name = "analysis-worker"
  # Works under coordinator direction
}

resource "aws_bedrockagent" "worker_research" {
  agent_name = "research-worker"
  # Works under coordinator direction
}

# Coordination via Step Functions or Lambda
resource "aws_lambda_function" "agent_coordinator" {
  function_name = "agent-coordinator-function"
  # Coordinates agent communication
}
Non-Compliant
# No coordinator defined
# WAF-AGN-060 Violation

waf-agn-060.tf.aws.event-based-communication

Engine: terraform | Provider: aws | Automated: Ja

Agent communication must use event-based messaging

Agents must communicate via event-based channels (SNS, SQS, EventBridge) rather than direct HTTP calls. This ensures decoupling, resilience, and auditability of agent interactions.

Scope: resource — aws_sns_topic, aws_sqs_queue, aws_bedrockagent

Assertions: * name not empty — Event-based communication (SNS/SQS/EventBridge) must be configured.

Remediation: Configure SNS topics, SQS queues, and EventBridge rules for agent communication. Agents publish messages to channels and subscribe to relevant events. Avoid direct agent-to-agent HTTP endpoints.

Compliant
resource "aws_sns_topic" "agent_events" {
  name = "agent-events"
}

resource "aws_sqs_queue" "agent_queue" {
  name = "agent-messages"
}

resource "aws_sns_topic_subscription" "agent_subscription" {
  topic_arn = aws_sns_topic.agent_events.arn
  protocol  = "sqs"
  endpoint  = aws_sqs_queue.agent_queue.arn
}

resource "aws_bedrockagent" "event_agent" {
  agent_name = "event-based-agent"
  # Listens to SNS/SQS for events
}
Non-Compliant
resource "aws_bedrockagent" "direct-agent" {
  agent_name = "direct-rpc-agent"
  # Direct HTTP calls to other agents
  # WAF-AGN-060 Violation
}

waf-agn-060.tf.aws.failure-recovery-configured

Engine: terraform | Provider: aws | Automated: Ja

Multi-agent systems must have failure recovery configured

Multi-agent systems must have automated failure recovery. Failed agents must be restarted, messages requeued, and alerts raised. Dead letter queues must be configured for failed messages.

Scope: resource — aws_sqs_queue, aws_cloudwatch_metric_alarm

Assertions: * name not empty — Failure recovery (dead letter queue, alarms) must be configured.

Remediation: Configure CloudWatch Alarms for agent health monitoring. Set up Lambda retry policies and dead letter queues for failed message processing. Implement agent health checks with automatic restart.

Compliant
resource "aws_sqs_queue" "dead_letter_queue" {
  name = "agent-dead-letter"
}

resource "aws_sqs_queue" "main_queue" {
  name = "agent-messages"
  redrive_policy = jsonencode({
    deadLetterTargetArn = aws_sqs_queue.dead_letter_queue.arn
    maxReceiveCount       = 3
  })
}

resource "aws_cloudwatch_metric_alarm" "agent_health" {
  alarm_name          = "agent-health-alarm"
  comparison_operator = "LessThanThreshold"
  evaluation_periods  = 3
  metric_name         = "Invocations"
  namespace           = "AWS/Lambda"
  period              = 300
  statistic           = "Sum"
  threshold           = 1
  alarm_description   = "Agent failure detected"
}
Non-Compliant
resource "aws_sqs_queue" "no_redrive" {
  name = "messages-no-recovery"
  # No dead letter queue configured
  # WAF-AGN-060 Violation
}

waf-agn-060.tf.azurerm.event-grid-coordination

Engine: terraform | Provider: azurerm | Automated: Ja

Azure Event Grid must be configured for agent coordination

Azure Event Grid topics and subscriptions must be configured for event-based communication between agents, enabling decoupled coordination.

Scope: resource — azurerm_eventgrid_topic, azurerm_eventgrid_event_subscription

Assertions: * name not empty — Event Grid topic must be configured for agent coordination. * scope not empty — Event Grid subscription must route agent events.

Remediation: Deploy azurerm_eventgrid_topic and azurerm_eventgrid_event_subscription to route agent events between coordinator and worker agents.

Compliant
resource "azurerm_eventgrid_topic" "agent_events" {
  name                = "agent-events"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name
}

resource "azurerm_eventgrid_event_subscription" "agent_subscription" {
  name  = "agent-worker-subscription"
  scope = azurerm_eventgrid_topic.agent_events.id

  webhook_endpoint {
    url = "https://agent-worker.example.com/events"
  }
}
Non-Compliant
resource "azurerm_cognitive_deployment" "agent" {
  name = "standalone-agent"
  # No Event Grid coordination configured
  # WAF-AGN-060 Violation
}

waf-agn-060.tf.google.eventarc-coordination

Engine: terraform | Provider: google | Automated: Ja

GCP Eventarc triggers must be configured for agent coordination

GCP Eventarc triggers must route agent events to Cloud Run services or Cloud Functions for event-based coordination between agents.

Scope: resource — google_eventarc_trigger

Assertions: * matching_criteria attribute exists — Eventarc trigger must define matching criteria for agent events. * destination attribute exists — Eventarc trigger must route events to an agent service destination.

Remediation: Configure google_eventarc_trigger resources to subscribe to relevant events and route them to agent services.

Compliant
resource "google_eventarc_trigger" "agent_event" {
  name     = "agent-coordination-trigger"
  location = "europe-west3"

  matching_criteria {
    attribute = "type"
    value     = "google.cloud.pubsub.topic.v1.messagePublished"
  }

  destination {
    cloud_run_service {
      service = google_cloud_run_service.agent_worker.name
      region  = "europe-west3"
    }
  }
}
Non-Compliant
resource "google_cloud_run_service" "agent_worker" {
  name = "agent-worker"
  # No Eventarc trigger for event-based coordination
  # WAF-AGN-060 Violation
}

waf-agn-060.tf.stackit.agentic-coordination-defined

Engine: terraform | Provider: stackit | Automated: Ja

Many agents must be coordinated for stackit

Many agents must be coordinated must be documented in IaC via a agentic-coordination-defined tag/label on stackit_project. This validates the control is tracked as code.

Scope: resource — stackit_project

Assertions: * labels key exists — stackit_project is missing the agentic-coordination-defined tag/label.

Remediation: Add a agentic-coordination-defined tag/label to the stackit_project resource to show the stackit implementation of WAF-AGN-060 is tracked in IaC.

Compliant
resource "stackit_project" "example" {
  labels = {
    agentic-coordination-defined = "true"
  }
}
Non-Compliant
resource "stackit_project" "example" {
  # Missing agentic-coordination-defined labels
}

waf-agn-060.tf.ovh.agentic-coordination-defined

Engine: terraform | Provider: ovh | Automated: Ja

Many agents must be coordinated for ovh

Many agents must be coordinated must be documented in IaC via a agentic-coordination-defined tag/label on ovh_cloud_project. This validates the control is tracked as code.

Scope: resource — ovh_cloud_project

Assertions: * tags key exists — ovh_cloud_project is missing the agentic-coordination-defined tag/label.

Remediation: Add a agentic-coordination-defined tag/label to the ovh_cloud_project resource to show the ovh implementation of WAF-AGN-060 is tracked in IaC.

Compliant
resource "ovh_cloud_project" "example" {
  tags = {
    agentic-coordination-defined = "true"
  }
}
Non-Compliant
resource "ovh_cloud_project" "example" {
  # Missing agentic-coordination-defined tags
}

waf-agn-060.tf.hcloud.agentic-coordination-defined

Engine: terraform | Provider: hcloud | Automated: Ja

Many agents must be coordinated for hcloud

Many agents must be coordinated must be documented in IaC via a agentic-coordination-defined tag/label on hcloud_server. This validates the control is tracked as code.

Scope: resource — hcloud_server

Assertions: * labels key exists — hcloud_server is missing the agentic-coordination-defined tag/label.

Remediation: Add a agentic-coordination-defined tag/label to the hcloud_server resource to show the hcloud implementation of WAF-AGN-060 is tracked in IaC.

Compliant
resource "hcloud_server" "example" {
  labels = {
    agentic-coordination-defined = "true"
  }
}
Non-Compliant
resource "hcloud_server" "example" {
  # Missing agentic-coordination-defined labels
}

Evidenz

Art Erforderlich Beschreibung

iac

Erforderlich

Terraform configuration implementing the control.

governance

Erforderlich

Policy, ADR, or standard documenting the requirement.

config

Optional

Cloud console or API output confirming runtime state.

Verwandte Controls

Framework Controls

ISO 27001:2022

* A.8.1 – Information security roles and responsibilities * A.8.2 – Privileged access rights

ISO 27017

* CLD.9.5 – Segregation in virtual computing environments

CIS Controls v8

* CIS 13 – Content Filtering

SOC 2 Type II

* CC4.1 – Monitoring activities * CC7.1 – Infrastructure and software monitoring

NIST SP 800-53

* AU-2 – Event logging * AU-6 – Audit review and analysis

NIST CSF 2.0

* DE.CM – Continuous monitoring * DE.DP – Data protection

GDPR

* Art. 32 – Security of processing * Art. 5(1)(f) – Integrity and confidentiality

PCI DSS v4.0

* Req 10 – Monitor and detect threats

CSA STAR

* CCM Logging and Monitoring

BSI C5:2020

* OPS-01 – Operational monitoring

TISAX

* Information security – Monitoring and logging

ANSSI SecNumCloud

* Domain – Logging and monitoring

BIO

* BIO – Logboekhouding en monitoring

ENS High

* op.exp.6 – Gestión de cambios

UK NCSC CAF

* A4 – Policy and assurance

FedRAMP

* AU-2, AU-6 (Moderate baseline)

CMMC 2.0

* AU.L2-3.8.1 – Flow audit logs to central log management

IT-Grundschutz

* ORP.1 – Organisation

IRAP

* ISM – Logging and monitoring

CCCS PBMM

* AU-2, AU-6 – Logging and audit

MAS TRM

* Ch.9 – Change management

ISMAP

* Monitoring and logging controls

FISC

* Technical measures – Logging and monitoring