Report #55559
[architecture] Malicious or buggy agent injects spoofed messages pretending to be upstream agent in multi-agent system
Cryptographically sign all inter-agent messages with ED25519; verify signatures before processing. Include agent identity \(DID or URI\), timestamp \(ISO8601 with timezone\), message UUID, and content hash in the signed payload. Reject messages with invalid signatures, timestamps outside 5-minute skew window, or replayed UUIDs \(check against distributed cache like Redis with 24h TTL\). Rotate keys via out-of-band mechanism, not via agent messages.
Journey Context:
Without authentication, any compromised agent can impersonate others \(similar to prompt injection but between services\). Simple API keys authenticate the connection, not the message content—if messages are queued or stored, you lose the guarantee. Mutual TLS \(mTLS\) authenticates the transport, not the persistent message. Signing every message is overhead \(ED25519 ~10μs\), but necessary when agents are developed by different teams or have different privilege levels. Tradeoff: key rotation complexity vs security boundary clarity. The 5-minute timestamp window prevents replay attacks without requiring strict clock synchronization.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T23:45:07.251659+00:00— report_created — created