TavernKeeper Scan Report

RMT120430/Sillytavern_WelcomeIdleVoice

Commit a910f6a 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.download-to-execution

Expected behavior · high confidence

The extension downloads audio files and plays them. It uses standard browser audio APIs, not any mechanism that could run code or commands. This matches its stated purpose of playing welcome and idle sounds.

Technical evidence

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

Contextual assessment: The scanner correlates a network retrieval primitive (fetch at line 40) with an execution sink in the same representation. Examining the actual data flow: fetch retrieves audio file bytes as an ArrayBuffer, ctx.decodeAudioData parses audio data into an AudioBuffer, and source.start(0) plays the buffer through the Web Audio API graph (createBufferSource, createGain, connect, destination). None of these constitute dynamic code or command execution. There is no eval, Function constructor, import, or shell invocation. The fetched URLs are either relative paths resolved against the extension root (extensionRootUrl) or user-configured audio source strings from the settings UI, matching the project purpose of playing welcome and idle sounds. The decoded data is never written to persistent storage, transmitted elsewhere, or executed as code. This is expected media-loading 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_families-1
Rule
javascript.download-to-execution
File role
production
Source
index.js:40-265

Related contextual observations

User-configured audio URLs are fetched for playback only

low risk · high confidence

Audio file paths are supplied by the user in the settings UI and only used to fetch and play sound. This is the intended functionality of the extension.

Technical assessment

getFullAudioUrl resolves user-configured source strings against the extension root URL, or passes through strings beginning with 'http' unchanged. These strings originate from extension_settings populated via the settings UI text inputs. The resulting URLs are consumed solely by fetch within loadAudioBuffer for audio decoding and playback, consistent with the documented feature set.

Impact: none · Exploitability: unlikely

Developer action: none

Sources:

Coverage and limitations

JavaScript coverage

Tools

Limitations

Technical scan identity