TavernKeeper Scan Report

izanagi771-stack/Story-Editor

Commit ba2b531 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

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
production
Source
review-recovery-core.js:97

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
production
Source
index.js:627
Deterministic technical evidence (1)
  • JavaScript analysis reported javascript.xray.data-exfiltration · javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1_families-1

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

    Policy reason: javascript-xray-inert-content · Execution scope: test-documentation-data

    Source: tests/module-import-smoke.test.mjs:3

Contextual expected matches (1)

JavaScript analysis reported javascript.xray.shady-link

Expected behavior · high confidence

The flagged text is just the official address-like name that web pages must use when drawing SVG graphics. Nothing is sent anywhere and no data leaves the user's browser. The tool flagged it because it looks like a web address, but it is a required label for drawing charts, not a link to a website.

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 contains only the standard W3C SVG namespace identifier passed to the DOM API for creating namespaced SVG elements while rendering analytics charts. This constant is a namespace URI, not a network endpoint; no fetch, network request, or data transmission occurs, and the surrounding code builds chart markup entirely in the local DOM. The scanner matched a URL-shaped literal without retaining context, producing a false positive.

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
production
Source
index.js:2438

Related contextual observations

SVG chart rendering uses only DOM text assignment for dynamic values

low risk · high confidence

Detailed wording was omitted by the public report safety filter.

Technical assessment

The chart-building helpers in the analytics rendering code construct all dynamic text via textContent and setAttribute with string coercion on locally persisted metric records. No innerHTML or similar sink is used for record-derived data, so stored metric values are rendered as inert text rather than parsed markup. This is proportionate to the extension's stated analytics purpose and shows no injection path in the supplied code.

Impact: none · Exploitability: unlikely

Developer action: none

Sources:

Coverage and limitations

JavaScript coverage

Tools

Limitations

Technical scan identity