TavernKeeper Scan Report

starlitcode/Lumiverse-Auto-Refine

Commit 6d15e3a 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

This is a setup script for people working on the project's code, not something that runs when you use the extension. If your computer lacks a tool called bun, the script downloads and runs the tool's own official installer from the maker's website. That is a common but slightly risky practice, because the script does not verify the download's contents first; it simply trusts the source. The evidence shows no sign that the source is anything other than the official one, and only a developer choosing to run the setup script is affected.

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 developer-environment bootstrap fallback: when the bun runtime is missing, the script first tries a package-manager install and, on failure, pipes the official bun installer over TLS into a shell. This is the runtime vendor's documented install method, is confined to a repository setup script that a developer runs deliberately on their own machine, is not part of the shipped extension code, and is disclosed in the surrounding comments. The genuine weakness is that the downloaded script is executed without an integrity check or version pin, so the script trusts the vendor's endpoint and the network path; compromising that endpoint or a suitably positioned intermediary would yield code execution in the developer environment. However, no such compromise is evidenced, the destination is the vendor's own site over TLS, and no attacker-controlled trigger reaches this path, so exposure is not demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Consider installing the runtime via a package manager only, or verifying the downloaded installer (checksum or pinned version) before executing it, so the setup script does not rely solely on trust in the download endpoint.

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.unsafe-regex

Expected behavior · high confidence

The code contains pattern-matching rules that decide whether a model's rewritten reply is safe to save (for example, spotting when the model refused or added chatty lead-in text). These patterns are complicated-looking but run only on short, finished model answers, and the evidence shows no way for them to hang or be abused. This is ordinary text filtering that matches the extension's stated purpose of refusing to save the wrong thing.

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 patterns are literal, developer-authored regular expressions used to classify model answers before saving them: a preamble detector, a refusal-detection list, and error/rate-limit classifiers. The potentially costly constructs are bounded (fixed-length or capped range quantifiers, character classes excluding newlines), and they execute against short model responses during a refine, not against arbitrary attacker-controlled input of unbounded size. No catastrophic-backtracking shape, no user-controlled data reaching an unsafe engine, and no data flow to any external destination is present in the supplied evidence. The signal reflects the scanner's static aversion to alternation-heavy regexes, not demonstrated runtime 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.unsafe-regex
File role
generated
Source
dist/backend.js:1328

JavaScript analysis reported javascript.xray.serialize-environment

Expected behavior · high confidence

The test script looks at two settings on the developer's own machine to find where a browser is installed, so it can open one for interface testing. Nothing is copied, saved, or 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 environment-variable reads occur in a test helper whose only job is locating a Chromium executable so the optional browser test suite can run. The values are used locally as a launch path or a directory root to scan, are never serialized, transmitted, persisted, or rendered, and the file only executes as developer-run automation, never in the shipped extension. No credential or environment data leaves the process.

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:569

JavaScript analysis reported javascript.xray.unsafe-regex

Expected behavior · high confidence

This code cleans up the model's notes before showing them in the extension's log: it removes markup-style tags so the notes read as plain text. The pattern is slightly inefficient in the worst case, but it only runs on the model's own short answer, and the evidence shows no way for it to be made to hang or misbehave. This is normal text cleanup for the feature the extension advertises.

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 code is a display-side tag stripper and a notes-extraction pattern used to render the model's working notes in the extension's log panel. The generic tag pattern uses a lazy, character-class-bounded body and an optional attribute group; on failure it can backtrack, but the worst case is polynomial over the length of a single model answer, and the input is the model's own bounded notes text rather than arbitrary attacker-controlled content. No unbounded nested quantifier, no external data flow, and no concrete performance or correctness harm is demonstrated by the supplied evidence. The capability is proportionate to the stated purpose of showing what the model worked out.

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:2921

JavaScript analysis reported javascript.xray.shady-link

Expected behavior · high confidence

The test file uses a made-up web address as a stand-in home page when it opens a pretend browser. Nothing is actually fetched from the internet; the page content is supplied by the test itself. This is a normal way to run interface tests and cannot affect anyone who installs 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 flagged URL is a synthetic test origin used inside an automation-only browser test harness. The test intercepts navigation to that fictional hostname via the automation framework's request-routing hook and fulfills it locally with an inline HTML stub, so no request ever leaves the machine. The origin exists only so localStorage is available to the stubbed extension panel during UI checks, which matches the file's stated test role and the project's purpose.

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

Coverage and limitations

JavaScript coverage

Unresolved JavaScript stages

Tools

Limitations

Technical scan identity