TavernKeeper Scan Report

starlitcode/Lumiverse-Auto-Refine

Commit 2c79be9 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 6 low

What this review found

No material or immediate-danger item was identified.

Contextual expected matches (6)

OpenGrep reported tavernkeeper.download-and-execute.shell-pipeline

Expected behavior · high confidence

A scanner flagged a script line that downloads and runs an installer. This is a setup script for people working on the project's code, not part of the extension users install. It installs a standard build tool, and only downloads the installer from the tool maker's own website when the normal package install could not be used. Downloading and running a vendor's official installer is a common, openly documented way to set up a development machine. The risk is only the ordinary one of trusting that vendor's website, the same trust as installing any software package.

Technical evidence

Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.download-and-execute.shell-pipeline. The match applies to this repository.

Contextual assessment: The flagged line is a fallback in a developer environment-setup script: when the bun runtime is missing and a package-manager install fails, it pipes the official bun installer over HTTPS into a shell. This is a conventional, disclosed bootstrap pattern for development environments, reached only manually in a fresh sandbox, with the package-manager route tried first and the whole step clearly commented and announced. The destination is the vendor's own documented install endpoint, not an unusual or obfuscated source, and the script performs no hidden persistence, no credential access, and nothing in the shipped extension runtime. The pattern inherently trusts the vendor endpoint, the same trust any dependency install carries, but the supplied evidence shows no attacker-controlled trigger or concrete harm path.

Impact: low · Exploitability: unlikely

Developer action: Optionally pin or verify the installer against a published checksum before execution, so the setup step does not depend solely on the vendor endpoint remaining trustworthy.

Scanner
opengrep 1.26.0
Rule
tavernkeeper.download-and-execute.shell-pipeline
File role
production
Source
setup.sh:46

JavaScript analysis reported javascript.xray.shady-link

Expected behavior · high confidence

The flagged web address is a made-up placeholder name used only inside the project's automated browser tests. The test setup pretends to serve a page at that fake address so the extension can be exercised in a simulated environment, and the page never actually contacts any website. Nothing in this test code sends data anywhere, and it is not part of what users get when they install the extension.

Technical evidence

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

Contextual assessment: The scanner's shady-link signal matches the repeated literal URL string used by the browser-automation test harness. The test file registers a Playwright route that intercepts a synthetic origin and serves locally authored HTML, then navigates the automated browser to that same intercepted origin. The navigation never reaches the network because the route handler fulfills the request in-process; the string exists solely so the page has a real origin (rather than a blank one) that permits the browser's local storage APIs to work when the test seeds saved settings, presets, and model setups. This file is a test with an automation execution scope and is not part of the shipped extension behavior. No outbound connection, external destination, credential flow, or data exfiltration is present 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_families-1
Rule
javascript.xray.shady-link
File role
test
Source
test/ui.mjs:123

JavaScript analysis reported javascript.xray.unsafe-regex

Expected behavior · high confidence

The flagged pattern is part of how the extension tidies up a model's notes for display: it removes the tags around them and extracts the text between the note markers. It is written efficiently and only touches the text of the user's own session, so there is no realistic way for anyone to misuse it.

Technical evidence

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

Contextual assessment: The unsafe-regex signal points at the tag-stripping and note-extraction patterns in the generated frontend bundle. One strips markup-like tags from model working notes; the other lazily captures the content between a specific notes tag or the end of the string. Both are single-pass lazy quantifiers over non-overlapping character classes with no nested quantification, so they run in time linear in the input length. They operate on the extension's own model output for display in its Log tab, which matches the stated purpose. Even a pathologically long reply would only cause a bounded slowdown in the user's own session, which is a recoverable local quality issue, not a demonstrated attacker-controlled harm.

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.unsafe-regex
File role
generated
Source
dist/frontend.js:3959

JavaScript analysis reported javascript.xray.unsafe-regex

Expected behavior · high confidence

The scanner flagged a handful of pattern-matching expressions used to recognize when a model refuses a request, when a provider is busy, and what kind of service a URL points to. These are ordinary text-matching tools for the extension's advertised job, and none of them is written in a way that could hang or be abused by an outside party.

Technical evidence

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

Contextual assessment: The unsafe-regex signal flags ten regex literals in the generated backend bundle. The visible patterns are refusal-detection phrases, rate-limit and retry-wait parsing, endpoint path classification, URL origin extraction, and a localhost http check. Structurally they are linear: lazy quantifiers over character classes with bounded or non-overlapping repetitions, with no nested unbounded quantifiers that would produce catastrophic backtracking. They run against model replies, error strings, and user-configured URLs in the extension's own refine workflow, matching the stated purpose of detecting refusals and retry behavior. No credential, exfiltration, or persistence data flow is present in the shown context; the key handling shown is origin-scoped and refuses plain-http destinations except local ones, which is a defensive design, not a weakness.

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.unsafe-regex
File role
generated
Source
dist/backend.js:1471

OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval

Expected behavior · high confidence

This is a self-test file. To check how the extension handles very long chat replies, the test builds a large fake reply inside a controlled test browser. Because the test tool cannot pass a function directly, it converts the test's own helper function to text and rebuilds it in the browser. Everything that gets executed is written by the test itself, in the same file, and none of it runs in the version users install. There is no way for anyone outside the project to influence what runs.

Technical evidence

Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval. The match applies to this repository.

Contextual assessment: The flagged dynamic-execution construct sits in a test automation file, not in shipped extension code. It serializes a helper function defined in the same test file (a deterministic word-list generator) and reconstructs it inside a headless browser page so the test can build large synthetic replies and feed them to the extension's mock backend channel. The string passed to the dynamic constructor is entirely test-authored source: it comes from stringifying a function literal defined a few lines above, with no user input, repository data, network content, or extension-produced data in the evaluated string. There is no attacker-controlled path, no untrusted input reaching the evaluated text, no persistence, and no effect outside the throwaway test page. This is a standard technique for moving test fixtures into a browser evaluation context.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
opengrep 1.26.0
Rule
tavernkeeper.dynamic-execution.javascript-eval
File role
test
Source
test/ui.mjs:5319

JavaScript analysis reported javascript.xray.serialize-environment

Expected behavior · high confidence

The scanner noticed the code reading settings from the computer's environment. In the test launcher, those settings only tell it where a copy of the Chromium browser is installed so the automated tests can run. The values stay on the person's own machine, nothing is sent anywhere, and none of this code runs in the extension users install.

Technical evidence

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

Contextual assessment: The environment-variable reads flagged by the scanner occur in the browser-test launcher and read two well-known configuration variables that locate an installed Chromium binary for the automation harness. The read values are used only as a local executable path passed to the browser launcher, or to scan a local directory for a Chromium build, and are never serialized, transmitted, logged to a remote destination, or persisted. This is test-scope code that does not ship or execute in the installed extension, and the accessed variables contain browser locations rather than credentials.

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.serialize-environment
File role
test
Source
test/ui.mjs:578

Coverage and limitations

JavaScript coverage

Unresolved JavaScript stages

Tools

Limitations

Technical scan identity