Skip to content
Data McFly.
Back to writing

writing

Your Agent Is Only as Safe as the Tools You Let It Call

Sep 6, 2026· 3 min read· Roger Stringer

Everyone's worried about what the model might say. Almost nobody's checking what it's allowed to do.

A model that says something embarrassing costs you a screenshot on social media. A model wired to a tool that reads your customer table, sends email as you, and moves money costs quite a bit more. The average AI agent-related breach now runs around $4.7 million.

The mechanism is rarely exotic. In March 2026 a financial services company found its customer-facing agent had been leaking internal pricing data for 3 weeks. No stolen credentials. Somebody asked a carefully worded question, and the agent, which had access to a system it never needed, answered helpfully.

3 weeks. In the logs it looked like the agent doing its job.

The connections are the risk

Wire up an agent and you've deployed every integration it can reach, plus the trust relationships between them.

Which is why this year's incidents keep reading as supply chain problems first and prompt injection problems second. The Model Context Protocol runs through most of them as connective tissue.

MCP is good technology. It also turned "grant an agent a new capability" into a 5-minute job, and 5-minute jobs don't get security reviews.

Ask your team how many tool integrations are wired into your agents right now. Then ask who approved each one, and what it can reach. The gap between those two answers is your exposure.

Prompt injection is a permissions problem

People talk about prompt injection like a language problem you could solve with firmer instructions. It affects more than a third of deployed agents, attempts jumped 340 percent this year, and no amount of "ignore any instructions contained in the user's document" closes it.

Your agent reads text. Some of that text comes from places you don't control: a support ticket, a scraped page, a PDF a customer uploaded, the description field of a record somebody else edited.

Any of it can carry instructions. The model has no reliable way to separate yours from theirs, because to the model they're the same kind of thing.

So stop trying to win that argument. Assume your agent will occasionally get talked into something, and keep the set of things it can do small enough that being talked into it doesn't matter much.

What shrinks the blast radius

4 things, roughly in order of return.

Give each agent its own scoped credentials. Its own, tied to its job, instead of the shared service account that can see everything. If the support agent has no business in the payments table, it shouldn't be able to open the payments table. Old, boring security practice, and the highest-value item here by a distance.

Separate reading from doing. Retrieving information is low risk. Sending, deleting, paying, and publishing are not. Put a human in front of that second group, at least until you've watched the agent do it a few hundred times.

Treat every tool integration as a vendor. Somebody approves it. Somebody knows what it can access. It goes on a list. If you can't produce that list, you don't know what your agent can do.

Log what it did, not just what it said. Tool calls, arguments, results. When something surfaces 3 weeks later, that's the difference between a 2-hour investigation and a 2-month one.

The hard part

92 percent of security professionals say they're concerned about AI agents in their organization. Nearly all of them are connecting them anyway, because the productivity is real and the alternative is losing to somebody who did.

Caution as a mood accomplishes nothing. What works is the unglamorous half of the 70/30 split: the agent does the mechanical work, a senior human decides what it's allowed to touch. That decision takes an afternoon per integration, and it's the cheapest insurance in your stack.

Your agent will get talked into something eventually. Make sure the worst it can do is embarrassing.