TavernKeeper Scan Report

BlueprintCoding/SillyTavern-Character-Tag-Manager

Commit c15d6d7 Reviewed

No material or immediate-danger concern was identified in this review.

This advisory report describes what the named tools and review process found at one exact commit. Unknown or unobserved behavior may still exist.

0 immediate danger 0 material 5 low

What this review found

No material or immediate-danger item was identified.

Minor cautions

JavaScript analysis reported javascript.xray.unsafe-regex

Minor caution · medium confidence

A crafted input might briefly slow or freeze the local client, without showing broader security harm.

Technical evidence

Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex. The match applies to this repository.

Contextual assessment: The expression may permit a local CPU slowdown, but this evidence shows no credential, persistence, code-execution, or cross-user impact.

Impact: low · Exploitability: plausible

Developer action: Bound the input length or replace the expression when practical.

Scanner
javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1_families-1
Rule
javascript.xray.unsafe-regex
File role
production
Source
utils.js:458
Contextual expected matches (4)

JavaScript analysis reported javascript.xray.obfuscated-code

Expected behavior · high confidence

A scanning tool guessed this file might contain hidden or disguised code, but the actual code shown is ordinary, clearly written interface logic for organizing tags and character folders in SillyTavern. There is nothing disguised or hidden in the supplied evidence, and it does not send data anywhere unexpected.

Technical evidence

Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code. The match applies to this repository.

Contextual assessment: The scanner flagged an obfuscated-code signal, but the supplied source is plainly readable ES module code with clear imports, descriptive variable and function names, and no packed strings, encoded payloads, hidden eval calls, or concealed execution. The visible data flow is confined to standard SillyTavern extension behavior: reading tag and entity state from the host application, rendering folder and character UI in the sidebar, persisting a locally hashed PIN in extension notes, and using a sessionStorage flag for private-folder visibility gating. No external destinations, covert timing, or disproportionate capabilities relative to the stated tag/folder management purpose are shown. The scanner's low confidence combined with a high severity label on transparent code indicates a false positive from the static heuristic.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1_families-1
Rule
javascript.xray.obfuscated-code
File role
production
Source
stcm_folders_ui.js:1

JavaScript analysis reported javascript.xray.obfuscated-code

Expected behavior · high confidence

The scanner suspected hidden code, but the file shown is normal, readable interface code for displaying and reordering folders. Nothing is scrambled or secret. At worst, the plugin inserts the user's own folder settings into its own interface markup, which affects only the user themselves.

Technical evidence

Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code. The match applies to this repository.

Contextual assessment: The scanner reports a low-confidence obfuscation signal at line 1, but the supplied source and expansions show a plainly written, self-described UI module for rendering and rearranging a folder tree via DOM manipulation, drag-and-drop handlers, and folder-management calls to sibling modules. No encoding, packing, decoder loops, or concealed logic appear in the reviewed code. Some markup is assembled with innerHTML using locally stored user-controlled folder properties (icon, color, name), which at most represents self-inflicted markup injection of the user's own data and is not the flagged candidate; folder names shown in headings are escaped. The obfuscation signal is not corroborated by 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_families-1
Rule
javascript.xray.obfuscated-code
File role
production
Source
stcm_folders_tree.js:1

JavaScript analysis reported javascript.download-to-execution

Expected behavior · high confidence

The extension asks the SillyTavern app itself to delete a character after the user confirms. It first fetches a security token from the app, then sends the delete request. Nothing downloaded is ever run as code, and the whole flow only happens when the user deliberately clicks delete and confirms. This matches what the plugin says it does.

Technical evidence

Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution. The match applies to this repository.

Contextual assessment: The flagged region contains two same-origin fetch calls to the SillyTavern host server: one retrieving a CSRF token and one posting a character-delete request with that token. The responses are used only as a JSON-parsed token value and an HTTP status check; nothing from the network response is passed into any dynamic code or command execution sink, and no such sink appears in the supplied source or expansions. The action is gated behind an explicit user confirmation dialog and matches the project's documented permanent-delete feature. This is a correlation-based scanner hit, not a demonstrated download-to-execution data flow.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1_families-1
Rule
javascript.download-to-execution
File role
production
Source
stcm_characters.js:498-572

JavaScript analysis reported javascript.xray.obfuscated-code

Expected behavior · high confidence

The scanner thought this file might hide what it does, but the code shown is ordinary, clearly written plugin code. It saves workshop sessions locally, builds prompts, and sends character details to the LLM the user already has configured—all features described in the project's readme. There is no hidden or scrambled code in what was reviewed.

Technical evidence

Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code. The match applies to this repository.

Contextual assessment: The scanner reports a low-confidence obfuscation signal at line 1, but the supplied source and expansions show plain, readable, commented JavaScript with normal imports, localStorage session persistence, UI rendering, and LLM prompt construction using the host's existing generation services. No encoded payloads, string-decoding routines, packed identifiers, or concealed logic are present in the reviewed code. Sending selected character-card fields to the user's active LLM is the documented Greeting Workshop feature, and the code explicitly masks the user macro to avoid leaking the real persona name. The scanner signal is not corroborated by any 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_families-1
Rule
javascript.xray.obfuscated-code
File role
production
Source
stcm_custom_greetings.js:1

Coverage and limitations

JavaScript coverage

Tools

Limitations

Technical scan identity