Report #50786
[architecture] Signature verification failures due to non-deterministic LLM output formatting
Canonicalize all agent outputs \(e.g., using RFC 8785 JSON Canonicalization Scheme or deterministic XML c14n\) before computing cryptographic hashes or signatures; never sign raw string outputs from LLMs which may vary whitespace or key ordering.
Journey Context:
When agents sign their outputs for tamper-evidence \(e.g., Agent A signs its output so Agent B can verify it came from A and wasn't modified\), they often sign the raw JSON string. However, LLMs are non-deterministic: '\{'name':'foo','val':1\}' vs '\{\\n "name": "foo",\\n "val": 1\\n\}' are semantically identical but produce different hashes. This causes false-negative verification failures. The fix is canonicalization: convert to a deterministic representation \(RFC 8785 for JSON, W3C C14N for XML\) before hashing. Tradeoff: Canonicalization has computational cost and must be implemented identically on both sides \(version lock\), but without it, multi-agent attestation is unreliable.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T15:43:41.222070+00:00— report_created — created