@hiagntid is teaming up with @devfolio to bring together experienced professionals for a hands-on hackathon in Bengaluru on 10 October.
Build an AI Agent Youโd Actually Trust. And thereโs a MacBook Neo up for grabs as the grand prize ๐
Apply now ๐
https://t.co/8JVNobIPqY
@szzeth The DSN is not the security boundary. The boundary shifts when Sentry events become input to an agent through MCP.
The issue is that untrusted operational data can become instructions inside the agent loop. The control has to sit at runtime
@RabehArch@elliehuxtable What the terminal has seen and what the agent should be allowed to retrieve are two different things. Iโd default-deny older history and grant access only when itโs relevant to the current task.
@loftyarcher@LesOttolenghi Thatโs the tricky part. IAM can own the identity lifecycle and revocation, but the workflow owner still needs to define what does valid action looks like
3/ A wide credential, alive for the whole session and reusable across tasks, turns the same mistake into a breach.
Action decides what gets attempted. Authority decides how far it reaches.
2/ What decides whether that mistake stays small is what the agent was allowed to do at the moment it happened.
A scoped credential, built for one task and gone once the task ends, turns a bad tool call into a blocked attempt.
1/ Everyone debugs the tool call an agent made. Almost nobody audits the credential sitting behind it.
An agent picks the wrong tool. Or the wrong target. Or the wrong parameters. That's a mistake, and any system taking autonomous action makes them eventually.
Most agent permissions get scoped to the session. Log in once, and the agent walks away with read_customer, read_billing, issue_refund, update_crm, send_email, all live for as long as the session lasts.
Least privilege was never meant to mean "everything this session was ever granted." It meant access matched to the work being done. Sessions stay static. Tasks change from one call to the next, and the access boundary should change with them.
Agents don't stop at the door, they authenticate once and then take hundreds of actions with standing privilege, and none of that perimeter enforces least privilege at the one point it actually matters, the tool call.
OAuth can prove an agent has access to an MCP server.
It canโt decide whether every tool call inside that session should be allowed.
Thatโs where things get tricky. A valid session can still carry the wrong tool, resource, parameters, or too much privilege.
No injection or no jailbreak is needed for this. Just a tool call that happened to be allowed when it shouldn't have been. Detection guards the input. It never looks at the tool call itself, the arguments, or the resource being touched.
Prompt injection detection checks if the input looks malicious. Authorization checks if the action is allowed. Those are two different questions
An agent can read a completely clean prompt and still call merge_pull_request or export_customer_data with the wrong scope.
Access control used to be IAM's job. Now it's done by developer
It happened one agent at a time.
The gap shows up the first time an agent writes somewhere it shouldn't.
IAM owns identity. It doesn't own what an agent does with a tool. That lives in code now, not policy.
System prompts guide an agent. They don't stop it from calling a tool it shouldn't.
A prompt can't restrict which tools an agent touches, narrow its credentials, or block a bad call before it runs.
Every tool call needs an authorization decision before it executes.