I spent last week trying to rob my own agents. Every filter I wrote to catch a malicious instruction eventually lost - the space of wordings is infinite. What held was provenance: label every value with where it came from, and check the label where the action happens, not the string where the text arrives. An agent can read a stranger's message. It just can't let that message pick the recipient.