No material or immediate-danger item was identified.
Expected scanner matches (40)
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a test that checks if the URL formatting code works correctly. The URL shown points to a local server (your own computer) and is never actually contacted.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Line 7 contains a static test assertion using a loopback URL (127.0.0.1:11434) as part of the URL normalization unit test. The URL is never used for actual network requests; it is only a literal string compared in an assert.equal call. The scanner flagged it as a 'shady-link' due to the presence of an HTTP URL in source code, but in this context it is a benign test fixture.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- selfcheck.mjs:7
JavaScript analysis reported javascript.xray.shady-link
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.shady-link in this repository.
Contextual assessment: The URL at this line is part of a hardcoded preset list of localhost endpoints for common AI servers. The extension provides these as convenient defaults for configuring direct API mode per its documented feature. No exfiltration or unexpected network destination is involved.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- extension.js:3380
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
The flagged code builds a test function from a piece of the extension's own code to check that it works correctly. It doesn't run any outside commands or user input, so it's safe.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: This candidate flags a dynamic execution (new Function) at line 904 in selfcheck.mjs. The context shows this is a test file that constructs functions from hardcoded slices of the shipped extension source to verify internal logic. No attacker-controlled input reaches the constructed function; all source slices are pre-extracted from the extension's own code. This is a standard testing pattern and does not introduce runtime risk.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:904
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
This is a test file that uses a technique called 'dynamic function creation' to check if a certain feature works correctly. It only runs during development and does not process any data from outside the project. There is no security risk.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The new Function call at line 447 is part of a self-check test harness that dynamically creates a function from source code extracted from file to test legacy namespace adoption logic. The code string is derived from the project's own source at build time, not from any external or attacker-controlled input. This is a standard testing pattern and does not introduce a runtime security risk in the shipped extension.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:447
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a default URL for the extension's extender feature, pointing to a local server.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The URL at this line is a placeholder in the extender server URL input field, defaulting to a local address. This is part of the extension's configuration UI for connecting to a local sidecar service. No threat evidence exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- extension.js:3460
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
This is another test that builds a function from the extension's own code to make sure it behaves properly. No harmful code is injected.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: Lines 1034-1037 contain a new Function call that constructs guardedPatch from a pre-extracted source slice _gpSrc. This is part of the self-check test suite, not production code. The source slice is derived from the shipped extension and no external data flows into the function construction.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:1034-1037
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is the extension's default setting to connect to a local helper program on your own computer, not to an external server. It's safe.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in 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
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- extension.js:1925
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a preset URL for connecting to a local LM Studio server.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in 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
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- extension.js:3378
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
This code runs tests by creating functions from strings, but only developers running the test suite see it. It doesn't affect users because it's not part of the extension they install.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The dynamic execution (new Function) at lines 1222–1226 is part of a self-check test harness that extracts shipped extension source from an embedded string and creates functions for assertion-driven testing. The arguments passed to new Function are developer-controlled strings from the test's own source, never user or external input. This pattern is standard for inline unit testing of private functions and does not execute untrusted code. No evidence indicates this test file is shipped or executed in production deployments.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:1222-1226
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
A test that builds undo/redo functions from the extension's code to verify they work. It doesn't let anyone inject commands.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: Lines 1055-1058 contain a new Function call building doUndo/doRedo logic from a pre-extracted source slice. The source is from the extension's own code and is used only in the self-check test. No attacker-controlled input influences the constructed function.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:1055-1058
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
Code that builds a function from text in a test file, used only by developers to check the extension's behavior. Not part of the user-facing extension.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The dynamic execution (new Function) at lines 1166–1167 is part of a self-check test harness that constructs a module from extracted source strings for unit testing review-then-patch logic. The source and callback arguments are test constants; no external or user-controlled data reaches the call. This is a development-only test pattern with no production execution risk.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:1166-1167
JavaScript analysis reported javascript.xray.obfuscated-code
Expected behavior · high confidence
The extension's code is written in plain, readable JavaScript. There is no hidden or scrambled code, so this alert is a false alarm.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.obfuscated-code in this repository.
Contextual assessment: The scanner flagged this file for obfuscation, but the supplied source is readable JavaScript with clear structure, comments, and standard patterns. No actual obfuscation, encoding, or concealed logic is present. The scanner signal is a false positive likely triggered by the file's minor compression or non-standard formatting. No malicious intent or hidden behavior is indicated.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.obfuscated-code
- File role
- production
- Source
- extension.js:1
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
This is part of a built-in test that checks the extension's own code for bugs. It runs functions the extension uses internally, but only during the test — never when you're using the rewrite feature.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The `new Function()` call on line 1442 is used within a self-test script to extract and execute internal functions (`windowText`, `assembleLedgerText`) from the extension's own source code for regression testing. The source string (`_ledgerSrc`) is derived via `_SRC.slice()` from the same extension file being tested — no external or untrusted data reaches this constructor. This is a standard test-harness pattern and is never invoked during normal extension usage.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:1442-1444
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
Detailed wording was omitted by the public report safety filter.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: Line 736 contains a new Function call that constructs a function escFence from a pre-extracted source slice _escFence. This is part of the self-check test suite. No user input or external data is passed into the construction; the slice is from the extension's own code.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:736
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a preset URL for connecting to a local Ollama server.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in 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
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- extension.js:3373
JavaScript analysis reported javascript.download-to-execution
Expected behavior · high confidence
The extension uses fetch to securely talk to the AI server's API, which is exactly what it's supposed to do. It does not download and run any external code, so this alert is a false alarm.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution in this repository.
Contextual assessment: The file contains a network retrieval primitive (fetch) and an API response handler, but there is no dynamic code execution sink (eval, Function, setTimeout with string) in the examined lines. The apiFetch function fetches from `/api` paths and returns JSON—a standard, necessary operation for an extension that communicates with the Marinara server and external AI APIs. The scanner correlation is a false positive because no executable code path downloads and then executes external content.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.download-to-execution
- File role
- production
- Source
- extension.js:2-47
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
Part of a test suite that runs the extension's internal functions in a sandbox. Only used during development, not by end users.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The dynamic execution (new Function) at lines 1295–1298 is part of a self-check test harness that extracts and tests the doCommit function using fixed test data. The new Function call is supplied with developer-controlled strings from the test's own source, and the resulting function is invoked with test-only arguments. No untrusted input flows into the dynamic execution.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:1295-1298
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a preset URL for connecting to a local vLLM server.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in 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
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- extension.js:3381
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a preset URL for connecting to a local llama.cpp server.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in 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
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- extension.js:3379
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is just a default setting pointing to a local helper program on your own computer. It is not suspicious.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The string at line 242 is a default configuration value for the extenderUrl key, set to a localhost address. The extension connects to a local sidecar service for memory and inference; this default is expected and disclosed in the project documentation. No evidence of exfiltration or concealed network 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
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- extension.js:242
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
Test code that dynamically creates functions to verify undo/redo behavior. Only developers run this; it does not affect user installations.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The dynamic execution (new Function) at lines 1120–1123 is part of a self-check test harness that builds undo/redo functions from extracted shipped source. The strings passed to new Function are literals from the test file, not from external sources. This is a standard unit-testing pattern with no production deployment risk.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:1120-1123
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
This is just an automated test that runs a small piece of the extension's own code to check for bugs. It doesn't introduce any security risk because the code being tested is part of the extension itself, not from an outside source.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The new Function on line 116 constructs a test helper that evaluates a substring of the extension's own shipped source code. This is used only within the selfcheck drift-guard assertions to verify that the file header logic (CSRF, content-type) behaves correctly. The source string is derived from the shipped artifact, not from any external or user-controlled input. This is a test-only utility and is not present in the runtime extension.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:116
zizmor reported unpinned-uses
Expected behavior · high confidence
The workflow uses a version tag like "v4" instead of a specific exact version number. This is common for simple CI checks and poses very low risk here.
Technical evidence
Scanner reason: zizmor matched workflow-security rule unpinned-uses in this repository.
Contextual assessment: actions/setup-node@v4 is pinned to a mutable major version tag rather than an immutable commit SHA. In this CI-only workflow with no sensitive data, deployment, or artifact handling, the supply chain risk of an unpinned action is minimal. The action is widely used and maintained by GitHub. No attacker-controlled inputs reach the action in a way that could trigger compromise.
Impact: low · Exploitability: unlikely
Developer action: none
- Scanner
- zizmor 1.28.0
- Rule
- unpinned-uses
- File role
- tooling
- Source
- .github/workflows/ci.yml:13
JavaScript analysis reported javascript.xray.serialize-environment
Expected behavior · high confidence
This line sets a temporary flag during the build process so the self-check knows not to complain. It is not reading, storing, or sending any private information like passwords or API keys.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.serialize-environment in this repository.
Contextual assessment: The code sets process.env.RWA_BUILDING = '1' solely as a build-time flag to signal to the selfcheck module that the build is in progress, allowing it to skip a bundle-is-in-sync assertion. This is a temporary environment variable set during the build script execution (node file) and is not used to read, store, or exfiltrate any credential or sensitive environment variable. The scanner pattern 'serialize-environment' is triggered by any assignment to process.env, but in this context the assignment is to a hardcoded constant unrelated to secrets and serves a benign coordination 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
- Rule
- javascript.xray.serialize-environment
- File role
- production
- Source
- build.mjs:18
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
Another test that builds functions from the extension's code to verify merge logic. No outside commands are run.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: Lines 835-838 contain a new Function call constructing applyMerged/mergeChainSummary from a pre-extracted source slice. This is part of the self-check test suite. No external data flows into the function construction; only hardcoded source slices.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:835-838
JavaScript analysis reported javascript.download-to-execution
Expected behavior · high confidence
This file is a safety check that tests the extension's own code, not a part of the extension that runs in your browser. The flagged lines are just checking that certain code patterns exist, not actually doing anything dangerous.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.download-to-execution in this repository.
Contextual assessment: The scanner flagged a correlation between a network retrieval substring and a code execution sink, but the file is a test-only selfcheck script. The fetch string is merely a text-match assertion to verify the shipped source contains a specific call, and the new Function is used on a known substring of the extension source to test header logic. No actual network retrieval occurs in this file, and no untrusted input reaches the dynamic function. This is a false positive from static analysis.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.download-to-execution
- File role
- production
- Source
- selfcheck.mjs:104-116
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
A test that builds a guarding function from the extension's code to check that it prevents overwrites correctly. It's safe.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: Lines 949-952 contain a new Function call constructing guardedPatch from a pre-extracted source slice _gpSrc. This is part of the self-check test suite evaluating the guard behavior. No attacker-controlled input reaches the constructed function.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:949-952
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
Detailed wording was omitted by the public report safety filter.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: Lines 771-774 contain a new Function call constructing escFence from a pre-extracted source slice. This is part of the self-check test suite verifying fence escaping. No external data is injected; the source is from the extension's own code.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:771-774
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
This is another automated test that runs parts of the extension's own code to make sure they still work after changes. It's like a sanity check for developers and doesn't expose users to any risk.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The new Function on lines 174-178 extracts alignment functions (spanIsBalanced, alignExact, windowMap, etc.) from the shipped file source and constructs them at runtime for drift-guard assertions. The extracted code is entirely from the project's own artifact, not from any untrusted input. This pattern exists solely to verify that the shipped functions behave correctly and that no regressions have occurred during development. No user data or attacker-controlled strings are involved.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:174-178
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a default address for a local AI service running on your own computer. It is normal and expected.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The string at line 237 is a default configuration value for the apiUrl key, set to a localhost endpoint for Ollama or similar local AI server. The extension allows direct connection to local OpenAI-compatible APIs, and this default is a common local address. No evidence of malicious network 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
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- extension.js:237
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
This part of the test file builds a small test from the extension's own code to check whether importing profiles with duplicate IDs works correctly. It only uses test data from inside the test file, so there is no risk.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The `new Function` call at lines 632-640 is in a self-check test file. It constructs a function from a controlled slice of the extension's own source code (`_SRC.slice(...)`) to test duplicate profile-id handling. The input to the constructed function is a fixed test array defined earlier in the same test block. No user or external input reaches the dynamic function constructor. This is a standard test isolation pattern with no security exposure.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:632-640
zizmor reported unpinned-uses
Expected behavior · high confidence
The workflow uses a version tag like "v4" instead of a specific exact version number. This is common for simple CI checks and poses very low risk here.
Technical evidence
Scanner reason: zizmor matched workflow-security rule unpinned-uses in this repository.
Contextual assessment: actions/checkout@v4 is pinned to a mutable major version tag rather than an immutable commit SHA. In this CI-only workflow with no sensitive data, deployment, or artifact handling, the supply chain risk is minimal. The action is widely used and maintained by GitHub. No attacker-controlled inputs reach the action in a way that could trigger compromise.
Impact: low · Exploitability: unlikely
Developer action: none
- Scanner
- zizmor 1.28.0
- Rule
- unpinned-uses
- File role
- tooling
- Source
- .github/workflows/ci.yml:12
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is another test that checks how the extension handles URLs that end with a slash. It uses a local address and is never actually contacted.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Line 8 contains a static test assertion using a loopback URL with a trailing slash as part of the URL normalization unit test. The URL is never used for actual network requests; it is only a literal string compared in an assert.equal call. The scanner flagged it as 'shady-link' due to the HTTP URL literal, but this is a standard test fixture with no network activity.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- selfcheck.mjs:8
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This is a test file that checks the extension's security features. The flagged line contains a harmless local address used for testing. It poses no risk.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: The flagged line is a test-only default configuration containing a localhost Ollama API URL. This file is a self-check module that verifies connection settings are never exported or imported, consistent with the extension's stated security design. The URL is hardcoded and used only in assertions; no runtime attacker-controlled data flow or exfiltration path exists.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- selfcheck.mjs:677
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
This test makes a tiny function from the extension's code to see whether old broken profile data causes errors. It only uses test data written inside the test file, so it is safe.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The `new Function` call at lines 603-608 is in a self-check test file. It constructs a function from a controlled substring of the extension's own source to test malformed legacy profile handling. The argument `raw` is a fixed string literal defined in the same test block. No untrusted or external data influences the constructed function's source or its input. This is a legitimate test harness pattern without security implications.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:603-608
zizmor reported artipacked
Expected behavior · medium confidence
A security scanner mistakenly thought this workflow might store credentials in build artifacts, but the workflow doesn't create any artifacts at all. There's no actual risk.
Technical evidence
Scanner reason: zizmor matched workflow-security rule artipacked in this repository.
Contextual assessment: The scanner flagged potential credential persistence through GitHub Actions artifacts, but this workflow does not use any artifact upload or download actions. No artifacts are created or consumed. The scanner's confidence is low, and manual review confirms no artifact exposure exists. This is a false positive.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- zizmor 1.28.0
- Rule
- artipacked
- File role
- tooling
- Source
- .github/workflows/ci.yml:12
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
A test that builds a function from the extension's code to check read-before-write behavior. It doesn't execute any outside commands.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: Lines 1012-1015 contain a new Function call constructing guardedPatch from a pre-extracted source slice. This is part of the self-check test suite. The constructed function is not influenced by user input; it uses only hardcoded source from the extension.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:1012-1015
JavaScript analysis reported javascript.xray.shady-link
Expected behavior · high confidence
This test checks that the URL formatting code doesn't accidentally add '/chat/completions' twice. The URL shown is only used for testing and is never accessed over the network.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.shady-link in this repository.
Contextual assessment: Line 9 contains a static test assertion using a fully qualified URL (with /chat/completions path) as part of the URL normalization unit test. This verifies that the normalizer does not double the path. The URL is never used for actual network requests; it is only a literal string compared in an assert.equal call. The scanner flagged it as 'shady-link' due to the HTTP URL literal, but this is a standard test fixture with no network activity.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.shady-link
- File role
- production
- Source
- selfcheck.mjs:9
OpenGrep reported tavernkeeper.dynamic-execution.javascript-eval
Expected behavior · high confidence
This is part of a built-in test that checks how the extension handles settings migration. It runs a tiny piece of the extension's own code, but only in the test environment, not when you're using the rewrite tool.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.dynamic-execution.javascript-eval in this repository.
Contextual assessment: The `new Function()` call on line 1392 is used within a self-test script to execute the extension's configuration loader IIFE (extracted via `_SRC.slice()`) and verify its `connMode` migration logic. The source string (`_CFG_SRC`) is taken from the same extension file's source — no attacker-controlled or external input is involved. This is a test-only construct and is never present during production use of the extension.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.dynamic-execution.javascript-eval
- File role
- production
- Source
- selfcheck.mjs:1392
JavaScript analysis reported javascript.xray.serialize-environment
Expected behavior · high confidence
This line simply checks if the project is being built, to avoid a confusing error. It is a normal part of the build process and does not touch any secrets or sensitive data.
Technical evidence
Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.serialize-environment in this repository.
Contextual assessment: The scanner signal for serialize-environment flagged a process.env access at line 156. This is a Node.js environment variable check used by the build system to skip bundle comparison during a rebuild, preventing a deadlock. No serialization, credential access, or exfiltration occurs. The signal is a known false positive for benign environment variable reads in Node.js scripts.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- javascript-analysis webcrack-2.16.0_js-x-ray-16.0.0_signatures-1_literals-1
- Rule
- javascript.xray.serialize-environment
- File role
- production
- Source
- selfcheck.mjs:156