A crafted input might briefly slow or freeze the local client, without showing broader security harm.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex. The match applies to this repository.
Contextual assessment: The expression may permit a local CPU slowdown, but this evidence shows no credential, persistence, code-execution, or cross-user impact.
Impact: low · Exploitability: plausible
Developer action: Bound the input length or replace the expression when practical.
The code checks for the word 'data:' at the start of each line because that is how streaming chat responses are formatted. It is not connecting to a suspicious link.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link. The match applies to this repository.
Contextual assessment: The flagged line is part of a Server-Sent Events streaming parser that checks whether each received line starts with the standard SSE 'data:' prefix before extracting the JSON payload. This is normal SSE parsing for chat-completion streaming responses and does not involve any external URL, data-URI navigation, or suspicious link destination. The scanner signal is a false positive from matching the 'data:' SSE marker.
The extension sends messages through SillyTavern's own built-in API connection to get AI responses, then displays them in a chat window. This is exactly what the assistant feature is supposed to do. There is no hidden code execution or external server call.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution. The match applies to this repository.
Contextual assessment: The scanner correlates a network retrieval primitive (fetch to the relative ST backend proxy endpoint for chat completions) with a code execution sink (jQuery DOM append for rendering chat UI messages). The fetch uses a same-origin relative URL to SillyTavern's own backend proxy, passing through the user's already-connected API, which matches the stated assistant purpose. The DOM manipulation uses jQuery append with template strings containing escaped or formatted message text for the floating chat window. No eval, Function constructor, script injection, or external endpoint is present. Both primitives are standard for an in-app AI assistant and proportionate to the project's stated purpose.