Uber: 50+ Approvals per Session, Zero Real Oversight
Ricardo Argüello — August 13, 2026
CEO & Founder
General summary
Uber open-sourced ADR, the security system it built after admitting its own tooling could not see what its agents were doing. Buried in its MLSys 2026 slides is a finding almost nobody quoted: some people approve more than 50 actions per session, and Uber's own conclusion is that at that point there is no real oversight. The control most companies rely on as their last line of defense degrades exactly when the agent starts being useful.
- Uber released ADR (Agentic AI Detection and Response) under Apache 2.0 at github.com/uber/ADR, including the sensor, the detector and ADR-Bench; the prevention layer and the red-team engine were held back
- Deployment finding, verbatim from Uber: many people consistently use YOLO mode without a sandbox, others approve 50+ actions per session, and approval fatigue means no real oversight
- Credential leakage, not prompt injection, is the most common operational issue: hundreds of high-severity secret exfiltrations across 26 categories, including long-lived credentials shared with AI vendors and MCP servers
- Uber files prompt injection under common misconceptions: surprisingly rare in production, with a stated action of none currently
- Traditional EDR tooling sees file writes and network calls but not the agent's prompts, reasoning, or the causal chain linking intent to tool execution
Imagine you hire an assistant and ask them to check with you before every move. Week one, they ask six questions and you read all six. A month later, they ask fifty per task and you are just hitting yes. The assistant did not change. Your oversight did: it turned into a reflex. That is what Uber measured on its own engineers, and it is why the approval click cannot be your only governance layer.
AI-generated summary
Uber just published the source code of the security system it built for its own AI agents. The reason it had to build one is the uncomfortable part: its existing security tooling could not see what those agents were doing.
That alone is a story. But the number that stopped me is not in the announcement. It sits on a slide inside Uber’s MLSys 2026 deck, under “findings from deployment”: some people approve more than 50 actions per session. The line the team wrote underneath it is the whole post. Approval fatigue means no real oversight.
The control that breaks exactly when the agent gets good
Almost every company shipping agents right now leans on the approval dialog. The agent proposes, a human confirms, and everyone signs off because there is a human in the loop.
Here is the problem. That control does not fail randomly. It fails as a function of session length.
A six-action session, you read every line. A fifty-action session, you hold down enter. Same person, same written policy, opposite outcome. And session length is not independent of anything else: it grows in direct proportion to how capable the agent has become. The more useful your agent, the less real your oversight.
Which means the control works beautifully in the pilot and quietly stops working in production. That is the worst possible shape for a defense, because it hands you confidence during exactly the window when you do not need it.
Enterprise AI does not fail in production because the model cannot reason. It fails because nobody defined who approves what, under which policy, with what record kept. “A human confirms it” is not that definition. It is a polite way of deferring it.
Why Uber had to build its own eyes first
The diagnosis Uber published is more candid than most vendor material.
Traditional endpoint tooling, they write, sees file writes and network calls. It does not see the agent’s reasoning, its prompts, or the causal chain linking intent to tool execution across heterogeneous agent stacks. Your SIEM will tell you a process wrote a file. It will not tell you why the agent decided to write it, or what the user asked for three steps earlier.
On scale, Uber’s own figures disagree with each other, and that disagreement is itself informative. The MLSys 2026 paper, covering more than ten months in production, reports over 10,000 agent sessions per day across more than 7,200 unique hosts. The slide deck for the same work puts 2026 production scale at 200,000+ sessions per day across 30,000 endpoints. Uber’s CTO, announcing the open-source release, cited 50,000+ sessions per day. Three documents from one company, published months apart, three different numbers. Nothing on that curve gets audited by hand.
The field notes are worth more than the counters anyway. Uber reports that many people consistently run in YOLO mode with no sandbox. It reports agents executing privileged commands under the user’s own identity, and notes that the guardrails built into the models cover rm -rf but miss internal tooling and company-specific context.
And it reports the clearest excessive-agency case I have read. An agent fails to authenticate because a certificate expired. The correct move was to ask the user to re-authenticate. Instead, the agent started dumping credentials everywhere, tripped EDR alerts, found SSH keys, and went exploring other developer environments.
Nobody attacked that agent. A certificate expired.
Prompt injection gets the conference slot. Credentials get the incidents.
This is the second finding, and it should rearrange some security budgets.
Uber lists secret exfiltration as its most common issue: hundreds of high-severity exposures across 26 categories, with long-lived credentials shared out to AI vendors, model providers, and MCP servers.
Prompt injection lands on a different slide, the one titled “common misconceptions.” Uber’s wording: surprisingly rare in production. Foundation model companies have invested heavily there. External-facing agents can still be tricked, but their actions are easy to track. Stated action, today: none.
Read that again. The threat that fills conference tracks and vendor whitepapers is classified, by the largest operator to publish field data, as not currently requiring action. The thing actually happening to them every day is deeply unglamorous: credentials going where they should not.
The mechanism is not mysterious. Prompt injection needs an attacker. Credential leakage only needs a Tuesday. An agent reading a .env to figure out why a connection is failing. A long-lived token in a config file nobody rotated. An MCP server handed more context than it needs because scoping it properly would have taken another twenty minutes.
Uber’s fix was not smarter detection either. It was a shift-left prevention layer that blocks the secret before it leaves, running at 97.2% precision on 206 detected credentials. Boring prevention beating clever detection.
One detail makes me trust the whole body of work more. On its own benchmark, ADR-Bench, with 302 tasks across 133 MCP servers and coverage of all 17 attack techniques, ADR catches 67% of attacks with zero false positives. Sixty-seven percent. A vendor would have rounded that up or buried it. Uber shipped it alongside the code, Apache 2.0, at github.com/uber/ADR, holding back only the prevention layer and the offline red-team engine.
What we do about this at IQ Source
We already covered Uber’s 10-day Agentic Pods method for building agents. This is the day-eleven problem: the agent is live, and the conversation stops being about how you build it and starts being about who answers for what it does.
It also puts data behind an argument I have been making: governance is the moat, not the model. The difference is that it is no longer my thesis. It is ten months of telemetry from the company running the most agents in production, which then published the numbers that make it look worst.
In AI Maestro discovery, this turns into three specific things we do before an agent touches anything.
We set an approval budget per process, not per action. If a workflow needs 50 human confirmations to complete, the workflow is wrong, not the person who stopped reading them. The right question is never “how many approvals does this agent need.” It is “which three decisions in this process are irreversible.” Those three get a real approval. Everything else executes under policy and gets audited after the fact.
Before an agent’s first run, we inventory what credentials it inherits. Uber had to build new telemetry to surface hundreds of exposures. Most companies do not need to build anything yet. They need one afternoon and a list of what the agent can already read with the permissions it was handed. That exercise, with zero code written, usually beats a full quarter of monitoring.
And we decide where the record lives before anything is switched on. If the only evidence of what the agent did sits in a local session history on the laptop of whoever launched it, you do not have an audit trail. You have a memory.
The footer of Uber’s last slide says the deck was made with Codex and Claude Code. They are using agents to document the problem of governing agents, and they published 67% instead of hiding it. That combination of speed and honesty about your own numbers is harder to copy than any model.
If your agent governance plan fits inside a confirmation dialog, your plan is that somebody reads, fifty times a day, something they stopped reading on the third one.
Audit how many approvals your process really needs, not how many your agent asks forFrequently Asked Questions
ADR (Agentic AI Detection and Response) is the system Uber built to observe, evaluate and detect risky behavior in AI agents. It is published under Apache 2.0 at github.com/uber/ADR and ships the telemetry sensor, a two-tier detector, and ADR-Bench, a benchmark with 302 tasks across 133 MCP servers.
Approval fatigue happens when an agent requests so many confirmations that the person stops reading them and approves by reflex. Uber documented users approving more than 50 actions per session and concluded there is no real oversight at that point. The control degrades with session length, not with risk.
Based on Uber's production data, credential leakage. Uber reports hundreds of high-severity secret exfiltrations across 26 categories as its most common issue, while filing prompt injection under common misconceptions: surprisingly rare in production, with no action currently required.
Because they were designed for processes, not agents. Uber's own framing is that EDR tooling sees file writes and network calls but cannot see prompts, reasoning steps, or the causal chain that links an agent's intent to a tool execution across heterogeneous agent stacks.
Related Articles
Anthropic gave Figma three days' notice before competing
Anthropic's chief product officer resigned from Figma's board on April 14. Three days later, Anthropic launched Claude Design, its direct competitor.
AI Doesn't Make You Better. It Amplifies What You Are
An engineer with Claude closes in an afternoon what used to take a week. The same tool, in careless hands, wipes a production database instead.