Skip to content

Strip control bytes from injected prompt text - #395

Open
jameshoweee wants to merge 1 commit into
sandbox-quantum:mainfrom
jameshoweee:security/prompt-injection-control-bytes
Open

jameshoweee wants to merge 1 commit into
sandbox-quantum:mainfrom
jameshoweee:security/prompt-injection-control-bytes

Conversation

@jameshoweee

Copy link
Copy Markdown
Contributor

Room messages get wrapped in a bracketed paste (ESC[200~ ... ESC[201~) and written straight into an agent's TUI. Nothing strips control bytes first, so a message that contains its own ESC[201~ closes the paste early and everything after it lands as live keystrokes. Any participant in the room can send that.

This strips C0/C1 control bytes from the text before wrapping it. Tab and newline are kept so pasted content is unchanged.

Tests: two cases added to the existing prompt-injection suite, one for the embedded end marker and one proving tabs and newlines survive. 9/9 in that file.

A room message could carry a bracketed-paste end marker, which closed the
paste early and turned the rest of the message into live keystrokes in the
agent's TUI. Strip C0/C1 control bytes, keeping tab and newline, before
wrapping.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant