watch13 min
You Didn't Ship a Bug. You Just Wrote It for a Human. - Ravi Madabhushi, Scalekit
Ravi Madabhushi (Scalekit) · AI Engineer
Thirteen dense minutes on why authorization systems break when the entity acting isn't the entity that authenticated — which is exactly what agents do. If you're wiring agents into user accounts via OAuth today, this talk explains why broad scopes plus non-deterministic behavior is how production databases get deleted, and what a proper model looks like: separate agent identity, least-privilege defaults, just-in-time elevation, and full traceability.
- OAuth scopes are too coarse for agents: 'send email on your behalf' vs 'send email only to these recipients at this hour' is the difference between over-permissioned and safe.
- MCP servers often surface every available tool regardless of which user authorized the agent, exposing capabilities beyond the intended context.
- Agents need their own identity bound to the principal, with least-privilege defaults and just-in-time requests for elevated scopes.
- Every action must be traceable: which agent, on behalf of whom, authorized by whom, when, for what, and for how long.
Jump to the minute