TavernKeeper Scan Report

platberlitz/sillytavern-image-gen

Commit 4cc4baa Reviewed

No material or high-risk 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 high 0 material 24 low

What this review found

No material or high-risk item was identified.

Minor cautions

Dependency advisory GHSA-jr45-8vmc-qm54 applies

Minor caution · medium confidence

A known security issue was found in a tool used only during development, not in the actual extension that users install.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-jr45-8vmc-qm54 to a dependency declared by this repository.

Contextual assessment: OSV-scanner matched a known advisory against a dependency in this lockfile. The top-level package declares only devDependencies (eslint, fake-indexeddb, globals, jsdom) and no production dependencies. This vulnerability is in the development-only dependency tree and does not ship to end users of this browser extension.

Impact: low · Exploitability: unlikely

Developer action: Update the affected dev dependency to a patched version when convenient.

Scanner
osv-scanner 2.4.0
Rule
GHSA-jr45-8vmc-qm54
File role
production
Source
package-lock.json

zizmor reported dangerous-triggers

Minor caution · medium confidence

This automation notifies another repository when CI succeeds on the main branch. The trigger type can be risky in general because it runs with elevated permissions, but here it is tightly limited to successful runs on the main branch and only sends a short notification. It does not run or read untrusted code, so the practical risk is low.

Technical evidence

Scanner reason: zizmor matched workflow-security rule dangerous-triggers in this repository.

Contextual assessment: The workflow uses the workflow_run trigger, which zizmor flags because it executes in the default-branch context with secret access and can be initiated by workflows that ran for fork pull requests. In this case the job guards execution with conditions requiring the triggering CI workflow to have concluded successfully on the main branch from a push event. The job does not download workflow artifacts or execute code derived from untrusted inputs; it only checks for a dispatch token and sends a repository-dispatch event to another repository with a small payload containing the source repository name and commit SHA. The remaining concern is that workflow_run still runs with default-branch privileges, so any future addition of artifact handling or untrusted-input processing could elevate risk.

Impact: low · Exploitability: unlikely

Developer action: Keep the existing branch and event guards. If artifact downloads or untrusted-input processing are added later, re-audit the workflow for injection and secret exposure.

Scanner
zizmor 1.28.0
Rule
dangerous-triggers
File role
tooling
Source
.github/workflows/notify-sillybunny.yml:3-8

Dependency advisory GHSA-8xcm-r25x-g524 applies

Minor caution · medium confidence

A known security issue was found in a tool used only during development, not in the actual extension that users install.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-8xcm-r25x-g524 to a dependency declared by this repository.

Contextual assessment: OSV-scanner matched a known advisory against a dependency in this lockfile. The top-level package declares only devDependencies and no production dependencies. This vulnerability is in the development-only dependency tree and does not ship to end users of this browser extension.

Impact: low · Exploitability: unlikely

Developer action: Update the affected dev dependency to a patched version when convenient.

Scanner
osv-scanner 2.4.0
Rule
GHSA-8xcm-r25x-g524
File role
production
Source
package-lock.json

Dependency advisory GHSA-v3r7-h72x-cjcm applies

Minor caution · medium confidence

A known security issue was found in a tool used only during development, not in the actual extension that users install.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-v3r7-h72x-cjcm to a dependency declared by this repository.

Contextual assessment: OSV-scanner matched a known advisory against a dependency in this lockfile. The top-level package declares only devDependencies and no production dependencies. This vulnerability is in the development-only dependency tree and does not ship to end users of this browser extension.

Impact: low · Exploitability: unlikely

Developer action: Update the affected dev dependency to a patched version when convenient.

Scanner
osv-scanner 2.4.0
Rule
GHSA-v3r7-h72x-cjcm
File role
production
Source
package-lock.json

Dependency advisory GHSA-4cwx-7wf7-3272 applies

Minor caution · medium confidence

A known security issue was found in a tool used only during development, not in the actual extension that users install.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-4cwx-7wf7-3272 to a dependency declared by this repository.

Contextual assessment: OSV-scanner matched a high-severity advisory against a dependency in this lockfile. Despite the scanner severity, the top-level package declares only devDependencies and no production dependencies. This vulnerability is in the development-only dependency tree and does not ship to end users of this browser extension.

Impact: low · Exploitability: unlikely

Developer action: Update the affected dev dependency to a patched version when convenient.

Scanner
osv-scanner 2.4.0
Rule
GHSA-4cwx-7wf7-3272
File role
production
Source
package-lock.json

Dependency advisory GHSA-mh99-v99m-4gvg applies

Minor caution · medium confidence

A known security issue was found in a tool used only during development, not in the actual extension that users install.

Technical evidence

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

Contextual assessment: OSV-scanner matched a high-severity advisory against a dependency in this lockfile. Despite the scanner severity, the top-level package declares only devDependencies and no production dependencies. This vulnerability is in the development-only dependency tree and does not ship to end users of this browser extension.

Impact: low · Exploitability: unlikely

Developer action: Update the affected dev dependency to a patched version when convenient.

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

zizmor reported artipacked

Minor caution · medium confidence

The automated test workflow leaves a temporary GitHub login token saved inside the test machine after checking out the code. Nothing in this workflow misuses that token, and no files are uploaded or sent anywhere, but it is cleaner to disable saving the token when it is not needed.

Technical evidence

Scanner reason: zizmor matched workflow-security rule artipacked in this repository.

Contextual assessment: The flagged checkout step uses the default persist-credentials behavior, which leaves the ephemeral GITHUB token in the local git config for the job. This workflow only runs dependency installation and verification commands and performs no artifact upload, push, or secret use, so there is no visible credential-persistence or exfiltration data flow. The residual concern is that a malicious dependency postinstall script could read the persisted token, which is standard CI hygiene rather than a project-specific threat.

Impact: low · Exploitability: unlikely

Developer action: Set persist-credentials: false on the checkout step unless a later step needs to push or interact with the Git remote.

Scanner
zizmor 1.28.0
Rule
artipacked
File role
tooling
Source
.github/workflows/ci.yml:27-28

Dependency advisory GHSA-m8rv-5g2x-5cg5 applies

Minor caution · medium confidence

A known security issue was found in a tool used only during development, not in the actual extension that users install.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-m8rv-5g2x-5cg5 to a dependency declared by this repository.

Contextual assessment: OSV-scanner matched a known advisory against a dependency in this lockfile. The top-level package declares only devDependencies and no production dependencies. This vulnerability is in the development-only dependency tree and does not ship to end users of this browser extension.

Impact: low · Exploitability: unlikely

Developer action: Update the affected dev dependency to a patched version when convenient.

Scanner
osv-scanner 2.4.0
Rule
GHSA-m8rv-5g2x-5cg5
File role
production
Source
package-lock.json

Dependency advisory GHSA-rgw5-rvv9-x895 applies

Minor caution · medium confidence

A known security issue was found in a tool used only during development, not in the actual extension that users install.

Technical evidence

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

Contextual assessment: OSV-scanner matched a high-severity advisory against a dependency in this lockfile. Despite the scanner severity, the top-level package declares only devDependencies and no production dependencies. This vulnerability is in the development-only dependency tree and does not ship to end users of this browser extension.

Impact: low · Exploitability: unlikely

Developer action: Update the affected dev dependency to a patched version when convenient.

Scanner
osv-scanner 2.4.0
Rule
GHSA-rgw5-rvv9-x895
File role
production
Source
package-lock.json
Expected scanner matches (10)

Gitleaks reported vault-service-token

Expected behavior · high confidence

The scanner flagged a line that only contains a settings slider for how confident the image tool should be when detecting faces and hands. There is no password, key, or secret here, just a default number for a user-facing setting.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The matched line is an HTML template fragment rendering a numeric input field for an ADetailer confidence threshold in the extension's settings UI. The value is a default numeric setting (0.3) for face/hand detection sensitivity during image generation. No credential, token, secret, or sensitive data flow is present. The gitleaks vault-service-token rule produced a false positive on this UI configuration markup.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:17419

Gitleaks reported vault-service-token

Expected behavior · high confidence

The scanner mistook a dropdown menu label for a secret token. There is no password or key here, just text shown in the settings UI.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The flagged line is an HTML option element inside a template literal for an IP-Adapter resize-mode dropdown. The matched text is a UI label string, not a credential or token. No secret value, network destination, or credential data flow is present.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:13640

Gitleaks reported vault-service-token

Expected behavior · high confidence

This is just a dropdown menu option in the extension's settings screen. It is not a password or secret key. The scanner mistakenly matched ordinary menu text.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The flagged line is part of an HTML template literal rendering a select dropdown for an IP-Adapter resize mode option. The surrounding context shows static UI option strings for resize modes. No credential, secret, token, or sensitive data flow is present; the gitleaks vault-service-token rule produced a false positive on template syntax or option text.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:17509

Gitleaks reported vault-service-token

Expected behavior · high confidence

This line is a menu choice in the settings interface, not a secret. The scanner flagged ordinary interface text by mistake.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The flagged line is an HTML option element inside a template literal for a resize mode selector. The context shows only static UI labels and conditional selected-state attributes. There is no credential value, network destination, or sensitive data handling; the match is a false positive from the vault-service-token rule.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:17508

Gitleaks reported vault-service-token

Expected behavior · high confidence

The scanner thought it found a secret password or token, but the flagged line is just a setting for how an image should be resized during generation. There is no real credential here.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The gitleaks vault-service-token rule matched on line 8465, but the surrounding source context shows this line is part of an A1111/Forge ControlNet unit configuration object for image generation. The flagged content is a resize_mode property assigned from a user setting with a default string literal. No credential, token, or secret is present in the data flow. The match is a false positive from a heuristic pattern scan over ordinary configuration code.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:8465

Gitleaks reported vault-service-token

Expected behavior · high confidence

The scanner thought it found a secret password or token, but the line actually just sets a resize option for an image-generation feature. There is no sensitive information here.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The flagged line is a ControlNet unit configuration property assigning a resize-mode string with a default fallback. It contains no credential, token, or secret material. The gitleaks vault-service-token rule produced a false positive on ordinary configuration text within an A1111/Forge image-generation payload builder, which matches the project's stated purpose of supporting local A1111/ComfyUI backends.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:7119

Gitleaks reported vault-service-token

Expected behavior · high confidence

The scanner thought it found a secret, but the flagged code is just a settings slider for how confident the face-detection feature needs to be. There is no password or key here.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The flagged line is an HTML template fragment for an ADetailer confidence numeric input field. The value expression resolves to a user-configurable decimal threshold (default 0.3) for face/hand detection in the A1111 high-res fix workflow. There is no token, secret, or credential literal present; the gitleaks vault-service-token rule produced a false positive on surrounding template syntax and numeric defaults.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:13550

Gitleaks reported vault-service-token

Expected behavior · high confidence

This is another dropdown menu label, not a secret. The scanner produced a false positive.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The flagged line is an HTML option element for the same resize-mode dropdown. The matched value is a user-facing label string within a template literal, not a service token. No credential exposure or sensitive data flow exists.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:13641

Gitleaks reported vault-service-token

Expected behavior · high confidence

This is a dropdown menu label, not a secret token. The scanner matched ordinary UI text by mistake.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The flagged line is an HTML option element in the resize-mode dropdown template. The matched text is a UI label, not a credential. There is no secret value, destination, or credential handling on this line.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:13639

Gitleaks reported vault-service-token

Expected behavior · high confidence

This is another dropdown option in the settings screen. It contains no secret or sensitive information. The scanner match is a mistake.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule vault-service-token in this repository.

Contextual assessment: The flagged line is another HTML option in the same resize mode dropdown template. It contains a static label and a conditional selected attribute bound to a settings field. No secret material, exfiltration, or sensitive data flow exists; the gitleaks match is a false positive on UI template content.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
gitleaks 8.30.1
Rule
vault-service-token
File role
production
Source
index.js:17510

Related contextual observations

Gitleaks vault-service-token matches are UI dropdown labels

low risk · high confidence

The three scanner alerts are all false positives caused by dropdown menu labels being mistaken for secret tokens.

Technical assessment

All three candidates are adjacent lines in the same HTML template literal rendering an IP-Adapter resize-mode select element. The matched strings are option labels, not tokens. The vault-service-token rule produced false positives on ordinary UI text.

Impact: none · Exploitability: unlikely

Developer action: none

Sources:

Pinned third-party action versions

low risk · high confidence

The workflow locks its helper tools to exact versions and only asks for read access, which is good practice.

Technical assessment

Both actions/checkout and actions/setup-node are pinned to full commit hashes with version comments, and the workflow declares a minimal contents: read permission. This is good supply-chain hygiene and limits blast radius regardless of the persist-credentials default.

Impact: none · Exploitability: unlikely

Developer action: none

Sources:

Dispatch token is checked before use and absent token is handled gracefully

low risk · high confidence

The workflow safely checks whether a notification token exists before using it, and simply skips the notification if it is not configured.

Technical assessment

The first step checks whether the dispatch token secret is present and sets an output accordingly. The dispatch step only runs when the token is enabled. If the token is absent, the workflow logs an informational message and skips dispatch. No secret value is printed or exposed.

Impact: none · Exploitability: unlikely

Developer action: none

Sources:

Gitleaks vault-service-token false positives on IP-Adapter resize mode dropdown

low risk · high confidence

The scanner flagged three neighboring lines that are all part of a settings dropdown menu. They contain ordinary menu text, not passwords or keys.

Technical assessment

All three candidates are adjacent lines in the same HTML template literal block rendering a select element for IP-Adapter resize modes. The option values are static UI strings with conditional selected-state attributes referencing a settings object. No credential, token, or secret material is present in the supplied source context. The vault-service-token rule matched template syntax or option text, not actual credentials.

Impact: none · Exploitability: unlikely

Developer action: none

Sources:

All vulnerable dependencies are dev-only

low risk · medium confidence

All the flagged security issues are in tools the developer uses to build and test the extension, not in the extension itself that users install.

Technical assessment

The top-level package in this lockfile declares only devDependencies (eslint, fake-indexeddb, globals, jsdom) with no production dependencies. All seven OSV-scanner findings are therefore in the development-only dependency tree. These packages are used for linting and testing during development and are not shipped to end users of the SillyTavern extension.

Impact: low · Exploitability: unlikely

Developer action: Run npm audit and update dev dependencies to patched versions to keep the development environment clean.

Sources:

Coverage and limitations

Tools

Limitations

Technical scan identity