No material or immediate-danger item was identified.
Expected scanner matches (95)
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This line sets a default URL for connecting to a local AI service running on your computer. It's like pre-filling a text box with a typical address. No data is sent anywhere just by doing this.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The 'shady-link' signal flags a string literal at line 188 that is a default URL for an Ollama connection field. This line sets the value of an HTML input to a user-configurable setting defaulting to a localhost address. No network request is made by this assignment; it is only populating a UI form field. The URL is for local Ollama service, which is a legitimate local AI backend. There is no evidence of data exfiltration, remote connection, or attacker-controlled destination. The signal is a false positive for a benign localhost default.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/features/chat/chat-state-loader.js:188
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
The security scanner thought this file might be obfuscated, but when we looked at the actual code, it's normal, readable JavaScript. Nothing hidden.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The scanner flagged a low-confidence obfuscation signal on line 1, but the complete file source is readable, well-structured JavaScript with standard imports, comments, and named exports. No actual obfuscation, encoding, or concealment is present. The signal is a false positive.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- immersion.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The code includes a default address for a local AI service running on your own computer. This is normal and safe; it's not sending your data anywhere else.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The scanner flagged a hardcoded HTTP URL at line 3238, which is the default value for the Ollama service URL in an AI settings object. The URL points to localhost:11434, the standard address for a local Ollama instance. The extension allows users to configure a custom Ollama URL via settings, and this default is harmless and expected for local model support. No user data is sent to an external server; the connection is to the user's own machine. There is no malicious intent or data exfiltration.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/ui/panel/panel-builder.js:3238
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The flagged 'link' is just a made-up data URL used in a test to check that the extension correctly handles images in chat history. It's not an actual link to a website, so there is no security concern.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The scanner flagged a static data URL ('data:image/png;base64,abc') used in a test file to simulate multimodal assistant content. The URL is a local base64-encoded image, not an external network endpoint, and appears only in a unit test that verifies the extension's prompt history filtering preserves image parts. There is no network request or data exfiltration; the string is hardcoded test data. This signal is a false positive.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- test
- Source
- tests/cyoa-prompt-history.test.js:39
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
Detailed wording was omitted by the public report safety filter.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/defaults.js:520
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default setting telling the extension where to find a local AI model on your own computer. It's like having a default printer set to 'localhost' – nothing leaves your machine unless you change the address.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged URL at line 143 is a default setting for the character creation Ollama connection. It points to localhost:11434, which is the standard local address for an Ollama API server. This is a configuration default, not a runtime network call. The project legitimately supports connecting to a local Ollama instance for AI roleplay. No evidence of data exfiltration, malicious destination, or concealed behavior. The 'shady-link' scanner signal is a false positive in this context.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/defaults.js:143
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
This is a harmless test that checks how settings are organized. The regex used to find div tags is safe and cannot be used by an attacker because it only runs on the extension's own files during testing.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regex on line 8 matches HTML div opening and closing tags. The pattern does not contain nested quantifiers or overlapping alternations that would cause catastrophic backtracking. Even if a ReDoS risk existed, the regex is applied to a static file read from the extension's own settings.html during a test, not to attacker-supplied input. No exploitation path exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- test
- Source
- tests/settings-drawers.test.js:8
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This line sets a default local address for an AI server that runs on your own computer. It's only used if you haven't set your own server address. This is a normal and expected part of how the extension connects to AI models.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged line sets a default Ollama URL to localhost:11434, a standard local AI server endpoint. This is a fallback used only when no user-configured URL is provided. The extension requires connectivity to AI backends for its core RPG tracking and lorebook features. There is no evidence that this default targets an external or malicious server, and no data exfiltration path is demonstrated. The JS-X-Ray signal is a static literal match with low severity and medium confidence, not a confirmed vulnerability.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/ui/panel/panel-builder.js:1966
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · low confidence
A security scanner found a possible suspicious link in this file, but we can't see what it is because the code wasn't fully provided. The file stores settings for the extension, including web addresses for AI services, which is normal for this type of extension. There's no sign that anything bad is happening.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The scanner flagged a pattern at line 234, but the actual source code at this line was not provided in the review evidence. Based on the file's purpose—managing profile snapshots including user-configured API endpoints and keys—the flag may correspond to a legitimate URL string (e.g., a default Ollama endpoint or user-provided API URL). No exfiltration or unauthorized network access is evident from the supplied code. Without the actual code, no concrete security concern can be confirmed.
Impact: none · Exploitability: unlikely
Developer action: No action needed based on available evidence. If the flagged lines contain hardcoded URLs to external services not documented, consider verifying they are appropriate.
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/profiles.js:234
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The extension stores a default web address for a local AI image generator (Ollama) that runs on your own computer. This is a normal setting for tools like this, not a security risk.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:10714
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · medium confidence
This code checks if a piece of text looks like a boring system receipt so it can be replaced with more interesting commentary. The pattern used is simple and won't cause any performance problems.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The flagged regex at line 1126 is a simple, anchored pattern used to detect dry receipt text in model output. It contains no nested quantifiers, overlapping alternations, or user-controlled input that could cause catastrophic backtracking. The JS-X-Ray 'unsafe-regex' signal is a false positive; the pattern is safe and performs as intended.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- adventure-companion.js:1126
Dependency advisory GHSA-2v37-7h3g-55p8:pkg:c301f7c72c558e741e2a83a0 applies
Expected behavior · high confidence
This vulnerable package is only used during development (testing), not when you use the extension. It does not affect the security of the extension in SillyTavern.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-2v37-7h3g-55p8:pkg:c301f7c72c558e741e2a83a0 to a dependency declared by this repository.
Contextual assessment: The vulnerable nanoid package at version 3.3.16 is a transitive dependency of the dev-only test framework vitest. All packages in the lockfile are marked as dev dependencies and are not used at runtime. There is no demonstrated runtime reachability or attacker-controlled path to the vulnerable code.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-2v37-7h3g-55p8:pkg:c301f7c72c558e741e2a83a0
- File role
- production
- Source
- package-lock.json
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · low confidence
The scanner thought this file might contain hidden or confusing code, but it's actually a normal test file with clear, readable JavaScript. No secret or dangerous code was found.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The scanner rule 'javascript.xray.obfuscated-code' was triggered on line 1 of a test file, but the actual source code is a plain, unobfuscated JavaScript test file using standard imports and test patterns. The file contains no encoding, minification, or suspicious strings—only clear test logic with descriptive variable names, comments, and standard framework calls (vitest). The scanner signal is a false positive; there is no obfuscated code present.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- test
- Source
- tests/memo-processor-party-markers.test.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This line just stores the default address for the local AI image generator (Ollama) — it's your own computer, not a remote server. Nothing dangerous.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string at line 1232 is a default Ollama API URL pointing to localhost port 11434. This is a standard local endpoint for running LLMs locally, not an external or exfiltrative destination. No credential or sensitive data flows to this address by default; the user must explicitly configure it. The scanner signal 'shady-link' is a false positive in this context.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/defaults.js:1232
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
This file is code for saving and loading game settings in the RPG extension. The scanner thought some code might be hidden, but looking at the actual code, everything is plain and readable. It does what the extension says it does and has no hidden tricks.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The code in file is fully readable, well-commented standard JavaScript with no obfuscation techniques. The JS-X-Ray scanner flagged an obfuscated-code signal at low confidence, but the provided source shows no minification, encoded strings, or hidden logic. All function names and data flows are clear. The file exports helper functions for saving, loading, exporting, and importing game configuration cartridges—a feature described in the project's README. No actual obfuscation or concealed execution is present. The signal is a false positive.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- game-cartridges.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default setting for connecting to a local AI program (Ollama) running on your own computer. It's not a security problem.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string is a default localhost URL for Ollama, a local AI service. This extension connects to user-configurable model endpoints; the default is benign and standard practice for local LLM integration. No evidence of malicious network destination or exfiltration exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:2616
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
A security scanner flagged a currency-parsing pattern in the code, but looking at the actual code, the pattern is straightforward and does not create a security risk. It simply looks for numbers followed by currency names like 'GP' or 'dollar'.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regular expression at line 1313 is used to parse currency strings with a suffix unit (e.g., '10 GP'). The pattern contains an alternation but no nested quantifiers or overlapping alternatives that would cause catastrophic backtracking. The `\b` anchor and simple numeric capture also limit risk. JS-X-Ray's detection of 'unsafe-regex' is a heuristic that does not account for the actual structure; no denial-of-service or security vulnerability is evident from the supplied source.
Impact: none · Exploitability: unlikely
Developer action: none – the regex is safe as written. If desired, a performance linter may suggest anchoring and non-capturing groups, but no change is required for security.
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- renderer.js:1313
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
The code is written in plain, understandable JavaScript. It does exactly what the extension promises: helps create RPG characters. There's nothing hidden or tricky here.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The JavaScript source is fully readable, well-structured ES module code. It contains imports, constants, and exported functions for building character generation prompts and managing form state. No obfuscation, encoding, or concealment techniques are present. The scanner's 'obfuscated-code' signal is a false positive, likely triggered by template literals or long string constants that resemble minified output, but the code is in fact clear and intentional for its stated purpose.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- character-creator.js:1
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
This file was flagged as possibly containing hidden or scrambled code, but it's actually plain, readable code just like any normal web extension debug tool. There's no security problem here.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The scanner flagged this file as obfuscated code (high severity, low confidence), but the complete source is plain, readable JavaScript with clear comments and documentation. The file is a debug instrumentation module for a swipe scheduler and does not contain any obfuscation, encoded strings, or hidden functionality. The static analysis signal is a false positive.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- swipe-scheduler-debug.js:1
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
This file just stores game rules and example text. It's not hiding anything. The security scan was a mistake.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The file file contains only static data definitions, template literals for game prompts, and small helper functions. No obfuscation, concealed execution, or hidden logic is present. The scanner's obfuscated-code signal is a false positive; the code is clear, well-commented, and serves its stated purpose of providing game constants.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- constants.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The security scanner flagged a line in the code because it thought there might be a bad link. But that line just checks if an image starts with 'data:image/', which is a normal way to handle pictures stored inside the chat. The extension makes network calls only to the SillyTavern server to save or delete images, which is exactly what it should do.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The static analysis signal 'shady-link' triggered on line 59, which contains the string 'data:image/' in the `isPortraitDataUrl` function. This function checks if a source is an inline data URL, a legitimate pattern for identifying embedded images. No actual network link or external URL is present at that line. The extension's network activity consists of authenticated fetch calls to the SillyTavern API endpoints `/api/images/upload` and `/api/images/delete` for managing portrait files, which is proportional to its stated purpose of storing portraits locally. No evidence of exfiltration or malicious destinations.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- portrait-storage.js:59
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
This regular expression is used to fix timestamps in the game's prompt instructions. It only runs on the extension's own templates, not on user or AI input, so there is no practical security concern.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regex `/HH:MM(?:\s+AM\/PM)+/g` on line 354 is a static literal pattern used in the `adjustPromptTimestamps` function to collapse repeated time suffixes in prompt templates. It is not constructed from untrusted input, and the pattern is simple with no nested quantifiers that would cause catastrophic backtracking on realistic input. The function operates on developer-defined prompt templates, not attacker-controlled data, so no ReDoS risk is demonstrated.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- src/state/router-utils.js:354
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is another default setting for the local AI model used to manage the game world — it talks to your own computer, not the internet.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string at line 1312 is a default Ollama API URL for world model generation, pointing to localhost port 11434. This is a normal local endpoint for self-hosted LLM inference. No external data transmission occurs by default. The scanner's 'shady-link' rule does not account for legitimate localhost usage.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/defaults.js:1312
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This file lets you set up connections to AI models for creating characters. The one 'suspicious' line it flagged is just a standard address for a local AI program (Ollama), which is perfectly normal for this kind of tool. There's nothing dangerous happening.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- character-creation-connection.js:100
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
The security scanner thought a decorative line of dashes might be hidden code, but looking at the file shows it's just a normal comment to separate sections.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The scanner flagged line 1 (a decorative ASCII separator comment) as potentially obfuscated code. Inspection of the full source shows no obfuscation; all code is standard JavaScript with clear structure, comments, and imports. This is a false positive.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- game-systems.js:1
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
The code that was flagged as 'obfuscated' is actually normal, readable code for displaying game character sheets and status bars. There is nothing hidden or harmful here.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The static-analysis signal for obfuscated code is a false positive. The supplied source of file is clean, well-documented JavaScript that performs HTML string production and localStorage helpers for a D&D-style game state tracker. No obfuscation, concealed execution, or data exfiltration is present. The scanner's low confidence aligns with the visible code quality.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- renderer.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default setting for connecting to a local AI program (Ollama) running on your own computer. It's not a security problem.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string is a default localhost URL for Ollama, a local AI service. This extension connects to user-configurable model endpoints; the default is benign and standard practice for local LLM integration. No evidence of malicious network destination or exfiltration exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:2606
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
Detailed wording was omitted by the public report safety filter.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- portraits.js:385
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default setting for connecting to a local AI program (Ollama) running on your own computer. It's not a security problem.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string is a default localhost URL for Ollama, a local AI service. This extension connects to user-configurable model endpoints; the default is benign and standard practice for local LLM integration. No evidence of malicious network destination or exfiltration exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:2693
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a harmless default setting that points to the user's own computer for running AI models. It is not a security threat.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged line assigns a default Ollama URL of localhost:11434, a standard configuration for local AI model serving. The user can override this URL via extension settings. No evidence of malicious intent, data exfiltration, or unauthorized network access is present. The scanner signal is based on a heuristic for hardcoded URLs, but this default is proportional to the extension's stated purpose of connecting to local or remote AI providers.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/ui/panel/panel-builder.js:3339
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default setting for connecting to a local AI program (Ollama) running on your own computer. It's not a security problem.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string is a default localhost URL for Ollama, a local AI service. This extension connects to user-configurable model endpoints; the default is benign and standard practice for local LLM integration. No evidence of malicious network destination or exfiltration exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:2683
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · medium confidence
This code is reading a line of text that describes a character's HP, like 'Goblin: 12/12 HP'. The way it finds that pattern is normal and safe for a roleplaying game tool.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regex at line 1195 is used to parse HP-format lines from the PARTY block in the state memo. It is a straightforward pattern that matches common RPG stat formats. While JS-X-Ray flagged it as unsafe-regex, no ReDoS vulnerability is demonstrated given the input source (user-controlled state memo) and the simple structure of the regex. This is standard text-parsing behavior for the extension's intended functionality.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- portraits.js:1195
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
A security scanner thought this file might contain hidden confusing code, but looking at the actual code it's clear and normal. No problem here.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: JS-X-Ray flagged obfuscated code on line 1, but the supplied source of file is fully readable, well-structured JavaScript without any obfuscation, encoding, or concealed execution. The scanner confidence was low and the signal is a false positive; no concealed or dangerous behavior exists in this file.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- display-groups.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · medium confidence
This code checks if a portrait image was created inside the browser or fetched from an external service, so it can handle it correctly. That's normal for an app that makes images.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The line checks whether an image URL starts with 'data:' to decide whether to scale it client-side or use it directly. The URL comes from an image generation promise whose source is the user-configured generation API. This is a legitimate check for handling both client-side generated data URLs and remote API URLs. No evidence of exfiltration or malicious destination is present.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- portraits.js:1040
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is the default address for the 'Adventure Companion' feature to talk to a local AI model on your own computer. It's harmless – just a preset, not an actual connection.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged URL at line 134 is a default setting for the adventure companion's Ollama connection, again pointing to localhost:11434. This is a legitimate configuration default for connecting to a local AI model server. There is no evidence of any actual network request, data transmission, or external destination. The project's stated purpose includes AI-powered roleplay features that require local model access. The scanner signal is a false positive.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/defaults.js:134
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · medium confidence
Same HP-parsing pattern as before. It's just extracting names from a party list. Nothing risky.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: This regex at line 1135 is identical to the one used elsewhere to parse HP lines from the PARTY block. It is part of the `getPartyMembers` function and is essential for extracting character names. The regex pattern is simple and not prone to catastrophic backtracking in practical use. No security concern.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- portraits.js:1135
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The code sets a default address for a local AI model service (Ollama). This is normal and expected for an extension that uses AI to generate images. There's no sign that this address is being used for anything harmful.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:6460
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The code includes a default address for a local AI service, which is normal for this type of extension. No evidence of anything harmful.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged line sets a default Ollama URL to localhost, which is standard for local LLM services. No malicious or external link is present. The code provides user-configurable inputs for API endpoints and keys, consistent with the project's purpose of connecting to AI models.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- character-creation-connection.js:15
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
A security scanner thought a line in a test file might be hidden code, but looking at the actual file shows it's just normal test setup with imports. There is nothing suspicious or hidden.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The scanner flagged line 1 of a test file as obfuscated code, but the full source shows standard ES module imports, vitest test functions, and no obfuscation patterns. The scanner confidence is low and matched literal values were not retained. Static analysis heuristic likely triggered on unrelated syntax. No runtime code is obfuscated.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- test
- Source
- tests/display-groups.test.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default setting for connecting to a local AI program (Ollama) running on your own computer. It's not a security problem.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string is a default localhost URL for Ollama, a local AI service. This extension connects to user-configurable model endpoints; the default is benign and standard practice for local LLM integration. No evidence of malicious network destination or exfiltration exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:2597
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · low confidence
A security scanner found a possible suspicious link in this file, but we can't see what it is because the code wasn't fully provided. The file stores settings for the extension, including web addresses for AI services, which is normal for this type of extension. There's no sign that anything bad is happening.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The scanner flagged a pattern at line 218, but the actual source code at this line was not provided in the review evidence. Based on the file's purpose—managing profile snapshots including user-configured API endpoints and keys—the flag may correspond to a legitimate URL string (e.g., a default Ollama endpoint or user-provided API URL). No exfiltration or unauthorized network access is evident from the supplied code. Without the actual code, no concrete security concern can be confirmed.
Impact: none · Exploitability: unlikely
Developer action: No action needed based on available evidence. If the flagged lines contain hardcoded URLs to external services not documented, consider verifying they are appropriate.
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/profiles.js:218
JavaScript analysis reported javascript.download-to-execution
Expected behavior · low confidence
The scanner thought the extension might download and run code, but looking at the actual code, there is no sign of that. The extension simply imports modules and defines functions, which is normal for any program.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution in this repository.
Contextual assessment: The scanner flagged a correlation between network retrieval and a code execution sink, but the supplied evidence does not show any actual network-fetch-and-execute flow. The code shown consists of standard module imports, function definitions, and internal state assignments. No eval, new Function, or similar dynamic execution sink is present in the visible lines. The extension's purpose includes connecting to LLM APIs and generating images, so network requests are expected and proportionate, but no evidence of executing remotely fetched code is demonstrated.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.download-to-execution
- File role
- production
- Source
- index.js:59-241
Dependency advisory GHSA-fxqj-rqcc-2cmp:pkg:19e09cf566459df2b32f4e11 applies
Expected behavior · high confidence
This vulnerable package is only used during development (testing), not when you use the extension. It does not affect the security of the extension in SillyTavern.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-fxqj-rqcc-2cmp:pkg:19e09cf566459df2b32f4e11 to a dependency declared by this repository.
Contextual assessment: The vulnerable postcss package at version 8.5.22 is a transitive dependency of vite, which is a dev-only dependency for the test runner vitest. Postcss is not shipped to the extension's runtime and has no runtime reachability. The vulnerability poses no risk to extension users.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-fxqj-rqcc-2cmp:pkg:19e09cf566459df2b32f4e11
- File role
- production
- Source
- package-lock.json
zizmor reported artipacked
Expected behavior · high confidence
The scanner warning about credentials being saved in build artifacts doesn't apply here because this workflow never creates or uploads any artifacts. It just runs tests.
Technical evidence
Scanner reason: zizmor matched workflow-security rule artipacked in this repository.
Contextual assessment: The zizmor artipacked rule flags credential persistence through artifacts, but the workflow contains no upload-artifact step. Only actions/checkout, setup-node, npm ci, and npm test are present. No artifact creation or upload occurs, so credential persistence is not demonstrated.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- zizmor 1.28.0
- Rule
- artipacked
- File role
- test
- Source
- .github/workflows/test.yml:11
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
This pattern is used to read health points from game text. It works as intended and is not vulnerable to performance attacks.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regular expression COMBATANT_HP_RX is anchored at start and end, uses non-greedy quantifiers, and lacks nested repetition or alternation that could cause catastrophic backtracking. It matches typical combatant HP lines and does not present a denial-of-service risk under normal or crafted input derived from AI responses.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- src/state/combat-persistence.js:3
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
This pattern identifies combat group headers. It works correctly and is not a performance risk.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regular expression COMBAT_SIDE_HEADER_RX is simple, anchored, and contains no nested quantifiers or alternation that could cause backtracking issues. It safely matches combat side headers like 'ENEMIES:' or 'NON-PARTY ALLIES'.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- src/state/combat-persistence.js:2
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · medium confidence
This is another HP-parsing line, reading the character's name and health. It's normal for the game tracker.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The line at 1068 contains the same HP-parsing regex used in `getCharacterBlockNames`. It safely extracts character names from the CHARACTER block of the state memo. The scanner finding is generic and does not indicate a real vulnerability in this context.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- portraits.js:1068
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The flagged line simply handles an image URL that comes from the image generation service the user chose. The user sees a preview and must click 'Apply' before it is used, so this is normal behavior and not a security issue.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Line 950 handles an image URL returned from either the native SillyTavern Image Generation extension or the Pollinations.ai API. If the URL is a data URL (base64), it is scaled; otherwise it is used directly. The URL originates from a service the user configured (Pollinations API key) or from the built-in SillyTavern generation, and the user is shown a preview and must approve before the URL is applied. There is no evidence of exfiltration, malicious destination, or attacker-controlled input; the 'shady-link' signal is a false positive due to the absence of URL validation in a context where validation is not required for expected functionality.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- portraits.js:950
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The code sets a default address for a local AI model service that runs on your own computer. This is normal and expected for this type of extension.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged line is a default configuration value for a local Ollama API endpoint, set to localhost port 11434. This is a standard default for Ollama, a popular local model serving tool. The URL points only to the user's own machine and does not involve any external network destination. The scanner rule 'shady-link' is a heuristic that flags localhost URLs generically, but in this context there is no data flow to an attacker-controlled host, no exfiltration, and no concealment. The file is a production defaults file, and this value is visible in source and serves the extension's stated purpose of connecting to a locally running model for RPG state tracking and lore management. No malicious or unexpected behavior is demonstrated.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/defaults.js:648
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
This code uses a simple pattern to find a percentage number in a CSS style. The pattern is safe because it only looks at styles the program itself creates, not at text typed by a user or a chatbot. There is no risk of a slowdown or crash.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regex at line 347 (`/(\d+(?:\.\d+)?)%/`) is used to extract a percentage value from the inline CSS `background` property of a clock icon DOM element. The input (`wrap.style.background`) is a CSS value generated and controlled by the extension itself or by the user choosing colors via a color picker. It is not sourced from user-provided text, chat messages, or external untrusted input. The regex is simple, with no nested quantifiers or catastrophic backtracking patterns, and operates on a short, predictable string. No ReDoS vulnerability exists, and no security-relevant data flow is affected.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- theme-manager.js:347
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default address for a local AI program (Ollama) running on your own computer. It's not dangerous — it's like setting a default printer to 'local printer'. The extension needs this to work if you haven't set up a custom address.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged line sets a default Ollama URL to localhost:11434. This is a standard default for connecting to a local LLM server, entirely consistent with the extension's purpose of making AI calls to a locally-run model. There is no data exfiltration, remote server communication, or any shady behavior. The URL is hardcoded only as a fallback when the user hasn't configured their own Ollama URL. The scanner's 'shady-link' signal is a false positive for this context.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- game-systems.js:178
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This line sets a default URL for connecting to a local AI service running on your computer. It's like pre-filling a text box with a typical address. No data is sent anywhere just by doing this.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The 'shady-link' signal flags a string literal at line 178 that is a default URL for an Ollama connection field. This line sets the value of an HTML input to a user-configurable setting defaulting to a localhost address. No network request is made by this assignment; it is only populating a UI form field. The URL is for local Ollama service, which is a legitimate local AI backend. There is no evidence of data exfiltration, remote connection, or attacker-controlled destination. The signal is a false positive for a benign localhost default.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/features/chat/chat-state-loader.js:178
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This code checks whether an image URL is a valid web address (http or https) before using it. That's a normal safety check for a feature that lets users set custom pictures, not a sign of anything shady.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The scanner signal 'shady-link' at line 3663 corresponds to a regex test (/^https?:\/\//i) used within a popup handler for setting a location image URL. The code validates that a user-provided capturedUrl is either a data:image/ string or an http/https URL before applying it as an image source via localApply. This is part of the UI flow for location image settings, where users can paste a URL or drag/drop an image. There is no evidence of exfiltration, concealed network access, or malicious intent. The extension legitimately allows users to set custom images, and the URL validation is appropriate for that feature. The signal is a false positive in this context.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:3663
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
This is a normal pattern used to recognize commands from the AI's text. It's written safely and wouldn't cause crashes or security issues even if someone tried to mess with it.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regex BENCH_CMD_RX on line 592 parses AI output for [BENCH] commands. It uses anchors (^ and $), a non-greedy capture (.+?), and a character class for em/en dash/hyphen. The pattern does not exhibit catastrophic backtracking: the non-greedy quantifier and the terminal $ prevent excessive internal searching. Even in the presence of a maliciously crafted AI response, the worst outcome is a slight slowdown on a single short line. The scanner signal is a precautionary static analysis flag, not a concrete vulnerability.
Impact: low · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- memo-processor.js:592
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a fake web address used only for testing the extension's settings code. It's not a real connection and poses no safety concern.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- test
- Source
- tests/character-creation-connection.test.js:53
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a fake URL used in a test to check that the extension handles its settings correctly. No real connection happens, so it's not a security issue.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The URL at line 149 is a placeholder test value used to verify parameter mapping in a unit test. No actual network request is made; the test file uses mocked dependencies and does not reach out to any external service. The string is a fake Ollama URL intended only to confirm that the extension correctly routes the dedicated connection settings. There is no credential or sensitive data flow, and the test environment isolates all calls.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- test
- Source
- tests/adventure-companion.test.js:149
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The code includes a common default address for a local AI service that runs on your own computer. This is normal and not a security concern.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/ui/panel/panel-builder.js:3520
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
A security scanner thought this file might contain hidden code, but looking at the actual code shows it is clean and normal. It just creates popup menus and handles settings—typical for a game framework extension.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The JS-X-Ray static analysis rule 'obfuscated-code' flagged this file, but the supplied source shows no obfuscation, encoded strings, eval, or dynamic code generation. The file contains standard JavaScript with template literals for HTML construction, event listeners, and function exports—all expected for a UI-editing component in a SillyTavern extension. The scanner confidence was low, and the code is transparent and readable.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- ui-editors.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default setting for connecting to a local AI program (Ollama) running on your own computer. It's not a security problem.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string is a default localhost URL for Ollama, a local AI service. This extension connects to user-configurable model endpoints; the default is benign and standard practice for local LLM integration. No evidence of malicious network destination or exfiltration exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:2672
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
The extension uses a regular expression to find numeric tab stops (like '|50') in text. The expression is safe because it only processes text that the user or AI provides, and it cannot be tricked into consuming too much processing time. This is a normal part of how the extension formats markers.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The candidate flags a hardcoded regex at line 737 used to parse numeric tab-stop markers (e.g., '|50') from pre-text in marker-tokenized lines. The regex `/^(.*?)\s*\|(\d+(?:\.\d+)?)\s*$/` is a fixed pattern that does not incorporate any user-supplied regex fragment, and its input (segment.preText) originates from trimmed portions of AI-generated or user-authored content. The lazy quantifier `(.*?)` could in theory cause backtracking on a crafted long string of spaces and pipes, but the input length is bounded by typical message sizes and the pattern is anchored, making catastrophic backtracking implausible. No actual ReDoS vulnerability or performance degradation is demonstrated in the supplied evidence.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- renderer.js:737
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
This file contains normal, readable code for handling user interface events. There is no hidden or confusing code.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The source code is clean, well-structured JavaScript with standard ES module imports, clear variable names, comments, and no obfuscation, minification, or encoded strings. The scanner signal is a false positive; static analysis may have flagged patterns that are benign in context (e.g., dynamic property access or template literals), but no actual obfuscation is present.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- src/ui/panel/card-events.js:1
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
A security scanner flagged this file for possibly containing hidden code, but looking at the actual code shows it's normal and readable—there's no hidden or tricky code here. It's just regular JavaScript.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The scanner rule 'javascript.xray.obfuscated-code' triggered a static signal at line 1 with low confidence, but the full source code of file (provided in the evidence expansions) is clean, well-structured, and contains no obfuscated code. The file consists of standard ES module imports, exports, and readable functions for portrait management. The scanner result is a false positive; no obscured or malicious code exists in this file.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- portraits.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · low confidence
A scanner found a vague suspicious-link warning in the extension code, but the code around that spot only saves settings to the browser's local storage, which is normal. There is no sign of a dangerous link or data being sent to a bad place.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The scanner flagged a 'shady-link' signal at line 505, but the provided code shows only local storage read/write operations and preference manipulation at that location. No external URL or suspicious network destination is visible in the evidence. The literal value was not retained by the scanner, and the evidence does not demonstrate any harmful behavior.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- adventure-companion.js:505
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · low confidence
The scanner thought some code might be hidden or scrambled, but the actual code is straightforward and easy to read. There is no hidden or tricky code here.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The scanner detected a static signal for obfuscated code with low confidence. The supplied source code is clear and readable, containing standard ES module imports, function declarations, and template literals. No obfuscated strings, encoded payloads, or concealed logic are visible. This appears to be a false positive from the static analysis tool.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- index.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This part of the code lets you enter the web address of an AI server (like Ollama) into the settings. That's expected for an extension that uses AI to play D&D. It doesn't send your data anywhere harmful.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The line at position 6694 is a jQuery input event handler that stores the value entered by the user into the worldOllamaUrl setting. This is part of a legitimate settings UI that allows the user to configure the URL for an Ollama server (a local AI inference server) to be used by the extension's world progression system. The extension's purpose is a D&D game framework that may connect to external model APIs for state tracking and lore management. Storing user-provided API endpoints and keys is expected and visible behavior. The scanner rule 'shady-link' flagged a URL pattern, but there is no evidence of exfiltration or unauthorized data transmission. The URL is only used to call fetchOllamaModels which lists models from the specified server. No malicious activity is demonstrated.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:6694
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default setting for connecting to a local AI program (Ollama) running on your own computer. It's not a security problem.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string is a default localhost URL for Ollama, a local AI service. This extension connects to user-configurable model endpoints; the default is benign and standard practice for local LLM integration. No evidence of malicious network destination or exfiltration exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:2588
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
Another fake test URL to simulate settings for the State Tracker. No actual network call occurs.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Same as candidate 9b82bca6e... but at line 132, this is a test fixture URL for the State Tracker connection. It is never used to initiate a network request; the test only asserts that the mapping function produces correct output. No real host is contacted. The test file's mocked environment ensures no external reachability.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- test
- Source
- tests/adventure-companion.test.js:132
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
This regular expression helps format time displays in the game's prompts. It only touches the extension's own templates, not any outside content, so it's not a security issue.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regex `/HH:MM(?:\s+AM\/PM)*/g` on line 355 is a static literal pattern used in the `adjustPromptTimestamps` function to replace time placeholders with a 12-hour clock suffix. It is not constructed from untrusted input, and the `*` quantifier does not introduce catastrophic backtracking because the preceding group is fixed and bounded. The function only processes developer-defined prompt templates, so no attacker-controlled input can reach this regex.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- src/state/router-utils.js:355
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The code checks that the image URL you provide is a valid link starting with http or https, which is normal and expected for a feature that lets you set custom backgrounds. It's not doing anything suspicious.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged line (5680) is part of a validation block that accepts only data:image/ or http/https URL schemes for user-configured panel background images. No network request originates from this check; the validated value is later used in a CSS background-image property. The regex is a whitelist, not a suspicious pattern. This is normal input validation for a user-facing image URL setting.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:5680
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · medium confidence
The flagged line is part of normal image processing in the RPG extension. It is not doing anything suspicious.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Line 3536 is a call to scaleImageToLandscape within an image-handling function. No concrete shady link or URL is present in the evidence; the scanner signal likely originates from nearby user-supplied URL handling that is part of the extension's expected portrait and location image management. No exfiltration or unauthorized network access is demonstrated.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:3536
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
This file just contains a list of character sheet sections like 'Species', 'Body', 'Personality', etc., with descriptions and icons. There is nothing hidden or dangerous about it.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The file exports static arrays of section definitions and a module name constant. The source code is plain, well-commented JavaScript with no obfuscation, encoded strings, dynamic evaluation, or hidden execution paths. The JS-X-Ray 'obfuscated-code' signal at line 1 is a false positive triggered by the low confidence heuristic; the actual content is fully readable and serves the declared purpose of defining NPC/PC section schemas for an RPG extension.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- src/state/schema-sections.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The extension sets a default address for connecting to a local AI model server (Ollama). This is normal and expected – many AI tools do this so you don't have to type the full address every time. There is no sign that this address is used for anything harmful.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:6816
JavaScript analysis reported javascript.download-to-execution
Expected behavior · low confidence
The scanner flagged that the extension both downloads data and runs code, which could be dangerous if combined unsafely. But looking at the actual code, it only fetches its own help file and sends messages to the AI model you set up. It does not run downloaded code, so this is normal for what the extension does.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution in this repository.
Contextual assessment: The file contains network retrieval primitives (LLM API calls, local documentation fetch) and code execution possibilities (tool call handling, DOM updates). However, the supplied evidence does not demonstrate a path where an attacker-controlled network response leads to arbitrary code execution or harmful dynamic code execution. The documentation fetch is from a fixed local path. The LLM API calls are to user-configured endpoints. No eval or immediate code execution sink correlated with network input is shown.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.download-to-execution
- File role
- production
- Source
- adventure-companion.js:14-700
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
This file builds the visual panel for the RPG tracker. It's just a regular JavaScript function that creates HTML using template strings. There's nothing hidden or tricky — the scanner made a mistake.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The file panel-markup.js is a production UI module that uses a template literal to generate static HTML for the extension's panel. This is a standard JavaScript pattern and contains no obfuscation, encoding, or concealed logic. The scanner's 'obfuscated-code' signal is a false positive — likely triggered by the embedded template expressions (${}) inside the long string, which are normal JavaScript template-literal syntax for injecting settings values into the markup. All visible code is human-readable, intended to build a UI component for a D&D framework extension.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- src/ui/panel/panel-markup.js:1
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
Another flagged currency pattern that just looks for a dollar/euro/pound sign in front of a number. It's not dangerous.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regular expression at line 1315 is used to parse currency strings with a prefix symbol (e.g., '$10'). It contains a simple character class for three currency symbols followed by digits with optional decimal. There are no nested quantifiers or problematic alternations that would enable ReDoS. The scanner heuristic does not indicate a credible vulnerability in this context.
Impact: none · Exploitability: unlikely
Developer action: none – the regex is safe. No action needed.
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- renderer.js:1315
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
The flagged regular expression is a simple pattern to remove a 'Current Time:' prefix from a string. It's safe and cannot be exploited for a denial of service or other attack.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regex /^(?:current\s+)?time:\s*/i on line 155 is a simple, linear pattern used to strip a prefix from time strings. It contains no nested quantifiers, alternations with overlapping, or other constructs that would cause catastrophic backtracking. The pattern is safe and performs in O(n) time. No security risk from this regex.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- memo-processor.js:155
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The code includes a common default address for a local AI service that runs on your own computer. This is normal and not a security concern.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/ui/panel/panel-builder.js:3450
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
This warning is about a text replacement that changes D&D dice rules inside the AI's instructions. The replacement is safe because it only uses fixed words, not anything you type. It cannot be abused to slow down or crash the extension.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The flagged regex at line 531 is a static pattern used to substitute a fixed English phrase in the sysprompt text when d100 mode is enabled. The pattern is not constructed from user input; it operates solely on pre-built content from the extension's own configuration and base section files. There are no nested or overlapping quantifiers that would cause exponential backtracking, and the input length is bounded by the sysprompt size. No attacker-controlled data reaches this regex, so it does not create a denial-of-service or injection risk.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- game-systems.js:531
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a fake web address used only for testing the extension's settings code. It's not a real connection and poses no safety concern.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- test
- Source
- tests/character-creation-connection.test.js:64
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
A security scanner thought there was a suspicious link on this line, but it's actually just a simple check for a streaming data prefix. There's nothing dangerous here – it's a false alarm.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The scanner flagged line 422 as a 'shady-link' signal, but the actual code at that line is `if (!trimmed || !trimmed.startsWith('data:')) continue;` which contains no URL or suspicious link. This is a false positive from the static analysis. The file legitimately constructs and fetches URLs for LLM API endpoints as part of its stated purpose, but line 422 is unrelated to any link.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- llm-client.js:422
JavaScript analysis reported javascript.xray.encoded-literal
Expected behavior · high confidence
A security scanner flagged a line of test code that checks whether a function correctly handles normal letters and numbers. This is completely normal testing behavior and has nothing to do with security risks like hidden code or data theft.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.encoded-literal in this repository.
Contextual assessment: The scanner flagged the literal string 'abc123' on line 21 as a potential encoded literal. This string appears in a unit test assertion for the sanitizeCampaignPrefixString function, which tests that alphanumeric input is preserved unchanged. There is no obfuscation, hidden behavior, or security relevance. The test file is not shipped code and the literal is a simple test value.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.encoded-literal
- File role
- test
- Source
- tests/schema-helpers.test.js:21
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
This file manages visual groups for organizing characters and modules. The code is straightforward and readable, with no hidden or tricky behavior. The security scanner flagged it incorrectly.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The static analysis signal for obfuscated code is a false positive. The entire file contains clear, well-commented JavaScript with no obfuscation, dynamic code generation, or concealed execution. The functions perform safe normalization of display group data using strict sanitization and bounded loops. No malicious or suspicious patterns are present.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- src/features/display-groups.js:1
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · high confidence
This code uses a regular expression to check if a dice formula is a simple percentage roll, like '1d100+5'. The pattern is simple and safe—it cannot be tricked into taking a very long time to run. No security issue exists here.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regex /^(?:\d*)d100(?:[+-]\d+)*$/ is used to validate percentage-form dice formulas (e.g., '1d100+5'). It contains no nested quantifiers or alternation that would cause catastrophic backtracking. The quantifiers are linear and bounded by the literal 'd100' and the start/end anchors, preventing exponential runtime even on crafted input. The scanner's 'unsafe-regex' signal is a false positive for this pattern.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- src/state/dice-compare.js:14
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · medium confidence
Yet another HP-parsing line. It's just reading game data.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: Line 1187 uses the same regex for parsing HP data within the `autoGeneratePartyPortraits` function. It is applied to user-written state memo content. The pattern is well-defined and poses no realistic security risk.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- portraits.js:1187
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · low confidence
A security scanner found a possible suspicious link in this file, but we can't see what it is because the code wasn't fully provided. The file stores settings for the extension, including web addresses for AI services, which is normal for this type of extension. There's no sign that anything bad is happening.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The scanner flagged a pattern at line 266, but the actual source code at this line was not provided in the review evidence. Based on the file's purpose—managing profile snapshots including user-configured API endpoints and keys—the flag may correspond to a legitimate URL string (e.g., a default Ollama endpoint or user-provided API URL). No exfiltration or unauthorized network access is evident from the supplied code. Without the actual code, no concrete security concern can be confirmed.
Impact: none · Exploitability: unlikely
Developer action: No action needed based on available evidence. If the flagged lines contain hardcoded URLs to external services not documented, consider verifying they are appropriate.
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/profiles.js:266
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The extension has a default setting to connect to a local AI model server (Ollama) at a standard address. This is normal for AI tools that run on your own computer. There is no sign of anything harmful.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged line at 1204 is a fallback default URL for a local Ollama instance, which is a common local LLM server used by AI roleplay extensions. This is consistent with the project's stated purpose of integrating with AI models for game state tracking and character editing. The URL is hardcoded to localhost and port 11434, a standard Ollama default; it is not a remote or suspicious endpoint. No evidence of network exfiltration, credential theft, or malicious data flow exists. The scanner rule 'shady-link' lightly flags hardcoded URLs, but in context this is benign and expected behavior.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/ui/panel/panel-builder.js:1204
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This line sets a default URL for connecting to a local AI service running on your computer. It's like pre-filling a text box with a typical address. No data is sent anywhere just by doing this.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The 'shady-link' signal flags a string literal at line 167 that is a default URL for an Ollama connection field. This line sets the value of an HTML input to a user-configurable setting defaulting to a localhost address. No network request is made by this assignment; it is only populating a UI form field. The URL is for local Ollama service, which is a legitimate local AI backend. There is no evidence of data exfiltration, remote connection, or attacker-controlled destination. The signal is a false positive for a benign localhost default.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/features/chat/chat-state-loader.js:167
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This third default is for the AI assistant that helps set up game systems — again it only connects to your own computer's local AI service.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged string at line 1328 is a default Ollama API URL for the game system wizard, pointing to localhost port 11434. This is standard configuration for a local model endpoint. No user data is sent externally; the URL is a loopback address. The scanner signal lacks context and is a false positive.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/defaults.js:1328
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
The code in this file is plain and readable. It is not hidden or scrambled in any way. The security scanner simply made a mistake by flagging it.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The static analysis signal for obfuscated code is a false positive. The file contains standard ES module imports, clearly named functions, inline comments, and standard DOM manipulation patterns. No minification, encoding, or concealment is present. The code is fully readable and functionally transparent.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- src/ui/panel/panel-builder.js:1
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The extension sets a default address for connecting to a local AI model program on your computer, like 'localhost'. That's normal and expected for this type of tool. You can change it to any other address you want.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:4505
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
This code is a simple debug window for a roleplaying game extension. It shows past conversations and lets you move or resize the window. The scanner worried the code might be hidden or tricky, but looking at it directly shows it's straightforward and harmless—no secret behavior or hidden tricks.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The file file is fully readable, well-commented, and performs no obfuscation or hidden behavior. The scanner signal for obfuscated code is a false positive; the code uses template literals and inline HTML for constructing a debug panel UI, but contains no minification, encoded strings, concealed execution, or suspicious transformations. The code solely implements a local debug viewer that logs LLM transactions, persists panel geometry via localStorage, and manages drag/resize interactions. No data exfiltration, credential handling, or external communication occurs. The attack surface is limited to standard DOM and localStorage operations with no attacker-controlled input paths that could lead to meaningful harm beyond a local self-denial-of-service (e.g., UI freeze from excessive transactions), which is not demonstrated and falls below the material risk threshold.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- debug-viewer.js:1
JavaScript analysis reported javascript.xray.unsafe-regex
Expected behavior · low confidence
This code uses a regular expression to read hit points from game notes. The security scanner flagged it as potentially dangerous, but after review it turns out to be safe. It cannot be tricked into causing a freeze or crash in any practical way.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.
Contextual assessment: The regex on line 214 is used to parse HP values from memo lines such as 'Bob: 100/50 HP'. The pattern is anchored with ^ and uses a lazy quantifier (+?) followed by a fixed colon, which limits backtracking to O(n) on non-matching input. The signal from JS-X-Ray is based on a generic unsafe-regex rule that flags patterns with potential for catastrophic backtracking, but in this specific case the regex does not contain nested quantifiers or alternations that would cause exponential blowup. The input is also constrained to memo lines (typically short), and the regex is applied per-line in a loop. No demonstrable ReDoS risk exists in this context.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.unsafe-regex
- File role
- production
- Source
- portraits.js:214
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The code checks whether the image you uploaded is a data image (like a file you picked) and then processes it appropriately. That's a standard and safe way to handle user-uploaded images.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged line (5672) checks if the stored image source begins with 'data:image/' to handle base64 image data. This is part of the same validation and processing logic for user-provided panel background images. No data exfiltration or network call occurs here. The code correctly distinguishes between data URIs and remote URLs.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- index.js:5672
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · low confidence
A security scanner found a possible suspicious link in this file, but we can't see what it is because the code wasn't fully provided. The file stores settings for the extension, including web addresses for AI services, which is normal for this type of extension. There's no sign that anything bad is happening.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The scanner flagged a pattern at line 250, but the actual source code at this line was not provided in the review evidence. Based on the file's purpose—managing profile snapshots including user-configured API endpoints and keys—the flag may correspond to a legitimate URL string (e.g., a default Ollama endpoint or user-provided API URL). No exfiltration or unauthorized network access is evident from the supplied code. Without the actual code, no concrete security concern can be confirmed.
Impact: none · Exploitability: unlikely
Developer action: No action needed based on available evidence. If the flagged lines contain hardcoded URLs to external services not documented, consider verifying they are appropriate.
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- src/state/profiles.js:250
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
Another test-only fake URL. It's harmless because it's just data in a test, not an actual web address being accessed.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Line 137 contains a fake http URL used as test input for the adventure companion Ollama URL parameter. Like the other two candidates, this is a static test value that appears only in the unit test and is not executed against any live service. The test verifies parameter mapping correctness in isolation. No credential or data leaves the test sandbox.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- test
- Source
- tests/adventure-companion.test.js:137