TavernKeeper Scan Report

owler-tavern/context-image-generation

Commit 23d82ec 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 2 low

What this review found

No material or immediate-danger item was identified.

Contextual expected matches (2)

JavaScript analysis reported javascript.download-to-execution

Expected behavior · high confidence

The scanner noticed this extension both downloads data from the internet and contains something that looked like it could run code. Looking at what actually happens: it sends prompts to the AI image services the user configured, and any downloaded data is only ever a generated picture that gets displayed or saved. Nothing downloaded is ever executed as code, and the only data leaving the app goes to the image services the user picked, which is exactly what this tool is for.

Technical evidence

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

Contextual assessment: The rule correlates network retrieval primitives with a presumed execution sink within the same file. Tracing the actual data flow in the supplied source: outbound fetch calls go only to the image-generation provider endpoints defined in the bundled provider registry, to the SillyTavern host for avatar retrieval, and to image URLs returned by those providers. Retrieved bytes are converted to base64 and used exclusively as image media for display, message attachment, and file saving through host utilities; the downloaded content never reaches eval, dynamic Function construction, script injection, or command execution. The byte-reassembly base64 helper and jQuery option construction are the likely sink-like tokens, and both are inert. User-entered provider keys are attached only as authorization headers to the matching selected provider, a flow the project README explicitly documents, including that direct-provider requests run in the browser. This matches the stated purpose of a chat-context image generation 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_families-1
Rule
javascript.download-to-execution
File role
production
Source
index.js:144-1074

JavaScript analysis reported javascript.xray.obfuscated-code

Expected behavior · high confidence

The scanner thought this file might be deliberately scrambled to hide what it does. Reading the actual code, the file is just a clearly written list of supported AI providers, their models, and settings. There is nothing hidden or disguised in it.

Technical evidence

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

Contextual assessment: The complete supplied source for this module is plain, readable declarative configuration: model identifiers, UI labels, image size options, and provider transport descriptors with their service base addresses. There is no encoding, packing, hex or unicode string obfuscation, encoded payloads, self-modifying logic, or concealed behavior. Every endpoint declared here is one of the image providers the project README openly documents, and the module performs no network or execution work itself; it only supplies lookup data to callers. The low-confidence scanner signal is not corroborated by any visible obfuscation in the artifact.

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
lib/providers/registry.js:1

Coverage and limitations

JavaScript coverage

Tools

Limitations

Technical scan identity