TavernKeeper Scan Report

starlitcode/Lumiverse-Auto-Retry

Commit 58a7bcb 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 11 low

What this review found

No material or immediate-danger item was identified.

Minor cautions

JavaScript analysis reported javascript.xray.unsafe-regex

Minor caution · medium confidence

A crafted input might briefly slow or freeze the local client, without showing broader security harm.

Technical evidence

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

Contextual assessment: The expression may permit a local CPU slowdown, but this evidence shows no credential, persistence, code-execution, or cross-user impact.

Impact: low · Exploitability: plausible

Developer action: Bound the input length or replace the expression when practical.

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
test
Source
test/ui.mjs:2813
Deterministic technical evidence (5)
  • OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval · opengrep 1.26.0

    This technical signal is not part of the shipped runtime behavior.

    Policy reason: owned-inert-tooling · Execution scope: test-documentation-data

    Source: test/refusal-note.test.ts:43

  • OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval · opengrep 1.26.0

    This technical signal is not part of the shipped runtime behavior.

    Policy reason: owned-inert-tooling · Execution scope: test-documentation-data

    Source: test/backend-version.test.ts:40

  • OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval · opengrep 1.26.0

    This technical signal is not part of the shipped runtime behavior.

    Policy reason: owned-inert-tooling · Execution scope: test-documentation-data

    Source: test/prompt-viewer.test.ts:50

  • OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval · opengrep 1.26.0

    This technical signal is not part of the shipped runtime behavior.

    Policy reason: owned-inert-tooling · Execution scope: test-documentation-data

    Source: test/prompt-viewer.test.ts:433

  • OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval · opengrep 1.26.0

    This technical signal is not part of the shipped runtime behavior.

    Policy reason: owned-inert-tooling · Execution scope: test-documentation-data

    Source: test/prompt-viewer.test.ts:365

Contextual expected matches (5)

JavaScript analysis reported javascript.xray.shady-link

Expected behavior · high confidence

The web address the scanner flagged is a made-up one used only by the project's automated tests. The test tool intercepts the visit and hands back fake page content locally, so nothing ever contacts a real server, and this code is never shipped to or run by users.

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 literal is a synthetic origin constant defined in the automated UI test harness. Every navigation to it is intercepted by a route handler that fulfills requests locally with fixture markup, so no request reaches any real network destination. The synthetic origin exists because browser storage APIs throw on a blank page, and the checks exercise settings and preset persistence. This is a test file in the automation scope; the repeated occurrences are separate checks reusing the same staging helper. Nothing here executes for users of the extension, and no network access actually occurs even when the tests run.

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

JavaScript analysis reported javascript.download-to-execution

Expected behavior · high confidence

This is the project's automated test suite, which opens a pretend browser window and loads the extension's own code into it to check that buttons and timers behave correctly. Loading code into a test browser on purpose is exactly how such tests work. Nothing is downloaded from the internet and run; the code being run is the project's own, and none of this ships to users.

Technical evidence

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

Contextual assessment: The flagged region is a browser-automation test harness in a test file. The 'network retrieval' primitive is the test runner acquiring a local browser instance and the harness reading local fixture files; the 'execution sink' is the harness deliberately injecting the project's own source and style strings into blank pages it creates, which is the entire point of a UI test. No remote or attacker-controlled content reaches the execution path: the injected script content is the project's own source read from the repository, staged into throwaway pages, and torn down afterward. This code is not part of the shipped extension artifacts that the host loads, and no user-controlled data flows into any dynamic execution sink. The correlation of a retrieval primitive and an execution sink in the same file is expected for a Playwright-style test and demonstrates no exposure.

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
test
Source
test/ui.mjs:3987-4836

JavaScript analysis reported javascript.xray.unsafe-regex

Expected behavior · high confidence

An automated scanner worried that some text-matching patterns might be slow enough to hang the browser. Looking at the actual code, the patterns have hard limits on how much they can repeat and were carefully designed so they cannot get stuck re-checking the same text over and over. The developer even notes that an earlier, slower pattern was found and removed. Nothing here shows a way for anyone to freeze the app, and at worst a slow match would only briefly slow down the user's own screen.

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 potentially unsafe regular expressions, but the visible patterns in the shipped frontend are deliberately written to avoid catastrophic backtracking. The main tag-stripping pattern bounds its repetition to a hard cap and uses mutually exclusive alternation branches, so no two branches can consume the same first character and there is nothing to backtrack between. The line-oriented custom-tag pattern is anchored and its execution loop is capped at a fixed iteration count. The refusal and error-matching patterns are short literal word lists with small bounded gap quantifiers, not nested unbounded quantifiers. The container-scanning routine was intentionally rewritten with index scanning instead of a backtracking pattern, with an in-code note that a pathological pattern was already encountered and removed once. No demonstrated super-linear matching on attacker-influenced reply text is shown by the supplied evidence. Even a worst-case slow match on model output would only affect the user's own tab, which is a local self-denial-of-service with low impact under the applicable threat model.

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

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

Expected behavior · high confidence

The scanner saw a script that downloads code from the internet and runs it, which is a pattern worth checking. Here it is the ordinary, officially recommended way to install a tool called bun for building the project. It only runs if you are a developer setting up the code to work on it, it comes straight from the tool maker's own website over an encrypted connection, and it is plainly visible in the script rather than hidden. It is not part of what users of the extension ever run.

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 curl-pipe-bash fallback for installing the bun runtime in a developer environment setup script. This is the runtime vendor's own documented install method, fetched over TLS from the vendor's official domain, attempted only after an npm-based install fails, and clearly disclosed in the surrounding comments and script purpose. The script is not part of the shipped extension: the project's own documentation states the extension runtime loads only two committed JavaScript files, and this shell script exists to prepare a development workspace. There is no obfuscation, no concealed second destination, and no execution triggered on end users of the extension. The behavior is the standard, well-known trade-off of piping a vendor installer to a shell, executed voluntarily by a developer setting up a build environment, which does not constitute demonstrated exposure of shipped or executable extension behavior to an attacker-controlled path.

Impact: low · Exploitability: unlikely

Developer action: none

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

JavaScript analysis reported javascript.xray.serialize-environment

Expected behavior · high confidence

The test script looks up two standard environment settings that say where a test browser is installed, so it can launch it for automated checks. Nothing is collected, copied, or sent anywhere, and this helper is not part of what 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 serialize-environment heuristic occur in the test harness's browser-locator helper. It reads two specific variables that name a browser executable and a browser installation root, checks whether candidate locations exist, and passes the result to the browser launcher so the automated checks can run in environments where the test runner's default lookup fails. The read values are never serialized into a payload, written to storage, or transmitted to any destination; only path existence is checked. No credential or secret material is accessed, and none of this code is part of the shipped extension files the host loads.

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

Coverage and limitations

JavaScript coverage

Unresolved JavaScript stages

Tools

Limitations

Technical scan identity