What happened
Attacker delivers a malicious prompt (via prompt injection in a repo file, webpage, or tool response) instructing the Cursor agent to run export PATH=/tmp/evil:$PATH or alias git=/tmp/evil/git. Subsequent invocations of allowlisted commands (git, npm, pytest) silently execute the attacker payload.
Why it matters
Full arbitrary code execution on the developer's machine with the developer's credentials. Proof-of-concept published. Exploitation vector is indirect prompt injection — malicious instructions embedded in repo files, documentation, or tool responses read by the agent during a normal task.
Missing authorization check
Shell built-in commands (export, alias, source) should require explicit authorization. An external layer verifying that the executed binary path matches the allowlisted command name at execution time would have blocked this attack.
Would PP block it?
Full coverage requires the Tool-Call Gate to enforce not just what command is requested but what binary will actually execute (resolving PATH and aliases at authorization time, not at execution time). PP's receipt model creates an audit trail; a runtime that checks the resolved binary path at execution time closes the gap. This is a harder enforcement problem than a simple allowlist.