What this review found
No material or immediate-danger item was identified.
Minor cautions
zizmor reported unpinned-uses
Minor caution · high confidence
The workflow uses a major-version tag for a standard GitHub action instead of locking it to a specific commit. If that tag were ever moved to a compromised version, the workflow could run untrusted code. This is a common practice and the actions are official GitHub-maintained ones, so the practical risk is low.
Technical evidence
Scanner reason: zizmor matched workflow-security rule unpinned-uses in this repository.
Contextual assessment: The workflow references actions/checkout@v4, pinned only to a major version tag rather than a cryptographic commit SHA. If the v4 tag were reassigned to a malicious commit, the workflow would execute untrusted code with access to the GITHUB_TOKEN. This is a standard first-party GitHub action, so tag compromise is unlikely, but SHA pinning is the recommended hardening practice.
Impact: low · Exploitability: unlikely
Developer action: Pin actions/checkout to a full commit SHA for reproducibility and supply-chain hardening, though this is a low-priority improvement for a lint-only workflow.
- Scanner
- zizmor 1.28.0
- Rule
- unpinned-uses
- File role
- tooling
- Source
- .github/workflows/lint.yml:13
zizmor reported unpinned-uses
Minor caution · high confidence
The workflow uses a major-version tag for a standard GitHub action instead of locking it to a specific commit. If that tag were ever moved to a compromised version, the workflow could run untrusted code. This is a common practice and the action is official GitHub-maintained, so the practical risk is low.
Technical evidence
Scanner reason: zizmor matched workflow-security rule unpinned-uses in this repository.
Contextual assessment: The workflow references actions/setup-node@v4, pinned only to a major version tag rather than a cryptographic commit SHA. The same tag-reassignment risk applies as with checkout. This is a widely used first-party action, making exploitation unlikely, but SHA pinning is recommended.
Impact: low · Exploitability: unlikely
Developer action: Pin actions/setup-node to a full commit SHA for reproducibility and supply-chain hardening, though this is a low-priority improvement for a lint-only workflow.
- Scanner
- zizmor 1.28.0
- Rule
- unpinned-uses
- File role
- tooling
- Source
- .github/workflows/lint.yml:15
Dependency advisory GHSA-4xrf-jv44-h6hh applies
Minor caution · high confidence
The flagged package is part of a development-only tool used by the author while writing code. It is not included in the extension that users install and has no way to affect anyone using the extension.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-4xrf-jv44-h6hh to a dependency declared by this repository.
Contextual assessment: This advisory targets a transitive dependency reachable only through devDependencies declared in the lockfile. The root project has zero production runtime dependencies; all declared dependencies are development tooling (linters, test runners, formatters). The shipped extension is a browser-side SillyTavern extension with no build step, so this code never executes in end-user environments.
Impact: none · Exploitability: unlikely
Developer action: Update the affected devDependency at your next routine maintenance cycle; no urgency for end-user safety.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-4xrf-jv44-h6hh
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-8j4g-w8fx-2239 applies
Minor caution · high confidence
The flagged package is a development tool dependency. It never ships with the extension and cannot affect users.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-8j4g-w8fx-2239 to a dependency declared by this repository.
Contextual assessment: This advisory targets a transitive dependency of a dev-only tool. The root package declares no production dependencies, and the extension ships as raw browser-side code with no build step or server component. The vulnerable code has no runtime path to end users.
Impact: none · Exploitability: unlikely
Developer action: Update the affected devDependency during routine maintenance; no end-user risk.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-8j4g-w8fx-2239
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-v2hh-gcrm-f6hx applies
Minor caution · high confidence
Although the scanner rates this as high severity, the vulnerable package is only used during development and is not included in what users install.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-v2hh-gcrm-f6hx to a dependency declared by this repository.
Contextual assessment: This high-severity advisory applies to a transitive dependency reachable only through development tooling. The root project has no production dependencies and ships as a no-build browser extension. The advisory severity does not translate to end-user risk because the vulnerable code is absent from the runtime artifact.
Impact: none · Exploitability: unlikely
Developer action: Update the affected devDependency at your next routine maintenance cycle.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-v2hh-gcrm-f6hx
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-mwp4-54f8-5fhr applies
Minor caution · high confidence
The flagged package is part of a development tool chain and never reaches users of the extension.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-mwp4-54f8-5fhr to a dependency declared by this repository.
Contextual assessment: This advisory affects a transitive dependency of a development-only package. The root package has no production dependencies, and the extension is a client-side browser extension with no build step. There is no runtime reachability for end users.
Impact: none · Exploitability: unlikely
Developer action: Update the affected devDependency during routine maintenance.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-mwp4-54f8-5fhr
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-3jxr-9vmj-r5cp applies
Minor caution · high confidence
This is a development-only dependency that does not ship with the extension and poses no risk to users.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-3jxr-9vmj-r5cp to a dependency declared by this repository.
Contextual assessment: This advisory targets a transitive dependency under a dev-only package. The project declares no production dependencies and ships as a raw browser extension. The vulnerable code path is not present at runtime for users.
Impact: none · Exploitability: unlikely
Developer action: Update the affected devDependency during routine maintenance.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-3jxr-9vmj-r5cp
- File role
- production
- Source
- package-lock.json
zizmor reported excessive-permissions
Minor caution · medium confidence
The workflow does not explicitly declare what permissions its built-in token needs. It only runs lint and format checks, so it should only need read access. Without an explicit permission declaration, the token may have broader permissions than necessary.
Technical evidence
Scanner reason: zizmor matched workflow-security rule excessive-permissions in this repository.
Contextual assessment: The workflow lacks an explicit permissions block, so the GITHUB_TOKEN receives default permissions determined by repository settings, which may be broader than needed. The workflow only runs npm ci, lint, and format checks with no artifact uploads, deployments, or write operations, so only read access is required. Adding an explicit permissions: contents: read block would enforce least privilege.
Impact: low · Exploitability: unlikely
Developer action: Add an explicit permissions block with contents: read to follow least-privilege principles.
- Scanner
- zizmor 1.28.0
- Rule
- excessive-permissions
- File role
- tooling
- Source
- .github/workflows/lint.yml:10-23
Dependency advisory GHSA-7p8r-x3mc-p8w7 applies
Minor caution · high confidence
The flagged package is a development tool dependency that never ships to users.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-7p8r-x3mc-p8w7 to a dependency declared by this repository.
Contextual assessment: This advisory affects a transitive dependency reachable only from development tooling. The root package has no production dependencies, and the extension is a no-build browser extension. No attacker-controlled input can reach this code in a deployed context.
Impact: none · Exploitability: unlikely
Developer action: Update the affected devDependency during routine maintenance.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-7p8r-x3mc-p8w7
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-r28c-9q8g-f849 applies
Minor caution · high confidence
The flagged package is development-only and does not reach end users of the extension.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-r28c-9q8g-f849 to a dependency declared by this repository.
Contextual assessment: This advisory applies to a transitive dependency of a dev-only package. The root project has no production dependencies and ships as a client-side extension with no build step. The vulnerable code is not present in the runtime artifact.
Impact: none · Exploitability: unlikely
Developer action: Update the affected devDependency during routine maintenance.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-r28c-9q8g-f849
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-22jq-vg5j-6vgg applies
Minor caution · high confidence
The flagged package is part of the development toolchain and never ships with the extension.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-22jq-vg5j-6vgg to a dependency declared by this repository.
Contextual assessment: This advisory targets a transitive dependency of a development-only tool. The root package declares no production dependencies, and the extension is a no-build browser extension. There is no runtime reachability for end users.
Impact: none · Exploitability: unlikely
Developer action: Update the affected devDependency during routine maintenance.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-22jq-vg5j-6vgg
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-r292-9mhp-454m applies
Minor caution · medium confidence
A development tool used while building or testing this extension has a known security issue. Because these tools are not included in the extension that users actually run, the issue does not affect people who install and use Summaryception.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-r292-9mhp-454m to a dependency declared by this repository.
Contextual assessment: The root package.json (lines 7-29) declares only devDependencies with no production dependencies. The extension is described as having no build step and running as a plain browser extension. All packages visible in the supplied lockfile context carry dev:true. The flagged advisory targets a development-only dependency that is not shipped to end users, so the vulnerable code has no runtime reachability in the deployed extension. Concrete user harm is absent because the vulnerable code never executes in the browser context.
Impact: low · Exploitability: unlikely
Developer action: Update the affected dev dependency to a patched version during your next routine tooling upgrade. No urgent action is required for extension users.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-r292-9mhp-454m
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-fxqj-rqcc-2cmp applies
Minor caution · medium confidence
A development tool used while building or testing this extension has a known security issue. Because these tools are not included in the extension that users actually run, the issue does not affect people who install and use Summaryception.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-fxqj-rqcc-2cmp to a dependency declared by this repository.
Contextual assessment: The root package.json (lines 7-29) declares only devDependencies with no production dependencies. The extension ships as browser code with no bundled npm packages. The flagged advisory targets a development-only dependency with no runtime reachability in the deployed extension. Attacker control would need to reach the developer's local tooling environment, and no concrete harm to extension users results.
Impact: low · Exploitability: unlikely
Developer action: Update the affected dev dependency to a patched version during your next routine tooling upgrade. No urgent action is required for extension users.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-fxqj-rqcc-2cmp
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-mh99-v99m-4gvg applies
Minor caution · medium confidence
A development tool used while building or testing this extension has a known security issue rated high severity. Despite the high rating, these tools are not included in the extension that users actually run, so the issue does not affect people who install and use Summaryception.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-mh99-v99m-4gvg to a dependency declared by this repository.
Contextual assessment: Although the scanner rates this advisory as high severity, the root package.json (lines 7-29) declares only devDependencies. The extension runs as a plain browser extension with no build step and no production npm dependencies. The high-severity advisory targets a development-only tool that never executes in the browser context where the extension operates. Runtime reachability for end users is absent, and attacker control would need to target the developer's local environment rather than extension users.
Impact: low · Exploitability: unlikely
Developer action: Update the affected dev dependency to a patched version during your next routine tooling upgrade. No urgent action is required for extension users.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-mh99-v99m-4gvg
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-frvp-7c67-39w9 applies
Minor caution · medium confidence
A development tool used while building or testing this extension has a known security issue. Because these tools are not included in the extension that users actually run, the issue does not affect people who install and use Summaryception.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-frvp-7c67-39w9 to a dependency declared by this repository.
Contextual assessment: The root package.json (lines 7-29) declares only devDependencies with no production dependencies. The extension is a browser extension with no build step, so npm packages are not bundled into the shipped code. The flagged advisory targets a development-only dependency with no runtime reachability in the deployed extension. No concrete user harm results because the vulnerable code does not execute in the end-user browser context.
Impact: low · Exploitability: unlikely
Developer action: Update the affected dev dependency to a patched version during your next routine tooling upgrade. No urgent action is required for extension users.
- Scanner
- osv-scanner 2.4.0
- Rule
- GHSA-frvp-7c67-39w9
- File role
- production
- Source
- package-lock.json
Dependency advisory GHSA-rgw5-rvv9-x895 applies
Minor caution · medium confidence
A development tool used while building or testing this extension has a known security issue rated high severity. Despite the high rating, these tools are not included in the extension that users actually run, so the issue does not affect people who install and use Summaryception.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-rgw5-rvv9-x895 to a dependency declared by this repository.
Contextual assessment: Although the scanner rates this advisory as high severity, the root package.json (lines 7-29) declares only devDependencies. The extension runs as a plain browser extension with no build step and no production npm dependencies. The high-severity advisory targets a development-only tool that never executes in the browser context where the extension operates. Runtime reachability for end users is absent, and attacker control would need to target the developer's local environment rather than extension users.
Impact: low · Exploitability: unlikely
Developer action: Update the affected dev dependency to a patched version during your next routine tooling upgrade. 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
Expected scanner matches (3)
OpenGrep reported tavernkeeper.download-and-execute.shell-pipeline
Expected behavior · high confidence
This is just a help document that tells people how to install a separate issue-tracking tool. The command shown only runs if someone manually copies it into their terminal. The SillyTavern extension itself does not download or run anything from this instruction.
Technical evidence
Scanner reason: OpenGrep matched static-analysis rule tavernkeeper.download-and-execute.shell-pipeline in this repository.
Contextual assessment: The matched pattern is a curl-pipe-to-bash install instruction inside a Markdown documentation file located in the .beads directory. This file documents the Beads issue-tracking tool, a separate project unrelated to the Summaryception extension's runtime. The line is static prose in a README code block, not executable code that runs as part of the SillyTavern extension. No script is fetched or executed by the extension itself; the instruction is only acted upon if a user manually copies and runs it in a terminal to install the third-party Beads CLI.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- opengrep 1.26.0
- Rule
- tavernkeeper.download-and-execute.shell-pipeline
- File role
- documentation
- Source
- .beads/README.md:64-65
zizmor reported artipacked
Expected behavior · low confidence
The scanner flagged a risk that build credentials could leak through uploaded artifacts. This workflow does not upload any artifacts, so there is no path for credentials to be exposed. The finding appears to be a false positive for this specific workflow.
Technical evidence
Scanner reason: zizmor matched workflow-security rule artipacked in this repository.
Contextual assessment: The artipacked rule fires because actions/checkout persists the GITHUB_TOKEN in .git/config by default. However, this workflow contains no upload-artifact steps or any step that would exfiltrate the .git directory. The token remains local to the runner for the duration of the job and is not exposed in artifacts or logs. There is no concrete data flow to an attacker-controlled destination.
Impact: none · Exploitability: unlikely
Developer action: Optionally set persist-credentials: false on the checkout step to avoid leaving the GITHUB_TOKEN in the local git config, though no artifact upload step exists to expose it.
- Scanner
- zizmor 1.28.0
- Rule
- artipacked
- File role
- tooling
- Source
- .github/workflows/lint.yml:13
Gitleaks reported vault-service-token
Expected behavior · high confidence
The scanner thought it found a secret password or token, but the line is just resetting a number that controls how big a memory summary should be. There is no secret here.
Technical evidence
Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.
Contextual assessment: The flagged line is a settings reset operation inside onResetDefaults. It assigns a default numeric token-budget value to a settings field. There is no credential, token, or secret present. The gitleaks vault-service-token rule produced a false positive, likely matching on a substring of the property name or a numeric literal. No sensitive data is exposed, transmitted, or persisted.
Impact: none · Exploitability: unlikely
Developer action: none
- Scanner
- gitleaks 8.30.1
- Rule
- vault-service-token
- File role
- production
- Source
- src/entry/ui-events.js:735