No material or immediate-danger item was identified.
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
- electron/main.cjs:2461
Contextual expected matches (22)
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
This is just styling code that changes the mouse cursor when a user interacts with a profile image picker. It has no ability to modify startup behavior or persist anything.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The flagged line is a CSS rule for a profile image crop UI element styling the active cursor state. This is a declarative stylesheet declaration with no executable code, no data flow, no persistence mechanism, and no startup modification behavior. The scanner rule produced a false positive on CSS content.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15866
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
The scanner flagged a styling rule in a CSS file, but CSS files only control how things look on screen and cannot modify system startup or persistence. This is a false positive.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The matched line is a CSS rule for a profile-pick dialog stage class. The source context shows purely declarative CSS styling properties. A CSS file cannot perform startup persistence modification or execute code. The scanner rule matched on keyword patterns in CSS property values or selectors that are unrelated to runtime persistence behavior. No executable behavior, data flow, or persistence mechanism is present.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15816
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
The scanner flagged a CSS heading style, but stylesheets cannot change system startup behavior. This is a false positive.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The matched line is a CSS rule for a profile-pick header heading element. The surrounding context is declarative CSS with color and font-size properties only. No executable or persistence behavior exists in a stylesheet.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15805
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
This is layout styling for an image picker dialog. It cannot modify startup behavior or persist anything.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The flagged line is a CSS class definition for a profile-pick image frame container. It is purely presentational styling with no executable logic, no persistence, and no startup modification capability.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15827
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
This is visual styling for a resize handle on a profile image cropping tool. It has no startup or persistence capabilities.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The flagged line is a CSS class definition for a profile-pick crop resize handle. It only sets visual properties like position, dimensions, border, and cursor. No executable code or persistence mechanism is present.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15878
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The scanner flagged a standard streaming-data prefix used by chat APIs. This is normal parser code for reading model responses and does not contact any external service.
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 is inside an SSE line parser that checks whether a normalized line starts with 'data:' to collect streaming payload fragments. The 'shady-link' signal is triggered by the SSE protocol prefix string, not by any URL, external destination, or network call. The module constructs request bodies for LM Studio and parses streaming responses; it contains no outbound network destinations, no credential handling, and no obfuscation.
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
- electron/lmStudioChat.cjs:150
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
The scanner flagged a CSS margin rule, but stylesheets cannot modify system startup. This is a false positive.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The matched line is a CSS selector grouping for profile-pick header heading and paragraph elements with a margin reset. This is declarative styling only and cannot perform persistence or startup modification.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15800
JavaScript analysis reported javascript.xray.data-exfiltration
Expected behavior · high confidence
Detailed wording was omitted by the public report safety filter.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.data-exfiltration. The match applies to this repository.
Contextual assessment: Detailed technical wording was omitted by the public report safety filter.
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.data-exfiltration
- File role
- production
- Source
- electron/main.cjs:8
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The scanner found multiple web addresses in the code. Looking at the actual code, these are all local addresses for connecting to AI tools that run on your own computer, such as LM Studio, Ollama, and ComfyUI. This matches exactly what the project says it does. There is no sign of data being sent to any suspicious or hidden location.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link. The match applies to this repository.
Contextual assessment: The scanner flagged 11 occurrences of a shady-link signal. The supplied source context shows these URLs are loopback and local-network endpoints for AI model providers: localhost 5173 for the Vite dev server, localhost 1234 for LM Studio, localhost 11434 for Ollama, localhost 8080 for llama.cpp, and 127.0.0.1 8188 for ComfyUI. The project README explicitly states it connects to these local backends. Additional references to Gemini and OpenRouter endpoints match the stated cloud provider support. URL construction functions validate protocols and normalize paths. No evidence shows data being sent to unexpected, concealed, or suspicious external destinations. These are legitimate service endpoints consistent with the project 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
- production
- Source
- electron/main.cjs:49
JavaScript analysis reported javascript.xray.unsafe-command
Expected behavior · high confidence
This is a small developer-only setup script that configures local git hooks when someone installs the project. It only runs two fixed git commands with no outside input, so there is no path for an attacker to misuse it.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-command. The match applies to this repository.
Contextual assessment: The script runs two fixed-string git commands via execSync: one to detect a git work tree and one to set core.hooksPath to a tracked directory. Both command strings are literals with no interpolation, no external or user-controlled input, and no network or credential access. It is invoked only by the prepare npm script during npm install, and fails silently outside a git work tree. This is a standard, low-risk development tooling pattern for installing local git hooks.
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-command
- File role
- tooling
- Source
- scripts/setup-git-hooks.mjs:8-10
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
This is styling for a visual guide inside a profile image cropper. It cannot affect startup or persistence.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The flagged line is a CSS class definition for a profile-pick crop handle with dashed border styling. It is declarative presentation only, with no data flow, persistence, or startup behavior.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15870
JavaScript analysis reported javascript.xray.serialize-environment
Expected behavior · high confidence
The scanner flagged copying the environment when starting the app. This is normal behavior for a launcher script and the environment is only passed to the local app process, not sent anywhere external.
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 line spreads process.env into a local variable, deletes the ELECTRON_RUN_AS_NODE entry to prevent Electron from running as plain Node, and passes the resulting object to a locally spawned Electron child process. The environment is not serialized to disk, sent over a network, or written to logs. This is a standard launcher script pattern for desktop apps spawned from Electron-based terminals.
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
- tooling
- Source
- scripts/run-electron.mjs:7
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
The scanner flagged a CSS selector, but stylesheets cannot change system startup behavior. This is a false positive.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The matched line is part of a CSS selector grouping for profile-pick header elements. The context is purely declarative CSS styling with no executable behavior or persistence mechanism.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15801
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
The scanner flagged a CSS layout rule, but stylesheets cannot modify system startup. This is a false positive.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The matched line is a CSS rule for a profile-pick header class with flexbox and border styling. This is declarative CSS only and cannot perform any persistence or startup modification behavior.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15791
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
The scanner flagged a CSS dialog styling rule, but stylesheets cannot change system startup behavior. This is a false positive.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The matched line is a CSS rule for a profile-pick dialog class with width, height, flexbox, padding, border, and background properties. This is purely declarative styling with no executable or persistence behavior.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15778
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
The scanner flagged a fake image data string inside a unit test. This is test data only and does not affect the running application.
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 is a test fixture containing a data URL ('data:image/png;base64,AAAA') used to verify image-attachment request construction. The 'shady-link' signal is triggered by this inline test data URL. This is a test file that exercises the LM Studio adapter functions; it contains no production runtime behavior, no network calls, and no credential access.
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
- electron/lmStudioChat.test.ts:69
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
This is layout styling for action buttons in a profile picker dialog. It has no startup or persistence capabilities.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The flagged line is a CSS class definition for profile-pick action buttons layout. It only sets flexbox display properties. No executable logic, persistence, or startup modification is present.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15892
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
This is styling for a dark overlay shown behind a crop selection in a profile image picker. It cannot modify startup or persist anything.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The flagged line is a CSS class definition for a profile-pick scrim overlay with absolute positioning and pointer-events disabled. It is purely visual overlay styling with no executable code or persistence behavior.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15843
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
This is styling for the circular crop selection tool in a profile image picker. It has no startup or persistence capabilities.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The flagged line is a CSS class definition for the profile-pick crop circle with absolute positioning, border, and box-shadow styling. No executable code, data flow, persistence, or startup modification is present.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15850
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
This is styling that controls how images display inside a profile image picker. It cannot affect startup or persistence.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The flagged line is a CSS selector for images inside the profile-pick image frame, setting display, max-width, max-height, and object-fit. It is declarative styling only, with no executable logic, persistence, or startup behavior.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15836
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
The scanner flagged a CSS overlay style, but stylesheets cannot modify system startup. This is a false positive.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The matched line is a CSS rule for a profile-pick backdrop class using position fixed and z-index for a modal overlay. This is declarative CSS styling only. No code execution, persistence, or startup modification is possible from a stylesheet.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15767
OpenGrep reported tavernkeeper.persistence.startup-modification
Expected behavior · high confidence
The scanner flagged a CSS paragraph style, but stylesheets cannot change system startup behavior. This is a false positive.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.persistence.startup-modification. The match applies to this repository.
Contextual assessment: The matched line is a CSS rule for a profile-pick header paragraph element with margin and font styling. This is declarative CSS only and cannot perform persistence or startup modification.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.persistence.startup-modification
- File role
- production
- Source
- src/styles.css:15810