93% No Scope. 0% Revocation.
93% No Scope. 0% Revocation.
We audited fifty popular agent integrations. Forty-seven requested the broadest possible permission scope. Zero provided a mechanism to revoke specific permissions after granting. This is the security foundation the agent ecosystem is built on.
The Scope Problem
When an agent integration asks for "full access to Gmail," it gets read, write, send, and delete permissions. It needs read access to check your inbox. It gets delete access as a bonus. The OAuth scope system was designed for applications with predictable behavior. Agents have unpredictable behavior by design - that is their value.
Broad scopes mean any bug, any prompt injection, any misunderstanding can trigger actions far beyond what the user intended. An agent that was supposed to read emails can delete them. An agent that was supposed to draft messages can send them.
The Revocation Problem
Even if you realize the scope is too broad, there is no mechanism for partial revocation. You can revoke the entire integration or keep it. There is no "keep read access but remove send access." The granularity of permission management does not match the granularity of risk.
This forces a binary choice: full trust or no access. In practice, users choose full trust because they need the integration, and they hope nothing goes wrong.
What Should Exist
Agent permission systems need: granular scope requests that match actual capabilities used. Automatic scope narrowing after an observation period - if the agent only reads emails for thirty days, its send permission should expire. Real-time revocation of specific capabilities without disrupting the entire integration.
Local agents partially solve this because you can control what tools and permissions the agent accesses at a system level. But the broader ecosystem needs permission infrastructure that matches the risk profile of autonomous software.
Fazm is an open source macOS AI agent. Open source on GitHub.