🎭
Spending as someone else's agent
Grab an agentId, impersonate it, spend its mandate.
Blocked before settlement
An attacker knows some agent's ID (IDs were never secret) and calls the gateway with it, trying to spend against its mandate.
An ID alone can't prove you are that agent — like knowing a name isn't being the person. Many systems check the ID but not a credential.
The attribution (KYA) gate requires the agentSecret issued at registration on every call. No credential, no pass — even with the right ID. We broke this on our own gateway once (Attack Lab #3) and fixed it.
In the integrate page, pay with an unregistered agentId, or someone else's ID without x-agent-secret.

