No material or immediate-danger concern was identified in this review.
This advisory report describes what the named tools and contextual reviewer found at one exact commit. Unknown or unobserved behavior may still exist.
0 immediate danger0 material6 low
What this review found
No material or immediate-danger item was identified.
Minor cautions
zizmor reported artipacked
Minor caution · high confidence
The test workflow checks out code using a default setting that temporarily stores a GitHub access token on the test machine. Since the machine is disposable and nothing is saved or sent anywhere, there is no real risk, but turning off that default is good hygiene.
Technical evidence
Scanner reason: zizmor matched workflow-security rule artipacked in this repository.
Contextual assessment: The checkout action persists a short-lived GITHUB_TOKEN into the runner's local git config by default. This workflow runs only npm ci and npm test on an ephemeral runner with no artifact upload or external transmission, so the persisted credential is destroyed with the runner and has no path to exposure.
Impact: low · Exploitability: unlikely
Developer action: Set persist-credentials: false on the checkout step if no subsequent git push operations are needed.
The workflow uses a version label for a standard GitHub action instead of locking it to an exact version. This is common practice but could theoretically be abused if the action's label were reassigned. Pinning to an exact version is safer.
Technical evidence
Scanner reason: zizmor matched workflow-security rule unpinned-uses in this repository.
Contextual assessment: The checkout action is referenced by major-version tag rather than a full commit SHA. A tag can be moved by the action maintainer, which in theory could introduce unexpected behavior. This is a widely accepted convention and the workflow only runs tests, limiting any impact to CI integrity.
Impact: low · Exploitability: unlikely
Developer action: Pin actions to a full commit SHA for reproducibility and supply-chain hardening.
The test workflow does not limit what its temporary GitHub token is allowed to do. It only needs to read code and run tests, so it should explicitly request only read access. This reduces potential damage if something goes wrong.
Technical evidence
Scanner reason: zizmor matched workflow-security rule excessive-permissions in this repository.
Contextual assessment: The workflow declares no explicit permissions block, so the auto-generated GITHUB_TOKEN receives the repository's default permission set, which may include write scopes. The job only needs to read source code and run tests, so broad permissions are unnecessary. For pull_request events from forks GitHub applies read-only defaults, but for push events the broader defaults apply.
Impact: low · Exploitability: plausible
Developer action: Add an explicit permissions block with contents: read to restrict the GITHUB_TOKEN to the minimum needed scope.
The workflow uses a version label for the Node.js setup action instead of locking it to an exact version. This is common but pinning to an exact version is the safer practice.
Technical evidence
Scanner reason: zizmor matched workflow-security rule unpinned-uses in this repository.
Contextual assessment: The setup-node action is referenced by major-version tag rather than a full commit SHA. Same supply-chain consideration as the checkout reference. The action only configures Node.js and npm cache for a test job, limiting any potential impact to CI environment setup.
Impact: low · Exploitability: unlikely
Developer action: Pin actions to a full commit SHA for reproducibility and supply-chain hardening.
The flagged library is part of the developer's testing setup, not something the extension uses when running. Because it is not active for end users, the warning does not create a real risk for people installing this extension.
Technical evidence
Scanner reason: OSV-Scanner matched advisory GHSA-fxqj-rqcc-2cmp to a dependency declared by this repository.
Contextual assessment: The lockfile root declares only a devDependency on vitest, and the visible transitive packages are marked dev and optional build/test tooling. The supplied advisory is for a transitive dependency reachable only through that development toolchain, not through the shipped extension runtime. There is no evidence that the vulnerable code path is loaded, imported, or executed by the extension when installed in SillyTavern, so there is no runtime reachability and no concrete user harm.
Impact: none · Exploitability: unlikely
Developer action: Update the affected development dependency when convenient, but no urgent change is warranted.
The only packages listed are for development and testing, which is why the flagged issue does not affect normal use of the extension.
Technical assessment
The root package declares only devDependencies, and the resolved toolchain packages are flagged dev and optional. This supports the conclusion that the advisory affects build/test tooling rather than the extension runtime.