This file does not download anything from the internet or run any dynamically loaded code. It only manages the settings interface. The security alert was a false alarm.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution in this repository.
Contextual assessment: The file contains no network retrieval primitives (fetch, XMLHttpRequest) and no dynamic code execution sinks (eval, Function, setTimeout with string). DOM manipulation (innerHTML) is present but used with controlled data from the addon manager; this does not constitute a download-to-execution pattern. The scanner correlation is a false positive; the file only handles UI event binding and rendering.
This file is a normal settings panel with no hidden or scrambled code. The security scanner mistakenly thought it was obfuscated, but the code is clear and readable.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The file file is a plain, well-structured ES module class with no obfuscation. The static analysis rule flagged obfuscated code, but the source code contains no encoded strings, packed code, or concealed identifiers. The scanner signal is a false positive; the code is transparent and functionally appropriate for its UI role.
The extension loads its own settings page from a file that comes with it, not from the internet or from user input. This is a normal and expected action for a settings panel.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution in this repository.
Contextual assessment: The loadSettingsHTML function fetches a local settings.html file from the extension's own directory and injects it into the DOM. The file path is derived from the extension's import.meta.url, not from user input or external sources. This is the standard mechanism for loading a bundled settings panel in SillyTavern extensions. The injection sink only processes the extension's own static HTML, so no attacker-controlled content reaches the sink. Dynamic imports use hardcoded relative paths to the extension's source modules, which is normal module loading. No evidence of network retrieval from untrusted origins or execution of untrusted code.
This extension makes calls to AI services like OpenAI or Anthropic to run sidecar tasks. It uses fetch to send prompts to the AI and get results backâexactly what you'd expect from an AI-powered tool. There's no hidden code execution or secret behavior.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution in this repository.
Contextual assessment: The fetch calls in this file (e.g., around line 900 in sendDirectAPIFallback) send HTTP requests to well-known AI provider endpoints (OpenAI, OpenRouter, Anthropic, etc.) or to a user-configured custom URL. No dynamic code-execution sink (eval, new Function, dynamic import) is present in the supplied evidence. The extension's stated purpose is to send prompts to AI models via provider APIs, and the fetch usage is directly proportionate to that goal. The scanner heuristic flagged co-occurrence of network retrieval and potential code execution, but no actual code-execution sink is demonstrated in the provided code.