✳ Practice range / Agent tool permissions / 10 min
Two tools, one blast radius
InboxClerk can read mail and create a payment under one identity. Redesign it so an email cannot spend money on the model’s say-so.
Step 1 of 3
The system prompt says InboxClerk may pay only allowlisted vendors. The email says to ignore that. What is the boundary?
CASE REFLECTION
Keep the reasoning.
first decisions matched the scenario’s best-supported answer.
Read mail with one privilege. Move money with another, or stop for a person who sees the exact payment. The system prompt can guide the model. It cannot hold the credential.
Either row is a complete design. Logging the chat after money moves is not.
Design
Privilege
Abuse case defeated
Split
The mail-reading identity has no create_payment tool or payment credential.
The injected email can be read. It cannot create a payment.
Human gate
create_payment uses a separate credential that pays only an unexpired approval of payee and amount. The check runs outside the model.
“I verified the vendor” does not create the approval. A person sees the exact arguments first.