TavernKeeper Scan Report

heikouidou/chara-color-filter

Commit be02bb1 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 (1)

JavaScript analysis reported javascript.xray.obfuscated-code

Expected behavior · high confidence

The scanner flagged this file as potentially obfuscated, but the code is completely readable and well-commented. It is a straightforward SillyTavern extension that tints character sprites to match the background color. No hidden or suspicious behavior is present.

Technical evidence

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

Contextual assessment: The JS-X-Ray obfuscated-code signal is a false positive. The supplied source is plain, readable, well-commented JavaScript with clear variable names and structure. The extension imports standard SillyTavern APIs (extension_settings, getContext, saveSettingsDebounced, this_chid), computes the average color of the background image via a 1x1 canvas draw, creates a canvas overlay on character sprite images using composite operations, observes DOM mutations for sprite and background changes, persists a blend-mode setting through extension_settings, and loads a local settings HTML fragment from the extension folder. No eval, no dynamic code generation, no encoded strings, no external network calls, no credential access, and no obfuscation are present. All behavior matches the stated project purpose of applying a color filter to character sprites.

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
index.js:1

Related contextual observations

Background image URL extraction and canvas pixel sampling

low risk · high confidence

The extension reads the background image to calculate its average color for tinting. This is local processing only and matches the stated purpose.

Technical assessment

getAverageColorFromUrl loads a background image URL extracted from the bg1 element's inline style, draws it to a 1x1 canvas, and reads a single pixel to derive an average color. This is a local DOM/canvas operation with no external network destination beyond the already-loaded background image. The crossOrigin attribute is set to Anonymous. No data is transmitted anywhere.

Impact: none · Exploitability: unlikely

Developer action: none

Sources:

Coverage and limitations

JavaScript coverage

Tools

Limitations

Technical scan identity