TavernKeeper Scan Report

Archkr/Lumiverse-LumiWeather

Commit a2e5e67 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 7 low

What this review found

No material or immediate-danger item was identified.

Deterministic technical evidence (4)
  • zizmor reported artipacked · zizmor 1.28.0

    The code has a known weakness, though this scan does not show that anyone can exploit it here.

    Policy reason: zizmor-known-workflow-rule · Execution scope: automation

    Source: .github/workflows/ci.yml:14-15

  • zizmor reported excessive-permissions · zizmor 1.28.0

    The code has a known weakness, though this scan does not show that anyone can exploit it here.

    Policy reason: zizmor-known-workflow-rule · Execution scope: automation

    Source: .github/workflows/ci.yml:11-36

  • zizmor reported unpinned-uses · zizmor 1.28.0

    The code has a known weakness, though this scan does not show that anyone can exploit it here.

    Policy reason: zizmor-known-workflow-rule · Execution scope: automation

    Source: .github/workflows/ci.yml:15

  • zizmor reported unpinned-uses · zizmor 1.28.0

    The code has a known weakness, though this scan does not show that anyone can exploit it here.

    Policy reason: zizmor-known-workflow-rule · Execution scope: automation

    Source: .github/workflows/ci.yml:18

Contextual expected matches (3)

JavaScript analysis reported javascript.xray.unsafe-regex

Expected behavior · high confidence

The scanner flagged a pattern used to read times like those in the story weather tag. The pattern is simple and strictly limited in what it accepts, so it cannot be made to hang or crash the app even if the model outputs odd text. This is normal parsing code for the extension's stated purpose.

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 an anchored pattern for parsing 12-hour story time strings. All quantifiers are tightly bounded digit or whitespace counts separated by literal separators, so there are no nested or ambiguous quantifiers capable of catastrophic backtracking. The same family of anchored, bounded patterns appears throughout the supplied source for dates, times, and temperature tokens, and each operates on short, trimmed tag-attribute strings consistent with the extension's documented weather-tag parsing. No unsafe-regex condition is demonstrated despite the scanner signal, and no network, persistence, or execution behavior is associated with these parsers.

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

JavaScript analysis reported javascript.xray.unsafe-regex

Expected behavior · high confidence

The scanner flagged text-matching patterns in the interface bundle. They are simple, strictly limited patterns for reading story times, temperatures, and wind wording from the weather tag. They cannot be tricked into freezing the app, and they are exactly what a weather display extension needs.

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 occurrences are the same anchored time-parsing patterns seen in the backend bundle, plus simple fixed-alternation keyword tests and short word-boundary lookups used to derive rain drift from wind wording. None contain nested or overlapping quantifiers over the same character class, so no catastrophic backtracking path exists on any input, including model-controlled tag text. Inputs are trimmed, bounded attribute strings, and the patterns are linear in practice. This matches the extension's documented purpose of normalizing weather-tag metadata and rendering effects.

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

JavaScript analysis reported javascript.xray.shady-link

Expected behavior · high confidence

The scanner flagged what look like web addresses, but they come from data packed inside bundled weather artwork and from the standard labels browsers use when drawing graphics. Nothing here contacts the internet; the images are stored inside the extension file itself and drawn locally. This is a normal way to ship small artwork in a browser 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 location is a bundled image asset: a base64-encoded PNG of a cloud sprite inlined as a data URI by the build step, with several more cloud sprites following. Address-like strings inside the flagged region are standard metadata namespace identifiers embedded in the image data and standard drawing-namespace identifiers used when creating inline vector elements for the animation layer. A data URI is rendered locally and does not perform a network request; the supplied windows show no fetch, network, or remote-destination code associated with these assets. The signal is a heuristic response to identifiers embedded in static image data, not demonstrated network access, and inlined weather sprites are proportionate to the stated HUD-and-ambience 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
generated
Source
dist/frontend.js:2

Coverage and limitations

JavaScript coverage

Unresolved JavaScript stages

Tools

Limitations

Technical scan identity