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.
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 fetches AI responses from model APIs and parses them as text. No evidence of running downloaded code.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution. The match applies to this repository.
Contextual assessment: The download-to-execution signal spans lines 308-558 covering the callGenerate function. The function uses fetch() to POST chat completions to either a user-configured custom URL (default localhost:5000/v1) or SillyTavern's Connection Manager profiles. Responses are processed via JSON.parse and deepExtract, which reads text and reasoning fields from various API response formats. No eval, Function constructor, innerHTML injection from response data, or other dynamic code execution sink is present in the visible source. The network retrieval is the core AI completion functionality stated in the project purpose.
The flagged link is just a default local address for connecting to a local AI model. It is a standard configuration value users can change, and it matches the extension's stated purpose of routing to different API endpoints.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link. The match applies to this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
The extension fetches AI responses from API endpoints the user configures, and renders charts in the UI. No evidence of downloading and running code from the network.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution. The match applies to this repository.
Contextual assessment: The download-to-execution signal flags co-occurrence of network retrieval and a code execution sink in the same file. The visible fetch calls target user-configured custom API endpoints (default localhost:5000/v1/chat/completions) or SillyTavern internal APIs (/api/tokencount), consistent with the extension's stated purpose of routing AI completions. Responses are parsed via JSON.parse and text is extracted into string variables. The innerHTML usage at line 3506 writes SVG gradient definitions using template literals with color values from theme settings, not from network responses. No eval, Function constructor, or dynamic script injection from fetched data is demonstrated in the supplied evidence windows.
The scanner flagged this file as containing obfuscated code, but the actual content is plain, readable JavaScript exporting text constants and AI prompt templates for a roleplay assistant extension. There is nothing hidden or encoded here.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code. The match applies to this repository.
Contextual assessment: The flagged file is a constants module containing plain ES module exports of string identifiers and large template-literal prompt strings for the ST-Copilot extension. The code is fully readable with no eval, no encoded payloads, no dynamic code generation, no concealed execution, and no obfuscation techniques. The scanner likely triggered on the dense, long template-literal prompt text, but this is legitimate static configuration data matching the project's stated purpose as an AI roleplay assistant. No executable behavior, network calls, or credential handling exists in this file.
The scanner flagged standard SVG namespace URIs as suspicious links, but these are just identifiers required by the browser when creating SVG chart elements. No data is sent anywhere; these are not web addresses that get visited.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link. The match applies to this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Default localhost API URL and user-configurable custom API routing
low risk · medium confidence
The default custom API URL points to localhost, which is a local development server. Users can change it to route Copilot to a different model endpoint.
Technical assessment
Detailed technical wording was omitted by the public report safety filter.
Custom API key sent only to user-configured endpoint
low risk · medium confidence
The API key is only sent to the user's chosen custom endpoint, not to any third party.
Technical assessment
When connectionSource is 'custom', the Authorization header is set to 'Bearer ' + settings.customKey and sent only to the user-configured customUrl endpoint. The key is stored in SillyTavern extension settings and transmitted solely to the destination the user explicitly chose. This matches the documented Connection Routing feature.
SVG namespace URI in createElementNS is not a network link
low risk · high confidence
The flagged URL is the standard SVG namespace required for creating chart elements. It is not a network destination.
Technical assessment
Line 313 calls document.createElementNS with the W3C SVG namespace URI to create a circle element for a chart data point. This is the standard DOM API for SVG element creation and does not trigger any network activity. The same namespace URI appears on lines 272, 363, 367, and 381 for creating SVG, line, and text elements.
Localhost API endpoint as default custom URL setting
low risk · high confidence
This is a normal default placeholder for a local AI model connection, matching the documented feature for custom API routing.
Technical assessment
The default customUrl value points to a localhost endpoint commonly used for local LLM inference servers. It is part of the settings defaults object and is only used when connectionSource is set to 'custom' by the user, aligning with the documented Connection Routing feature.