TavernKeeper Scan Report

EvaL3n4/SillyTavern-STARmem

Commit 801909b 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 12 low

What this review found

No material or immediate-danger item was identified.

Expected scanner matches (12)

Dependency advisory GHSA-4x5r-pxfx-6jf8 applies

Expected behavior · medium confidence

The flagged package is part of the developer's own testing and linting tools, not the extension that users actually run. It does not affect people who install STARmem.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-4x5r-pxfx-6jf8 to a dependency declared by this repository.

Contextual assessment: This advisory targets a transitive dependency reachable only through the project's devDependencies (eslint, jest, playwright, typescript, or weave). The package.json declares no runtime dependencies; the shipped SillyTavern extension loads only index.js and style.css. End users installing the extension do not install or execute these dev-tool packages, so the vulnerable code has no runtime reachability in the deployed extension.

Impact: none · Exploitability: unlikely

Developer action: Update the affected dev dependency when convenient for cleaner local tooling, but no user-facing fix is required.

Scanner
osv-scanner 2.4.0
Rule
GHSA-4x5r-pxfx-6jf8
File role
production
Source
package-lock.json

Dependency advisory GHSA-h67p-54hq-rp68 applies

Expected behavior · medium confidence

The flagged package belongs to development tooling and is not included when users install the extension, so it cannot harm them.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-h67p-54hq-rp68 to a dependency declared by this repository.

Contextual assessment: This advisory affects a package in the devDependency tree only. The extension has no runtime npm dependencies; the vulnerable code is not present in the shipped artifact loaded by SillyTavern. Runtime reachability for end users is absent.

Impact: none · Exploitability: unlikely

Developer action: Update the dev dependency as routine hygiene; no user-facing action needed.

Scanner
osv-scanner 2.4.0
Rule
GHSA-h67p-54hq-rp68
File role
production
Source
package-lock.json

Dependency advisory GHSA-hmw2-7cc7-3qxx applies

Expected behavior · medium confidence

This is a developer-tool dependency, not something shipped to users, so the vulnerability does not reach end users.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-hmw2-7cc7-3qxx to a dependency declared by this repository.

Contextual assessment: The advisory is for a transitive dependency of a dev tool. The production extension ships no npm dependencies and loads only static JS and CSS into SillyTavern. The vulnerable code path is not reachable in the deployed extension.

Impact: none · Exploitability: unlikely

Developer action: Bump the dev dependency for hygiene; no user-facing remediation required.

Scanner
osv-scanner 2.4.0
Rule
GHSA-hmw2-7cc7-3qxx
File role
production
Source
package-lock.json

Dependency advisory GHSA-3jxr-9vmj-r5cp applies

Expected behavior · medium confidence

Although the scanner rates this as high severity, the affected package is only used during development and testing, not in the extension users install.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-3jxr-9vmj-r5cp to a dependency declared by this repository.

Contextual assessment: This high-severity advisory concerns a package pulled in by devDependencies. Since the extension declares no runtime dependencies and SillyTavern loads only the bundled index.js and style.css, the vulnerable code is not executed in the user-facing extension.

Impact: none · Exploitability: unlikely

Developer action: Update the dev dependency to clear the advisory in local environments; no shipped-code fix is needed.

Scanner
osv-scanner 2.4.0
Rule
GHSA-3jxr-9vmj-r5cp
File role
production
Source
package-lock.json

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

Expected behavior · high confidence

This is a planning note explaining how to set up Node.js in a cloud benchmark container. The command shown is the normal, official way to install Node.js from NodeSource. It is documentation text, not code that runs when the extension is installed or used.

Technical evidence

Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.download-and-execute.shell-pipeline in this repository.

Contextual assessment: The flagged text is inside a markdown planning document (file_role: documentation) describing how to install Node.js 20.x inside a Modal container image build. The piped-shell pattern is the standard, vendor-documented NodeSource PPA setup procedure. This is descriptive prose in a plan file, not executable code that runs on end-user machines. The SillyTavern extension itself does not execute this command; it describes an optional benchmark infrastructure step for the developer's own Modal environment.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
opengrep 1.26.0
Rule
tavernkeeper.download-and-execute.shell-pipeline
File role
documentation
Source
docs/plans/phase-9-4-8-modal-bench-substrate.md:13

Dependency advisory GHSA-52cp-r559-cp3m applies

Expected behavior · medium confidence

The flagged package is part of developer tooling and is not shipped to users, so it poses no risk to the installed extension.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-52cp-r559-cp3m to a dependency declared by this repository.

Contextual assessment: The advisory maps to a dependency in the dev tooling tree. The shipped extension has no runtime dependencies, so the vulnerable code is not present or reachable for end users installing STARmem via SillyTavern.

Impact: none · Exploitability: unlikely

Developer action: Refresh the dev dependency as routine maintenance; no user-facing action required.

Scanner
osv-scanner 2.4.0
Rule
GHSA-52cp-r559-cp3m
File role
production
Source
package-lock.json

Dependency advisory GHSA-96hv-2xvq-fx4p applies

Expected behavior · medium confidence

The affected package is only used for development and testing, not in the extension that users run, so it does not affect them.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-96hv-2xvq-fx4p to a dependency declared by this repository.

Contextual assessment: This advisory targets a transitive dependency of a dev tool such as jest, playwright, or eslint. The extension's package.json has no runtime dependencies, and the deployed artifact is static JS and CSS loaded by SillyTavern. The vulnerable code is not reachable in production.

Impact: none · Exploitability: unlikely

Developer action: Update the dev dependency for cleaner tooling; no shipped-code remediation needed.

Scanner
osv-scanner 2.4.0
Rule
GHSA-96hv-2xvq-fx4p
File role
production
Source
package-lock.json

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

Expected behavior · high confidence

This is a planning document showing how to set up a cloud-based benchmark container. The line in question installs Node.js inside that cloud container using the standard, official installation method from NodeSource. It does not run on the user's computer and does not touch any SillyTavern data or credentials.

Technical evidence

Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.download-and-execute.shell-pipeline in this repository.

Contextual assessment: The matched line is inside a documentation plan file, not shipped executable code. It appears within a Python code block describing a Modal container image build. The command pipes a NodeSource setup script into bash, which is the official NodeSource installation method for adding Node.js to a Debian-based container image. This runs during a Modal cloud image build inside an ephemeral container, not on the user's local SillyTavern host. The destination is the well-known NodeSource distribution endpoint, and the purpose (installing Node.js in a benchmark container) matches the stated project goal of building a benchmark substrate. No user credentials, SillyTavern state, or host filesystem are involved.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
opengrep 1.26.0
Rule
tavernkeeper.download-and-execute.shell-pipeline
File role
documentation
Source
docs/plans/phase-9-4-8-modal-bench-substrate.md:128

Dependency advisory GHSA-mh99-v99m-4gvg applies

Expected behavior · medium confidence

This flagged package is a developer-tool dependency and is not part of the extension users install, so it cannot harm them.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-mh99-v99m-4gvg to a dependency declared by this repository.

Contextual assessment: The advisory is for a package in the devDependency tree. The production extension ships no npm dependencies and loads only index.js and style.css into SillyTavern, so the vulnerable code has no runtime reachability for end users.

Impact: none · Exploitability: unlikely

Developer action: Bump the dev dependency as hygiene; no user-facing fix required.

Scanner
osv-scanner 2.4.0
Rule
GHSA-mh99-v99m-4gvg
File role
production
Source
package-lock.json

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

Expected behavior · high confidence

This is the normal, official way to install Node.js inside a container image for running benchmarks. The download-and-run pattern looks scary in isolation, but here it is a well-known installer script from the official Node.js package provider, run only when building the benchmark container.

Technical evidence

Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.download-and-execute.shell-pipeline in this repository.

Contextual assessment: The flagged line is a standard NodeSource installation command inside a Modal container image build definition. The pipe-to-bash pattern is the documented NodeSource setup method for installing Node.js in Debian-based containers. This executes at image-build time only, within an isolated container, and fetches from the well-known NodeSource distribution endpoint. It is not runtime execution of user-controlled or arbitrary content, and it serves the stated benchmarking purpose of the file.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
opengrep 1.26.0
Rule
tavernkeeper.download-and-execute.shell-pipeline
File role
production
Source
bench/modal/sweep_app.py:11

Dependency advisory GHSA-58qx-3vcg-4xpx applies

Expected behavior · medium confidence

The flagged package is part of the developer's testing or linting tools, not the extension users install, so it does not affect them.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-58qx-3vcg-4xpx to a dependency declared by this repository.

Contextual assessment: This advisory affects a transitive dependency reachable only through devDependencies. The extension declares no runtime dependencies; SillyTavern loads only the bundled static JS and CSS. The vulnerable code is not present in the shipped extension and has no runtime reachability for end users.

Impact: none · Exploitability: unlikely

Developer action: Update the dev dependency for routine hygiene; no user-facing remediation needed.

Scanner
osv-scanner 2.4.0
Rule
GHSA-58qx-3vcg-4xpx
File role
production
Source
package-lock.json

Dependency advisory GHSA-rgw5-rvv9-x895 applies

Expected behavior · medium confidence

The flagged package is a development tool used only by the project author for testing and linting. It is not included when users install the extension in SillyTavern, so the vulnerability cannot affect end users.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-rgw5-rvv9-x895 to a dependency declared by this repository.

Contextual assessment: The advisory targets a dependency declared in this project's lockfile. The root package.json declares only devDependencies (eslint, playwright, jest, typescript, weave) and no runtime dependencies. In npm lockfile v3, when the root has no production dependencies, all transitive packages inherit dev-only status, as confirmed by the dev:true markers visible in the lockfile excerpt. SillyTavern extensions are loaded by the host as static JS/CSS files per the manifest; there is no npm install or node_modules resolution at runtime for end users, and no build or bundling step exists in the project scripts. Therefore the vulnerable package is a development-only tool with no runtime reachability in the shipped extension and no path to attacker-controlled input in production.

Impact: none · Exploitability: unlikely

Developer action: Update the affected dev dependency to a patched version at your convenience to keep your local development environment current. No urgent action is required for extension users.

Scanner
osv-scanner 2.4.0
Rule
GHSA-rgw5-rvv9-x895
File role
production
Source
package-lock.json

Coverage and limitations

Tools

Limitations

Technical scan identity