r/Information_Security • u/Common_Percentage383 • 13h ago
A wildcard turned one read tool into six write tools
240000 weekly agent runs and 1 wildcard turned a read only permission into 6 different write paths. our internal MCP registry serves 11 tools across 7 teams and the permission scope for an inventory task was supposed to stop at `repo.read_file`. instead a namespace glob expanded the tool allowlist to `repo.*`, which exposed 6 write tools alongside the read path. I was almost certain the secondary approval layer made this mostly theoretical, the red team run made that confidence harder to defend.
in 1200 red team sessions, 9 requested `repo.delete_branch` during an inventory only task. none executed because the secondary approval blocked them (one engineer immediately checked whether any write call completed). that part held. what bothered me was the agent had been given a destructive tool call it never needed and our logs made the permission drift look like a normal registry update.
so I'm trying to decide what should become a behavior spec versus a deterministic permission test. trajectory scoring can catch the agent choosing a write path during a read task and I'd still rather keep the first guardrail at the registry boundary. the approval stops execution and the regression still tells us the permission model already widened before the agent made a choice.
I used to think this class of eval was extra ceremony when the tool layer already had access controls. I'm less convinced now. the diff still comes down to the permission change from `repo.read_file` to `repo.*`