TavernKeeper Scan Report

starlitcode/Lumiverse-Auto-Refine

Commit 77d3c41 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

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

Minor caution · high confidence

The setup script that prepares a computer for working on this project downloads the installer for a common JavaScript runtime from that runtime's own official website and runs it directly. That is a normal, openly documented way to install it, and the script only runs when a developer chooses to. The one downside is that the script trusts whatever that website sends. If that website were ever taken over by an attacker, the script would run their code. Nothing in the supplied evidence shows any such compromise, so this is a minor caution about the pattern, not a sign of a problem.

Technical evidence

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

Contextual assessment: The matched line pipes a download from the bun project's official install address over HTTPS directly into a shell, inside a development environment setup script that the user runs manually from the repository. This is the documented installation method for the bun runtime, it is fully visible in the committed script, npm installation is attempted first, and it serves the script's stated purpose of preparing a dev workspace. There is no concealment, no credential access, no persistence, and no execution in the shipped extension itself. The weakness is the inherited trust in a remote endpoint: if that endpoint or its hosting were compromised, the script would execute attacker-controlled code in the developer's environment with whatever privileges the session has. No attacker control over that endpoint, and therefore no demonstrated exposure, is present in the supplied evidence, so this remains a known bootstrap-pattern weakness rather than a demonstrated vulnerability or malicious behavior.

Impact: medium · Exploitability: unlikely

Developer action: Consider verifying the downloaded installer against a published checksum or version-pinned release before executing it, so the script no longer relies solely on the integrity of the remote host.

Scanner
opengrep 1.26.0
Rule
tavernkeeper.download-and-execute.shell-pipeline
File role
production
Source
setup.sh:46
Contextual expected matches (4)

JavaScript analysis reported javascript.xray.serialize-environment

Expected behavior · high confidence

The scanner noticed the code reading settings from the computer's environment variables and flagged it as possible secret-gathering. In reality the test reads two variables that say where a copy of the Chromium browser is installed, so the tests know which browser to open. The values stay inside the test run on the developer's own machine; nothing is sent anywhere, and this code never runs for people who install the extension.

Technical evidence

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

Contextual assessment: The flagged reads of process.env.CHROMIUM_PATH and process.env.PLAYWRIGHT_BROWSERS_PATH occur in a browser-check harness whose sole purpose is locating a Chromium executable to launch for UI tests. The values are used as a local filesystem path for the browser launch; they are never serialized to a request, written to persistent storage, logged to a remote destination, or passed outside the test process. There is no credential content involved and no outbound data flow, so the credential-theft category the scanner associated with environment serialization does not apply. This file runs only when a developer deliberately installs Playwright and invokes the UI checks; it is not part of shipped extension 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.xray.serialize-environment
File role
test
Source
test/ui.mjs:575

JavaScript analysis reported javascript.xray.unsafe-regex

Expected behavior · medium confidence

The scanner pointed at a text-cleaning pattern in the interface code. It is used to strip markup tags from the model's working notes before showing them on screen. The pattern is written safely, and even a strange input would only make the display take a moment longer, not lose data or affect anything outside the user's own session.

Technical evidence

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

Contextual assessment: The flagged location is a tag-stripping regular expression and a notes-extraction pattern used to clean model reasoning output for display in the extension's UI. The tag matcher uses a character class that excludes its closing delimiter and a lazy quantifier, so it scans linearly and does not exhibit the nested ambiguous quantifiers that cause catastrophic backtracking. The extraction pattern uses a lazy match bounded by an explicit end token or end of input. Both run on per-refine model output held in memory for the session; the worst conceivable outcome is a brief slowdown while rendering a log card, a recoverable local condition. No untrusted-input path to concrete harm beyond that is demonstrated, and the behavior matches the project's stated purpose of showing what changed after a refine.

Impact: low · 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:3389

JavaScript analysis reported javascript.xray.shady-link

Expected behavior · high confidence

The scanner saw a web address in the code and raised a flag. It is a made-up address used only by the project's own automated tests: the test pretends a browser page lives at that address so it can set up saved settings before loading the extension's panel. Nothing is actually fetched from the internet, and this code never runs on a user's machine.

Technical evidence

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

Contextual assessment: The flagged line registers a Playwright route interception for a synthetic origin used only inside the test harness. The browser is told to fulfill that route with locally constructed HTML so that localStorage (which throws on about:blank) works when seeding saved settings, presets, and model setups before the built extension bundle is injected. No request leaves the machine: the route is intercepted and fulfilled in-process, and the string is a clearly fictional placeholder domain. This is a test file that only runs when a developer explicitly installs Playwright and executes the UI checks; it is not shipped as executable extension 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.xray.shady-link
File role
test
Source
test/ui.mjs:123

JavaScript analysis reported javascript.xray.unsafe-regex

Expected behavior · medium confidence

The tool flagged some text-matching patterns as potentially risky. Looking at the actual code, these patterns are used to recognize when a model gives a canned refusal or when a provider reports a temporary error, so the extension knows not to save a bad rewrite and when to retry. The patterns look well-formed, and the worst case even if one were slow is a brief slowdown of the user's own session, not any harm to data or the device.

Technical evidence

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

Contextual assessment: The scanner flags a static unsafe-regex signal, but the regexes visible in the supplied context are pattern-matching heuristics over model output and provider error strings: a preamble detector, a list of refusal phrasings, rate-limit and non-retryable error matchers, and retry-after duration parsers. These patterns use bounded intermediate quantifiers, character classes disjoint from their terminators, and literal alternations, so no catastrophic backtracking structure is demonstrated. They run against short, session-scoped strings (a model rewrite, an error message), and even a pathological input would at worst cause a transient slowdown or tab stall, which is a recoverable local condition. No attacker-controlled path to credential theft, data exfiltration, persistence, or code execution is shown, and the matching behavior is proportional to the extension's stated purpose of validating rewrites before saving them.

Impact: low · 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:1425

Coverage and limitations

JavaScript coverage

Unresolved JavaScript stages

Tools

Limitations

Technical scan identity