TavernKeeper Scan Report

AventurasTeam/Aventuras

Commit 6d18d69 Reviewed

1 material concern identified.

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 danger 1 material 91 low

What this review found

Gitleaks reported generic-api-key

Material concern · high confidence

The app has a secret password (API key) for a search service written directly into its code. Anyone who looks at the app's files can steal this key and use it for their own purposes, which could cost the service provider money or cause other problems.

Technical evidence

Scanner reason: Gitleaks matched secret-detection rule generic-api-key in this repository.

Contextual assessment: The file file contains a hardcoded authentication token (`FALLBACK_TOKEN`) on line 9. The token is a 64-character hex string, consistent with a secret API key. It is used as a fallback when no cached token is available for the JannyAI search API. Because this is client-side code shipped to all users, anyone with access to the application source or binary can extract the token and use it to authenticate as the application to the JannyAI API. This could allow unauthorized API usage, potentially incurring costs or leading to abuse of the service. The token is not a placeholder or test key; it appears to be a live credential.

Impact: medium · Exploitability: readily_exploitable

Developer action: Remove the hardcoded fallback token from the source code. Replace it with a user-configurable setting (e.g., prompt the user to enter their own JannyAI API key) or implement a server-side authentication flow where the app obtains a per-instance token at first launch. The existing token should be considered compromised and revoked by the JannyAI service provider.

Scanner
gitleaks 8.30.1
Rule
generic-api-key
File role
production
Source
src/lib/services/discovery/providers/janny.ts:9

Minor cautions

Dependency advisory RUSTSEC-2025-0080:pkg:d9db6230dfa23e8ba0fa93cf applies

Minor caution · medium confidence

This is an outdated helper library for Unicode characters. It might have a bug, but the app doesn't use it directly and it's unlikely someone could cause harm through it.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2025-0080:pkg:d9db6230dfa23e8ba0fa93cf to a dependency declared by this repository.

Contextual assessment: unic-common at version 0.9.0 is a transitive dependency, likely pulled in by unic-char-property or other Unicode crates. The advisory (RUSTSEC-2025-0080) describes a vulnerability in Unicode character handling. The application does not directly call functions from this crate; it is used indirectly for string normalization or property lookup. An attacker would need to supply crafted Unicode input to trigger the vulnerable code path. While user-provided story text is processed, the specific exploitation path is unclear and no concrete trigger is shown in the supplied evidence. The risk is low and exposure is not demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Update unic-common to a patched version if a newer compatible release exists, or monitor the advisory for when a fix is published. This is a transitive dependency, so updating may require bumping the parent crate.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2025-0080:pkg:d9db6230dfa23e8ba0fa93cf
File role
production
Source
src-tauri/Cargo.lock

zizmor reported unpinned-uses

Minor caution · high confidence

The project uses an external tool without locking it to a specific version, which is a minor supply chain risk.

Technical evidence

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

Contextual assessment: Uses android-actions/setup-android@v3, a mutable major-version tag instead of a pinned commit SHA. If the action repository were compromised, an attacker could alter its behavior without notice.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:108

Dependency advisory RUSTSEC-2024-0414:pkg:e12ed7daa8c1d8360f101be8 applies

Minor caution · medium confidence

This is a low-level library for graphics on Linux. The bug might be serious, but the app only uses it indirectly through the window system. It's very hard for an attacker to use this to cause problems.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0414:pkg:e12ed7daa8c1d8360f101be8 to a dependency declared by this repository.

Contextual assessment: gdkx11-sys version 0.18.2 is a Rust binding for the GDK X11 library, used internally by Tauri's webview on Linux. The advisory (RUSTSEC-2024-0414) likely involves a memory safety issue in X11 event handling. The vulnerable code is only reachable on Linux desktops running X11. The application does not directly interact with this crate; it is a transitive dependency of the gtk crate pulled in by Tauri. Exploitation would require an attacker to control X11 display input, which is not feasible in the application's normal operation. No evidence of an exploitable path was provided.

Impact: low · Exploitability: unlikely

Developer action: Update gdkx11-sys to a patched version when available, typically by updating the Tauri framework or gtk-rs dependencies. This is a transitive dependency and cannot be bumped independently without a full cargo update.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0414:pkg:e12ed7daa8c1d8360f101be8
File role
production
Source
src-tauri/Cargo.lock

zizmor reported unpinned-uses

Minor caution · high confidence

The workflow references a GitHub Action by a version number that could be changed later. Using a specific commit hash would be safer.

Technical evidence

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

Contextual assessment: The action 'android-actions/setup-android@v3' uses a mutable major-version tag instead of a pinned SHA. An adversary who compromises the action's v3 tag could inject malicious behavior. The action is from a reputable source and the risk is low.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning this action to a full commit SHA for additional supply-chain security.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:113

Dependency advisory GHSA-72xf-g2v4-qvf3:pkg:2f098d09dffd8939e104e6f0 applies

Minor caution · medium confidence

A known security issue exists in a library used by the app, but we could not confirm that an attacker could actually use it to harm the app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-72xf-g2v4-qvf3:pkg:2f098d09dffd8939e104e6f0 to a dependency declared by this repository.

Contextual assessment: The file records tough-cookie at version 2.5.0, which is subject to a known medium-severity advisory (GHSA-72xf-g2v4-qvf3). Without evidence that the vulnerable code path is reachable from untrusted input in this application, and given the lack of runtime context, the vulnerability cannot be confirmed as exploitable. The dependency may be transitive from one of the AI SDK packages.

Impact: low · Exploitability: unlikely

Developer action: Update tough-cookie to a patched version as part of routine dependency maintenance.

Scanner
osv-scanner 2.4.0
Rule
GHSA-72xf-g2v4-qvf3:pkg:2f098d09dffd8939e104e6f0
File role
production
Source
package-lock.json

Dependency advisory GHSA-2mjp-6q6p-2qxm:pkg:6d96a46fadb25a056091e448 applies

Minor caution · medium confidence

A known security issue exists in a library used by the app, but we could not confirm that an attacker could actually use it to harm the app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-2mjp-6q6p-2qxm:pkg:6d96a46fadb25a056091e448 to a dependency declared by this repository.

Contextual assessment: The file records undici at version 5.29.0, which is subject to multiple known medium-severity advisories (GHSA-2mjp-6q6p-2qxm). Without evidence that the vulnerable code path is reachable from untrusted input in this application, and given the lack of runtime context, the vulnerability cannot be confirmed as exploitable. Undici is used for HTTP operations, possibly by the AI SDK packages.

Impact: low · Exploitability: unlikely

Developer action: Update undici to a patched version as part of routine dependency maintenance.

Scanner
osv-scanner 2.4.0
Rule
GHSA-2mjp-6q6p-2qxm:pkg:6d96a46fadb25a056091e448
File role
production
Source
package-lock.json

Dependency advisory GHSA-m8rv-5g2x-5cg5:pkg:4960f6321d5eb83e948ad4ac applies

Minor caution · medium confidence

A known security issue exists in a library used by the app, but we could not confirm that an attacker could actually use it to harm the app.

Technical evidence

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

Contextual assessment: The file records undici at version 5.29.0, which is subject to a known medium-severity advisory (GHSA-m8rv-5g2x-5cg5). Without evidence that the vulnerable code path is reachable from untrusted input in this application, and given the lack of runtime context, the vulnerability cannot be confirmed as exploitable.

Impact: low · Exploitability: unlikely

Developer action: Update undici to a patched version as part of routine dependency maintenance.

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

zizmor reported unpinned-uses

Minor caution · high confidence

The build step uses a Tauri action identified by a version number. Pinning to a specific commit would prevent unexpected changes from that action.

Technical evidence

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

Contextual assessment: The action 'tauri-apps/tauri-action@v0' uses a mutable major-version tag. This is a common pattern but allows the action owner to change what @v0 resolves to. There is no evidence of exploit.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning to a commit SHA for the tauri-action.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:67

Dependency advisory GHSA-g8m3-5g58-fq7m:pkg:e4124745cfdd4bc7b9a15ac1 applies

Minor caution · medium confidence

A known low-severity security issue exists in a library used by the app, but we could not confirm that an attacker could actually use it to harm the app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-g8m3-5g58-fq7m:pkg:e4124745cfdd4bc7b9a15ac1 to a dependency declared by this repository.

Contextual assessment: The file records undici at version 5.29.0, which is subject to a known low-severity advisory (GHSA-g8m3-5g58-fq7m). Without evidence that the vulnerable code path is reachable from untrusted input in this application, the vulnerability cannot be confirmed as exploitable.

Impact: low · Exploitability: unlikely

Developer action: Update undici to a patched version as part of routine dependency maintenance.

Scanner
osv-scanner 2.4.0
Rule
GHSA-g8m3-5g58-fq7m:pkg:e4124745cfdd4bc7b9a15ac1
File role
production
Source
package-lock.json

zizmor reported unpinned-uses

Minor caution · high confidence

The checkout action is referenced by major version. Using a specific commit would prevent a future malicious update from affecting the workflow.

Technical evidence

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

Contextual assessment: The action 'actions/checkout@v4' uses a mutable major-version tag. Standard practice but not fully pinned.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning actions/checkout to a commit SHA.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:92

zizmor reported unpinned-uses

Minor caution · high confidence

A well-known tool is used without a fixed version, which is a minor security concern.

Technical evidence

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

Contextual assessment: Uses actions/setup-java@v4, a mutable major-version tag. While an official action, pinning to a commit SHA would eliminate the supply chain risk.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:102

Dependency advisory GHSA-v3r7-h72x-cjcm:pkg:3442b6d04e2f119213e16797 applies

Minor caution · medium confidence

A known security issue exists in a library used by the app, but we could not confirm that an attacker could actually use it to harm the app.

Technical evidence

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

Contextual assessment: The file records undici at version 5.29.0, which is subject to a known medium-severity advisory (GHSA-v3r7-h72x-cjcm). Without evidence that the vulnerable code path is reachable from untrusted input in this application, the vulnerability cannot be confirmed as exploitable.

Impact: low · Exploitability: unlikely

Developer action: Update undici to a patched version as part of routine dependency maintenance.

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

Dependency advisory GHSA-5v7r-6r5c-r473:pkg:db1c36cdfd066cb137608ca0 applies

Minor caution · medium confidence

A known security issue exists in a library used by the app, but we could not confirm that an attacker could actually use it to harm the app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-5v7r-6r5c-r473:pkg:db1c36cdfd066cb137608ca0 to a dependency declared by this repository.

Contextual assessment: The file records file-type at version 16.5.4, which is subject to a known medium-severity advisory (GHSA-5v7r-6r5c-r473). Without evidence that the vulnerable code path is reachable from untrusted input in this application, and given the lack of runtime context, the vulnerability cannot be confirmed as exploitable. file-type is used for file type detection, possibly during image handling.

Impact: low · Exploitability: unlikely

Developer action: Update file-type to a patched version as part of routine dependency maintenance.

Scanner
osv-scanner 2.4.0
Rule
GHSA-5v7r-6r5c-r473:pkg:db1c36cdfd066cb137608ca0
File role
production
Source
package-lock.json

Dependency advisory GHSA-vrm6-8vpv-qv8q:pkg:0b992fe91b0b56ff0c3a69a0 applies

Minor caution · medium confidence

A known security issue exists in a library used by the app, but we could not confirm that an attacker could actually use it to harm the app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-vrm6-8vpv-qv8q:pkg:0b992fe91b0b56ff0c3a69a0 to a dependency declared by this repository.

Contextual assessment: The file records undici at version 5.29.0, which is subject to a known high-severity advisory (GHSA-vrm6-8vpv-qv8q). Without evidence that the vulnerable code path is reachable from untrusted input in this application, and given the lack of runtime context, the vulnerability cannot be confirmed as exploitable. The high scanner severity does not change the lack of demonstrated exposure.

Impact: low · Exploitability: unlikely

Developer action: Update undici to a patched version as part of routine dependency maintenance.

Scanner
osv-scanner 2.4.0
Rule
GHSA-vrm6-8vpv-qv8q:pkg:0b992fe91b0b56ff0c3a69a0
File role
production
Source
package-lock.json

zizmor reported unpinned-uses

Minor caution · medium confidence

The workflow uses a well-known action but pins it to a version number like 'v4' instead of a specific snapshot. This is common but slightly less secure because the action could change without notice.

Technical evidence

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

Contextual assessment: The workflow uses `actions/checkout@v4` with a major-version tag rather than a specific commit hash. This allows the action's v4 tag to be silently updated, which could introduce behavioral changes without the repository owner's review. However, the official GitHub action is widely trusted, and the workflow only triggers on tag pushes or manual dispatch, limiting exposure. No evidence of exploitation exists in the supplied code.

Impact: low · Exploitability: unlikely

Developer action: Review the cited evidence and confirm the intended behavior.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:43

Dependency advisory GHSA-vxpw-j846-p89q:pkg:2b5722d889310f1a977423f1 applies

Minor caution · medium confidence

A known security issue exists in a library used by the app, but we could not confirm that an attacker could actually use it to harm the app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-vxpw-j846-p89q:pkg:2b5722d889310f1a977423f1 to a dependency declared by this repository.

Contextual assessment: The file records undici at version 5.29.0, which is subject to a known high-severity advisory (GHSA-vxpw-j846-p89q). Without evidence that the vulnerable code path is reachable from untrusted input in this application, and given the lack of runtime context, the vulnerability cannot be confirmed as exploitable.

Impact: low · Exploitability: unlikely

Developer action: Update undici to a patched version as part of routine dependency maintenance.

Scanner
osv-scanner 2.4.0
Rule
GHSA-vxpw-j846-p89q:pkg:2b5722d889310f1a977423f1
File role
production
Source
package-lock.json

Dependency advisory RUSTSEC-2024-0411:pkg:7048d8a9d3d0f0ec2dd07bfe applies

Minor caution · medium confidence

This is a low-level graphics library for Linux Wayland. The app uses it through the window system. There's a known bug, but attackers can't reach it through the app's normal features.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0411:pkg:7048d8a9d3d0f0ec2dd07bfe to a dependency declared by this repository.

Contextual assessment: gdkwayland-sys version 0.18.2 is a Rust binding for the GDK Wayland library, used by Tauri on Linux under Wayland. The advisory (RUSTSEC-2024-0411) describes a vulnerability in Wayland protocol handling. The crate is a transitive dependency not called directly by the application. Exploitation requires controlling Wayland display input, which is not exposed to the application's users or AI inputs. The supplied evidence does not demonstrate an exploitable scenario.

Impact: low · Exploitability: unlikely

Developer action: Update gdkwayland-sys to a patched version by updating the Tauri or gtk-rs dependencies. As a transitive dependency, it will be resolved when the parent crate is updated.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0411:pkg:7048d8a9d3d0f0ec2dd07bfe
File role
production
Source
src-tauri/Cargo.lock

zizmor reported unpinned-uses

Minor caution · high confidence

The workflow uses 'setup-node@v4' which always points to the latest v4 release. If the tag were hijacked or pointed to a bad version, it could run malicious code. It's better to pin to a specific commit hash.

Technical evidence

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

Contextual assessment: Line 42 uses `actions/setup-node@v4` with a mutable major-version tag. If the tag is moved to a newer, potentially malicious commit, workflows could execute untrusted code. There is no evidence of current compromise.

Impact: low · Exploitability: plausible

Developer action: Pin the action to a specific commit SHA (e.g., `actions/setup-node@39370e3970a6d050c48ff62c4e4645baf10e1d9c` instead of `@v4`).

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:42

Dependency advisory RUSTSEC-2023-0071:pkg:ee975215c8fb081d4be2c2de applies

Minor caution · medium confidence

This is an old version of a cryptography library. It has a known bug, but the app probably doesn't use it for anything important. Attackers can't exploit it through the app's features.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2023-0071:pkg:ee975215c8fb081d4be2c2de to a dependency declared by this repository.

Contextual assessment: rsa version 0.9.10 has a known vulnerability (RUSTSEC-2023-0071) related to RSA decryption with PKCS1v15 padding or similar. The application does not appear to perform RSA decryption or signature verification; the crate is likely a transitive dependency of another library (e.g., for Tauri's updater or OAuth). No code evidence links this crate to user-controlled input. The risk depends on whether RSA is used to process attacker-supplied data. Without evidence of such usage, exposure is not demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Update rsa to a patched version (0.9.11 or later) if the crate is a direct dependency. If it is transitive, consider auditing which parent crate depends on rsa and update that crate or replace with a compatible alternative.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2023-0071:pkg:ee975215c8fb081d4be2c2de
File role
production
Source
src-tauri/Cargo.lock

Dependency advisory GHSA-pxg6-pf52-xh8x:pkg:6da1e3539f31ff57c2a349c3 applies

Minor caution · medium confidence

A known low-risk issue exists in the cookie library used by the app, but it probably won't be triggered in this desktop application.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-pxg6-pf52-xh8x:pkg:6da1e3539f31ff57c2a349c3 to a dependency declared by this repository.

Contextual assessment: The lockfile pins cookie at version 0.6.0 which is subject to a low-severity advisory. Cookie parsing in a desktop Tauri app is unlikely to process attacker-controlled cookie headers, reducing the practical attack surface. No runtime reachability evidence is provided.

Impact: low · Exploitability: unlikely

Developer action: Update cookie to a patched version if a direct dependency uses it; otherwise, review the dependency tree for an upgrade path.

Scanner
osv-scanner 2.4.0
Rule
GHSA-pxg6-pf52-xh8x:pkg:6da1e3539f31ff57c2a349c3
File role
production
Source
package-lock.json

zizmor reported cache-poisoning

Minor caution · low confidence

This workflow caches npm dependencies, which could theoretically be poisoned if an attacker could control the cache key, but the workflow's triggers are tightly controlled.

Technical evidence

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

Contextual assessment: The `actions/setup-node@v4` step uses `cache: 'npm'`. If an attacker could influence the cache key (e.g., via a pull request), they might poison the cache. However, this workflow is triggered only on tag pushes and `workflow_dispatch`, which require write access to the repository, making cache poisoning from external actors improbable. No concrete attack path is shown in the evidence.

Impact: low · Exploitability: unlikely

Developer action: Ensure the cache key includes only immutable inputs or use actions/setup-node with a commit hash for the action itself.

Scanner
zizmor 1.28.0
Rule
cache-poisoning
File role
tooling
Source
.github/workflows/release.yml:46

zizmor reported unpinned-uses

Minor caution · high confidence

The Rust toolchain is fetched from a branch that could change, which is a minor risk.

Technical evidence

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

Contextual assessment: Uses dtolnay/rust-toolchain@stable, a branch reference that can be updated without a version pin. This is a mutable dependency.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:97

Dependency advisory GHSA-w5hq-g745-h8pq:pkg:557a6d9a353e8755eba18deb applies

Minor caution · medium confidence

The UUID library used has a weak random number generator, but likely only generates harmless IDs for local storage.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-w5hq-g745-h8pq:pkg:557a6d9a353e8755eba18deb to a dependency declared by this repository.

Contextual assessment: uuid version 3.4.0 uses a weak PRNG. If used for session or identity tokens, this could be a concern. However, the app's purpose and codebase may use uuid for local identifiers only. No exposure demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Update to uuid@9.0.0 or later which uses a cryptographically secure generator. Audit usage to determine if security-critical.

Scanner
osv-scanner 2.4.0
Rule
GHSA-w5hq-g745-h8pq:pkg:557a6d9a353e8755eba18deb
File role
production
Source
package-lock.json

Dependency advisory RUSTSEC-2024-0413:pkg:c2f358c9f3bc98a14e0c2abf applies

Minor caution · medium confidence

This library helps with accessibility features on Linux. The bug could be serious, but the app doesn't let attackers control what it does. It's unlikely to be exploited.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0413:pkg:c2f358c9f3bc98a14e0c2abf to a dependency declared by this repository.

Contextual assessment: atk version 0.18.2 provides Rust bindings for the ATK accessibility toolkit, used by Tauri on Linux. The advisory (RUSTSEC-2024-0413) involves a memory vulnerability in the underlying C library. The crate is a transitive dependency not directly used by the application. Exploitation would require an attacker to inject malicious accessibility events, which is not exposed through the application's inputs. No exploitable data flow was demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Update atk to a patched version by updating the Tauri framework or gtk-rs dependencies. As a transitive dependency, this will be resolved automatically when the parent crates are updated.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0413:pkg:c2f358c9f3bc98a14e0c2abf
File role
production
Source
src-tauri/Cargo.lock

zizmor reported unpinned-uses

Minor caution · medium confidence

A third-party build action is used with a version tag that could be changed. This is a common practice but carries some risk if the action's source were compromised.

Technical evidence

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

Contextual assessment: The workflow uses `tauri-apps/tauri-action@v0`, a third-party action pinned to a major-version tag. This tag is floating and could be replaced by a malicious version if the upstream repository is compromised. The action handles sensitive secrets (`TAURI_SIGNING_PRIVATE_KEY`, `GITHUB_TOKEN`) and creates releases, increasing the potential impact. However, no evidence of compromise or exploitation is present.

Impact: low · Exploitability: unlikely

Developer action: Pin the action to a specific commit hash after verifying its integrity, or use a commit hash from a trusted release.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:66

Dependency advisory GHSA-wrw7-89jp-8q8g:pkg:4b30aae73f1836d87a5b008c applies

Minor caution · medium confidence

This is a basic system library used by many Linux programs. The bug could be dangerous, but the app doesn't directly use it in a way attackers could trigger. The risk is low.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-wrw7-89jp-8q8g:pkg:4b30aae73f1836d87a5b008c to a dependency declared by this repository.

Contextual assessment: glib version 0.18.5 provides Rust bindings for GLib, a core system library used by GTK and therefore by Tauri on Linux. The advisory (GHSA-wrw7-89jp-8q8g) describes a use-after-free or other memory corruption in GLib's variant type handling. The crate is a transitive dependency not directly called by the application. Exploitation would require attacker-controlled input to be processed by the vulnerable GLib function. The supplied evidence does not demonstrate such a path.

Impact: low · Exploitability: unlikely

Developer action: Update glib to a patched version by updating the Tauri framework or gtk-rs dependencies. This is a transitive dependency; a cargo update may suffice if a newer patch is available.

Scanner
osv-scanner 2.4.0
Rule
GHSA-wrw7-89jp-8q8g:pkg:4b30aae73f1836d87a5b008c
File role
production
Source
src-tauri/Cargo.lock

zizmor reported unpinned-uses

Minor caution · high confidence

The checkout action is not pinned to a specific version, a typical minor security practice gap.

Technical evidence

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

Contextual assessment: Uses actions/checkout@v4, a mutable major-version tag. Pinning to a commit SHA is a defense-in-depth measure.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:87

zizmor reported unpinned-uses

Minor caution · high confidence

Using 'checkout@v4' without a specific commit hash means the action could change in the future. It's safer to lock to a specific commit.

Technical evidence

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

Contextual assessment: Line 39 uses `actions/checkout@v4` without a fixed commit hash. A mutable major-version tag could be maliciously redeployed, though there is no evidence of that here.

Impact: low · Exploitability: plausible

Developer action: Pin `actions/checkout` to a specific commit SHA (e.g., `actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683`).

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:39

zizmor reported cache-poisoning

Minor caution · low confidence

There is a theoretical but unlikely risk that the npm cache could be tampered with, but no actual vulnerability is shown.

Technical evidence

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

Contextual assessment: The setup-node step enables npm caching, which in theory could be exploited via cache poisoning. However, the scanner confidence is low, and the concrete attack path is not demonstrated in the supplied evidence.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
cache-poisoning
File role
tooling
Source
.github/workflows/release.yml:90

Dependency advisory RUSTSEC-2025-0081:pkg:5c764120c78ffcfe5027b39c applies

Minor caution · medium confidence

This is an old library for classifying Unicode characters. It has a known bug, but the app uses it indirectly. It's unclear if anyone could use this bug to cause real problems.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2025-0081:pkg:5c764120c78ffcfe5027b39c to a dependency declared by this repository.

Contextual assessment: unic-char-property version 0.9.0 is a transitive dependency for Unicode character property lookups, likely used by the Liquid template engine or AI output processing. The advisory (RUSTSEC-2025-0081) relates to a vulnerability in property handling. While user-provided text is processed in multiple places, the specific trigger and impact are not established. No evidence links attacker-controlled input to the vulnerable function with demonstrated harm.

Impact: low · Exploitability: unlikely

Developer action: Update unic-char-property to a patched version when available. Since it is a transitive dependency of unic-common or similar, update the root dependency that pulls it in.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2025-0081:pkg:5c764120c78ffcfe5027b39c
File role
production
Source
src-tauri/Cargo.lock

zizmor reported unpinned-uses

Minor caution · high confidence

An artifact upload action is used without a fixed version, a common minor security gap.

Technical evidence

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

Contextual assessment: Uses actions/upload-artifact@v4, a mutable major-version tag. Pinning to a commit SHA would reduce supply chain risk.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:146

zizmor reported unpinned-uses

Minor caution · low confidence

The setup-ndk action is not pinned to a specific version. If someone takes over that action and changes what 'v1' points to, the build pipeline could be attacked. No attack has happened, but it's safer to lock the version.

Technical evidence

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

Contextual assessment: The workflow references `nttld/setup-ndk@v1` using a mutable tag. If the action repository is compromised and the `v1` tag is reassigned, malicious code could execute during the CI pipeline, potentially exfiltrating secrets or tampering with build artifacts. There is no evidence of such compromise, and the action is widely used, but pinning to a specific commit SHA would eliminate this supply-chain risk.

Impact: medium · Exploitability: plausible

Developer action: Pin the `nttld/setup-ndk` action to an exact commit SHA instead of the `v1` tag.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:116

zizmor reported unpinned-uses

Minor caution · high confidence

The workflow installs Rust using a tag that can move over time. To avoid surprises, pin to a specific version or commit.

Technical evidence

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

Contextual assessment: Line 48 uses `dtolnay/rust-toolchain@stable`. The tag `stable` is mutable; a future change could introduce unexpected behavior. No current compromise is indicated.

Impact: low · Exploitability: plausible

Developer action: Replace `dtolnay/rust-toolchain@stable` with a pinned version (e.g., use a specific release tag like `@1.80` or a commit SHA).

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:48

Dependency advisory GHSA-fjxv-7rqg-78g4:pkg:6c89c9914b40635e432f1415 applies

Minor caution · medium confidence

A critical bug exists in an old form-data version, but it's unlikely to be triggered because the app controls the data it sends.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-fjxv-7rqg-78g4:pkg:6c89c9914b40635e432f1415 to a dependency declared by this repository.

Contextual assessment: form-data 2.3.3 has a critical-severity ReDoS advisory. It is a transitive dependency of request. The app likely makes API calls to AI providers with controlled payloads, not attacker-supplied form data. No exposure demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Replace request with a modern HTTP library (e.g., fetch or undici) to eliminate this and other deprecated transitive dependencies.

Scanner
osv-scanner 2.4.0
Rule
GHSA-fjxv-7rqg-78g4:pkg:6c89c9914b40635e432f1415
File role
production
Source
package-lock.json

zizmor reported artipacked

Minor caution · low confidence

The scanner warns that secrets might be included in build outputs, but the provided code does not show any artifact upload that would expose them.

Technical evidence

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

Contextual assessment: The scanner flags that checksum or sensitive credentials could be persisted in GitHub Actions artifacts. In the `build-android` job, no artifact upload step is visible in the supplied source (which cuts off at line 127). The `GITHUB_TOKEN` is not used in that job, and the `ANDROID_KEYSTORE_BASE64` secret is decoded in a step but not shown as stored. No evidence of credential leakage via artifacts is demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Review the full workflow to ensure no artifact upload steps include environment variables or files containing secrets.

Scanner
zizmor 1.28.0
Rule
artipacked
File role
tooling
Source
.github/workflows/release.yml:86-87

Dependency advisory GHSA-hmw2-7cc7-3qxx:pkg:b55f5aef11b0369cc46f988a applies

Minor caution · medium confidence

Another serious bug in the same old form-data library, but again unlikely to matter in this app's usage.

Technical evidence

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

Contextual assessment: form-data 2.3.3 has a high-severity remote memory exposure advisory. Same dependency path constraint as the other form-data candidate. Without attacker-controlled input reaching the parsing path, exposure is not demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Same as above: replace deprecated HTTP stack with modern alternatives to remove form-data entirely.

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

Dependency advisory GHSA-6rw7-vpxm-498p:pkg:43bb4aeefd1a794ecdaf18ba applies

Minor caution · medium confidence

A known weakness in the query string parser exists, but your app doesn't let attackers supply query strings.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-6rw7-vpxm-498p:pkg:43bb4aeefd1a794ecdaf18ba to a dependency declared by this repository.

Contextual assessment: qs 6.5.5 has a medium-severity prototype pollution bypass. This library is used by request for query string parsing. The app does not expose query string parsing to untrusted input, so exploitation is unlikely.

Impact: low · Exploitability: unlikely

Developer action: Remove request and its transitive dependencies, or update qs to 6.7.3+.

Scanner
osv-scanner 2.4.0
Rule
GHSA-6rw7-vpxm-498p:pkg:43bb4aeefd1a794ecdaf18ba
File role
production
Source
package-lock.json

zizmor reported unpinned-uses

Minor caution · medium confidence

The workflow uses a reference to a third-party action that can change over time without warning. It's like trusting a package without locking the version. While not immediately dangerous, it's a security best practice to lock to a specific version.

Technical evidence

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

Contextual assessment: The 'softprops/action-gh-release@v1' uses a mutable major version tag. While the action is from a reputable source and the workflow only runs on release events, this pattern allows the action's behavior to change silently if the tag is updated, which could introduce malicious or breaking changes without the repository owner's review. GitHub recommends pinning actions to a full commit SHA for supply chain security. No current compromise is evidenced.

Impact: low · Exploitability: unlikely

Developer action: Pin the 'softprops/action-gh-release' action to a specific commit SHA instead of using the 'v1' tag to ensure the action version is immutable and auditable.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:152

Dependency advisory RUSTSEC-2024-0429:pkg:d2e88fc02f6be9987f66e6e8 applies

Minor caution · low confidence

This app includes a library version that has a known security advisory, but we don't have evidence that the vulnerable part can actually be triggered in this app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0429:pkg:d2e88fc02f6be9987f66e6e8 to a dependency declared by this repository.

Contextual assessment: OSV-Scanner matched advisory RUSTSEC-2024-0429 for crates.io package glib at version 0.18.5. The supplied evidence consists solely of the lock file presence; no runtime reachability, attacker-controlled input, or concrete data flow to the vulnerable code is demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Review the advisory (RUSTSEC-2024-0429) and determine if the vulnerable glib code is reachable from untrusted input. If reachable, update glib to a patched version or apply mitigations. Otherwise, consider accepting the risk or documenting the non-reachability.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0429:pkg:d2e88fc02f6be9987f66e6e8
File role
production
Source
src-tauri/Cargo.lock

zizmor reported unpinned-uses

Minor caution · medium confidence

The workflow references a commonly used tool by its major version number instead of a specific commit. While this is standard practice, it means if the tool's developers were hacked, a bad update could affect this project. The chance is very low.

Technical evidence

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

Contextual assessment: The workflow uses actions/setup-node@v4, a major version tag that can be moved by the action maintainer. This introduces supply-chain risk if an attacker compromises the maintainer and pushes malicious code under the same tag. However, the workflow only runs npm ci and build commands on pull_request events, and the action is widely audited. The risk is theoretical and not demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning actions to a commit SHA for stronger supply-chain security, but this is optional for low-risk workflows.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/lint-and-typecheck.yml:19

zizmor reported unpinned-uses

Minor caution · high confidence

The Node.js setup action is not pinned to a specific version, a minor security consideration.

Technical evidence

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

Contextual assessment: Uses actions/setup-node@v4, a mutable major-version tag. Pinning to a commit SHA is a best practice.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:90

Dependency advisory GHSA-35p6-xmwp-9g52:pkg:d8c1871761b9627fdd34c81b applies

Minor caution · medium confidence

A minor issue in the undici HTTP library is present, but the app does not appear to use it in a vulnerable way.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-35p6-xmwp-9g52:pkg:d8c1871761b9627fdd34c81b to a dependency declared by this repository.

Contextual assessment: undici 5.29.0 has a low-severity advisory about proxy-authorization not being cleared in cross-origin fetch. In a Tauri app, the native HTTP plugin is used, not undici directly. This may be a transitive dependency of an SDK. No exposure demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Review whether undici is actually used. If so, update to 5.29.1+.

Scanner
osv-scanner 2.4.0
Rule
GHSA-35p6-xmwp-9g52:pkg:d8c1871761b9627fdd34c81b
File role
production
Source
package-lock.json

Dependency advisory GHSA-8xcm-r25x-g524:pkg:cc5804616c4fb4e83e60068a applies

Minor caution · medium confidence

The undici library could be tricked into using HTTP, but all configured API endpoints use HTTPS.

Technical evidence

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

Contextual assessment: undici 5.29.0 has a medium-severity advisory about fetch using clear-text HTTP instead of HTTPS. The app likely uses HTTPS for all API calls. No evidence of exposure.

Impact: low · Exploitability: unlikely

Developer action: Update undici to a patched version, and ensure no code explicitly allows HTTP fallback.

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

Dependency advisory RUSTSEC-2026-0235:pkg:d039eb756756d5d8fe092ddd applies

Minor caution · low confidence

The app uses a version of a data serialization library that has a known vulnerability, but we can't tell if it can be exploited here.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2026-0235:pkg:d039eb756756d5d8fe092ddd to a dependency declared by this repository.

Contextual assessment: OSV-Scanner matched advisory RUSTSEC-2026-0235 for crates.io package rkyv at version 0.7.46. The supplied evidence is limited to the lock file entry; no runtime context, input paths, or exploitability are shown.

Impact: low · Exploitability: unlikely

Developer action: Investigate RUSTSEC-2026-0235 to assess reachability of vulnerable rkyv deserialization paths. If reachable, update to a fixed version or restrict untrusted data inputs.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2026-0235:pkg:d039eb756756d5d8fe092ddd
File role
production
Source
src-tauri/Cargo.lock

zizmor reported artipacked

Minor caution · low confidence

Build secrets are used in this job and could potentially be included in built files if not handled carefully, but no evidence of actual exposure is visible.

Technical evidence

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

Contextual assessment: Similar to the previous artipacked warning, this flags potential credential persistence in the `build-desktop` job. The `TAURI_SIGNING_PRIVATE_KEY` and `GITHUB_TOKEN` are set as environment variables in the `tauri-action` step (lines 68-69). The action may produce artifacts (binaries) that could theoretically include these if the build script mishandles them, but no upload step is shown in the supplied source. The scanner has low confidence.

Impact: low · Exploitability: unlikely

Developer action: Verify that the build action does not embed secrets into artifacts and that no later step uploads credentials.

Scanner
zizmor 1.28.0
Rule
artipacked
File role
tooling
Source
.github/workflows/release.yml:42-43

zizmor reported unpinned-uses

Minor caution · medium confidence

The upload-artifact action uses a version tag that could change. Even though it's an official GitHub action, it's safer to use a specific commit to prevent unexpected changes.

Technical evidence

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

Contextual assessment: The workflow references `actions/upload-artifact@v4` using a mutable tag. While this is an official GitHub action hosted by GitHub, the tag could still be reassigned if the repository is compromised. If malicious code were introduced, it could alter or exfiltrate uploaded artifacts. The risk is lower for official actions but not zero. No evidence of compromise exists.

Impact: medium · Exploitability: unlikely

Developer action: Pin `actions/upload-artifact` to an exact commit SHA instead of the `v4` tag.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:151

Dependency advisory RUSTSEC-2025-0100:pkg:bd8adf60c37242745cb633a0 applies

Minor caution · low confidence

A Unicode handling library version with a known issue is present, but we don't know if it's exploitable in this app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2025-0100:pkg:bd8adf60c37242745cb633a0 to a dependency declared by this repository.

Contextual assessment: OSV-Scanner matched advisory RUSTSEC-2025-0100 for crates.io package unic-ucd-ident at version 0.9.0. No evidence of how the package is used or whether attacker-controlled data reaches vulnerable functions.

Impact: low · Exploitability: unlikely

Developer action: Check RUSTSEC-2025-0100 for details. Evaluate whether untrusted input can leverage the vulnerability in unic-ucd-ident. Update if necessary.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2025-0100:pkg:bd8adf60c37242745cb633a0
File role
production
Source
src-tauri/Cargo.lock

Dependency advisory RUSTSEC-2024-0418:pkg:b245323ca01b322dae07bf9b applies

Minor caution · low confidence

A low-level GTK system binding has a known advisory, but the app's use of it is not shown to be exploitable.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0418:pkg:b245323ca01b322dae07bf9b to a dependency declared by this repository.

Contextual assessment: OSV-Scanner matched advisory RUSTSEC-2024-0418 for crates.io package gdk-sys at version 0.18.2. The lock file entry is the only evidence; no runtime reachability or attack surface is provided.

Impact: low · Exploitability: unlikely

Developer action: Review RUSTSEC-2024-0418. Determine if the vulnerable gdk-sys functionality is invoked with untrusted data. Update or mitigate as needed.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0418:pkg:b245323ca01b322dae07bf9b
File role
production
Source
src-tauri/Cargo.lock

Dependency advisory RUSTSEC-2024-0420:pkg:d1377594ef97b5997d1bd6e4 applies

Minor caution · low confidence

The app includes a GTK system binding with a known vulnerability, but we can't confirm it's a real risk here.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0420:pkg:d1377594ef97b5997d1bd6e4 to a dependency declared by this repository.

Contextual assessment: OSV-Scanner matched advisory RUSTSEC-2024-0420 for crates.io package gtk-sys at version 0.18.2. Only the lock file presence is supplied; no context of actual usage or attacker control.

Impact: low · Exploitability: unlikely

Developer action: Investigate RUSTSEC-2024-0420 to see if the vulnerable code path is reachable. If so, update gtk-sys to a patched version.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0420:pkg:d1377594ef97b5997d1bd6e4
File role
production
Source
src-tauri/Cargo.lock

Dependency advisory RUSTSEC-2024-0415:pkg:7feb02dbce543e0572f8f169 applies

Minor caution · low confidence

A GTK library version with a known security issue is present, but there's no demonstration that it can be exploited in this app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0415:pkg:7feb02dbce543e0572f8f169 to a dependency declared by this repository.

Contextual assessment: OSV-Scanner matched advisory RUSTSEC-2024-0415 for crates.io package gtk at version 0.18.2. Evidence is limited to the lock file; no data flow or reachability analysis is available.

Impact: low · Exploitability: unlikely

Developer action: Examine RUSTSEC-2024-0415. Assess whether untrusted input can reach the vulnerable gtk code. Update the dependency if the vulnerability is actionable.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0415:pkg:7feb02dbce543e0572f8f169
File role
production
Source
src-tauri/Cargo.lock

Dependency advisory RUSTSEC-2025-0075:pkg:3e15a087e2f1d00bbc8d944a applies

Minor caution · low confidence

A Unicode character range library version has a known vulnerability, but we lack evidence that it's exploitable in this app.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2025-0075:pkg:3e15a087e2f1d00bbc8d944a to a dependency declared by this repository.

Contextual assessment: OSV-Scanner matched advisory RUSTSEC-2025-0075 for crates.io package unic-char-range at version 0.9.0. The supplied evidence does not show how this crate is used or whether attacker input can trigger the vulnerability.

Impact: low · Exploitability: unlikely

Developer action: Review RUSTSEC-2025-0075. Determine if the vulnerable code in unic-char-range is reachable from untrusted data. Update if necessary.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2025-0075:pkg:3e15a087e2f1d00bbc8d944a
File role
production
Source
src-tauri/Cargo.lock

Dependency advisory RUSTSEC-2025-0098:pkg:bc6e2fc910a7ca702c31e56a applies

Minor caution · low confidence

A Unicode version library with a known advisory is included, but we cannot confirm it poses a real risk here.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2025-0098:pkg:bc6e2fc910a7ca702c31e56a to a dependency declared by this repository.

Contextual assessment: OSV-Scanner matched advisory RUSTSEC-2025-0098 for crates.io package unic-ucd-version at version 0.9.0. Only the lock file entry is provided; no evidence of runtime reachability or attacker-controlled inputs.

Impact: low · Exploitability: unlikely

Developer action: Review RUSTSEC-2025-0098. Analyze if the vulnerability in unic-ucd-version can be triggered by untrusted input. Update the dependency if the vulnerable code is reachable.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2025-0098:pkg:bc6e2fc910a7ca702c31e56a
File role
production
Source
src-tauri/Cargo.lock

zizmor reported unpinned-uses

Minor caution · medium confidence

The checkout action is also pinned by major version, not a specific commit. Same low risk as the setup-node step.

Technical evidence

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

Contextual assessment: The workflow uses actions/checkout@v4, a major version tag that is mutable. This is a supply-chain risk similar to actions/setup-node. The risk is not demonstrated and low for this context.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning this action to a commit SHA as well.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/lint-and-typecheck.yml:16

zizmor reported unpinned-uses

Minor caution · medium confidence

A common GitHub action is pinned to a version number rather than a specific commit, which is a minor security hygiene issue.

Technical evidence

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

Contextual assessment: The workflow uses `actions/setup-node@v4` at line 46 in the `build-android` job with a major-version tag. Same reasoning as candidate 378387582272a07c4b2b793597850e555682dcba43ca309e4eed530a11c299bf: the version tag is floating, allowing silent updates.

Impact: low · Exploitability: unlikely

Developer action: Pin the action to a commit hash for immutability.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:46

Dependency advisory RUSTSEC-2024-0416:pkg:c8c328b18837aef0f997eeec applies

Minor caution · medium confidence

The project uses a behind-the-scenes library (atk-sys) that has a known bug. It's buried deep in the dependencies and hard for attackers to reach, so the risk is low.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0416:pkg:c8c328b18837aef0f997eeec to a dependency declared by this repository.

Contextual assessment: The Cargo.lock includes atk-sys@0.18.2, which is flagged by OSV-Scanner under RUSTSEC-2024-0416. atk-sys is a low-level FFI binding for the ATK accessibility toolkit. It is a transitive dependency of gtk3-sys (used by Tauri's WebKitGTK backend on Linux). The advisory likely concerns a memory-safety issue in the C library. However, the application does not directly call atk-sys functions, and there is no evidence that an attacker-controlled input can reach the vulnerable code path. The vulnerability is not demonstrated as exploitable in this project's context.

Impact: low · Exploitability: unlikely

Developer action: Review the advisory RUSTSEC-2024-0416. If a patched version of the atk-sys (or its parent gtk) crate is available, consider updating the dependency tree. Otherwise, monitor for security patches and plan an update when feasible.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0416:pkg:c8c328b18837aef0f997eeec
File role
production
Source
src-tauri/Cargo.lock

zizmor reported unpinned-uses

Minor caution · high confidence

The Node.js setup action is referenced by major version, which could be changed by the action maintainer. Using a specific commit hash is more secure.

Technical evidence

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

Contextual assessment: The action 'actions/setup-node@v4' uses a mutable major-version tag. Standard but not fully pinned.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning actions/setup-node to a commit SHA.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:95

zizmor reported unpinned-uses

Minor caution · medium confidence

The Rust toolchain installer is pinned to a 'stable' tag, which could be changed by the maintainer. Pinning to a specific version or commit is safer.

Technical evidence

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

Contextual assessment: The workflow uses `dtolnay/rust-toolchain@stable` at line 52. The `@stable` tag is floating and could be updated without notice. This action installs Rust toolchains and is widely used, but pinning to a specific release commit would prevent unexpected changes.

Impact: low · Exploitability: unlikely

Developer action: Review the cited evidence and confirm the intended behavior.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:52

Dependency advisory GHSA-p8p7-x288-28g6:pkg:e8e7ad0090121b0f387eaa27 applies

Minor caution · medium confidence

A known server-side request forgery bug exists in the request library, but your app doesn't take URLs from users.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-p8p7-x288-28g6:pkg:e8e7ad0090121b0f387eaa27 to a dependency declared by this repository.

Contextual assessment: request 2.88.2 has a medium-severity SSRF advisory. The app uses request only indirectly through outdated transitive dependencies. All outbound requests appear to be to pre-configured AI API endpoints, not user-supplied URLs. No exposure demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Remove the deprecated request package entirely by modernizing the HTTP stack. This will also remove several other vulnerable transitive dependencies.

Scanner
osv-scanner 2.4.0
Rule
GHSA-p8p7-x288-28g6:pkg:e8e7ad0090121b0f387eaa27
File role
production
Source
package-lock.json

Dependency advisory GHSA-p88m-4jfj-68fv:pkg:0aa6e836b145749eb5c5bae2 applies

Minor caution · low confidence

The app includes an older version of a networking library (undici) that has a known security issue. However, there is no proof that an attacker could actually use that security issue in this app, because we don't know if the vulnerable code runs when the app is used normally.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-p88m-4jfj-68fv:pkg:0aa6e836b145749eb5c5bae2 to a dependency declared by this repository.

Contextual assessment: Package undici at resolved version 5.29.0 is listed in file as a transitive dependency, likely via the Vercel AI SDK. The advisory GHSA-p88m-4jfj-68fv describes a vulnerability, but the supplied evidence contains no runtime reachability analysis, no attacker-controlled input path reaching undici, and no concrete activation scenario. The application is a desktop/mobile interactive fiction tool that makes HTTP requests to user-configured AI provider endpoints. Without evidence that an attacker can control the provider response or that the vulnerable code path is exercised, the exposure is not demonstrated.

Impact: medium · Exploitability: unlikely

Developer action: Update undici to version 5.29.1 or later to resolve the advisory. Verify that the update does not break HTTP communication with AI providers through the dependency tree.

Scanner
osv-scanner 2.4.0
Rule
GHSA-p88m-4jfj-68fv:pkg:0aa6e836b145749eb5c5bae2
File role
production
Source
package-lock.json

Dependency advisory GHSA-4992-7rv2-5pvq:pkg:787189633d8ba93446193680 applies

Minor caution · low confidence

A different security issue in the same old networking library (undici) is present, but we again lack evidence that an attacker can exploit it in this app specifically.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-4992-7rv2-5pvq:pkg:787189633d8ba93446193680 to a dependency declared by this repository.

Contextual assessment: Package undici at resolved version 5.29.0 is listed in file as a transitive dependency. Advisory GHSA-4992-7rv2-5pvq is associated with this version, but the provided evidence does not include a demonstrated path where an attacker-controlled input reaches the vulnerable code. The project's HTTP requests are to AI provider APIs; a malicious provider or man-in-the-middle could theoretically trigger the flaw, but no concrete activation is shown in the evidence. Exposure is not demonstrated.

Impact: medium · Exploitability: unlikely

Developer action: Update undici to the latest patched version. Confirm compatibility with the AI SDK dependencies after the update.

Scanner
osv-scanner 2.4.0
Rule
GHSA-4992-7rv2-5pvq:pkg:787189633d8ba93446193680
File role
production
Source
package-lock.json

Dependency advisory RUSTSEC-2024-0419:pkg:694df782baf029578982f056 applies

Minor caution · medium confidence

This project uses a macro helper library (gtk3-macros) that has a reported issue. Since it only runs during compilation, the actual app is not affected.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0419:pkg:694df782baf029578982f056 to a dependency declared by this repository.

Contextual assessment: The Cargo.lock includes gtk3-macros@0.18.2, flagged by OSV-Scanner under RUSTSEC-2024-0419. This crate provides procedural macros for the gtk3-rs bindings. It is a build-time dependency and is not present at runtime. Even if the advisory describes a vulnerability in the macro output, there is no demonstrated attacker-controlled input that triggers the issue. The risk exposure is not demonstrated.

Impact: low · Exploitability: unlikely

Developer action: Review RUSTSEC-2024-0419. Update the gtk3 crate version if a patched release of the macros is included. No immediate action required.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0419:pkg:694df782baf029578982f056
File role
production
Source
src-tauri/Cargo.lock

Dependency advisory RUSTSEC-2024-0412:pkg:4216c3e2f95d873b67813c23 applies

Minor caution · medium confidence

The app relies on a graphics library (gdk) that has a known flaw. It's part of the system's display toolkit and not directly used by the app's code, so the risk is minimal.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0412:pkg:4216c3e2f95d873b67813c23 to a dependency declared by this repository.

Contextual assessment: The Cargo.lock includes gdk@0.18.2, flagged by OSV-Scanner under RUSTSEC-2024-0412. gdk is the Rust binding for GDK (GIMP Drawing Kit), a low-level graphics library used by GTK. It is a transitive dependency of gtk3-sys, used by Tauri's WebView on Linux. The advisory likely describes a C-level issue. There is no evidence that the application directly uses GDK, that an attacker can control input reaching the vulnerable code, or that the vulnerability is exploitable in this context.

Impact: low · Exploitability: unlikely

Developer action: Review RUSTSEC-2024-0412. Update the gtk3 crate when a patched version is available. Monitor for upstream fixes.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0412:pkg:4216c3e2f95d873b67813c23
File role
production
Source
src-tauri/Cargo.lock

Dependency advisory GHSA-v9p9-hfj2-hcw8:pkg:272b59ddefffdd1746f88817 applies

Minor caution · low confidence

This is the most serious of the undici issues found—a high-severity flaw—but again we cannot confirm that it actually affects this app in practice.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-v9p9-hfj2-hcw8:pkg:272b59ddefffdd1746f88817 to a dependency declared by this repository.

Contextual assessment: Advisory GHSA-v9p9-hfj2-hcw8 (high severity) applies to undici 5.29.0. The evidence confirms the version in file but does not demonstrate runtime reachability or an attacker-controlled trigger. The application primarily communicates with AI provider servers over HTTPS; uncontrolled network conditions could expose the client but no concrete path is shown. Exposure is not demonstrated.

Impact: high · Exploitability: unlikely

Developer action: Review the cited evidence and confirm the intended behavior.

Scanner
osv-scanner 2.4.0
Rule
GHSA-v9p9-hfj2-hcw8:pkg:272b59ddefffdd1746f88817
File role
production
Source
package-lock.json

zizmor reported unpinned-uses

Minor caution · high confidence

The Rust cache action is pinned to 'v2', which could change in the future. Using a specific commit hash would be more secure.

Technical evidence

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

Contextual assessment: Line 53 uses `swatinem/rust-cache@v2` with a mutable major-version tag. While this is a widely-used caching action, an unpinned reference could theoretically be hijacked. No evidence of compromise.

Impact: low · Exploitability: plausible

Developer action: Pin `swatinem/rust-cache` to a specific commit SHA (e.g., `swatinem/rust-cache@82a5f2dc4f32a67b14cb6e2ed2e76581d77c07dd`).

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:53

zizmor reported unpinned-uses

Minor caution · high confidence

The Java setup action is referenced by major version. Pinning to a specific commit would make the build more predictable.

Technical evidence

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

Contextual assessment: The action 'actions/setup-java@v4' uses a mutable major-version tag. Standard but not fully pinned.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning actions/setup-java to a commit SHA.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:107

zizmor reported unpinned-uses

Minor caution · low confidence

The release action is not pinned to a fixed version. If it gets hacked, attackers could alter the release or steal secrets. No attack has happened, but locking the version prevents this risk.

Technical evidence

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

Contextual assessment: The workflow references `softprops/action-gh-release@v1` using a mutable tag. This third-party action has access to `GITHUB_TOKEN` and release files. If its repository were compromised, an attacker could modify releases or exfiltrate secrets. The action is compatible with the project's release process, but pinning to a commit SHA is a recommended supply-chain hardening practice. No exploitation is demonstrated.

Impact: medium · Exploitability: plausible

Developer action: Pin `softprops/action-gh-release` to an exact commit SHA instead of the `v1` tag.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:157

zizmor reported unpinned-uses

Minor caution · high confidence

The Android NDK setup action is not pinned to a fixed version, a minor supply chain risk.

Technical evidence

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

Contextual assessment: Uses nttld/setup-ndk@v1, a mutable major-version tag. Pinning to a commit SHA would eliminate the risk of unintentional updates from the action repository.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:111

Dependency advisory GHSA-g9mf-h72j-4rw9:pkg:2ae61459d96677abe6b160ba applies

Minor caution · low confidence

A fourth undici advisory is flagged in the app's dependency list. However, as with the others, we have no proof that it can be exploited here.

Technical evidence

Scanner reason: OSV-Scanner matched advisory GHSA-g9mf-h72j-4rw9:pkg:2ae61459d96677abe6b160ba to a dependency declared by this repository.

Contextual assessment: Advisory GHSA-g9mf-h72j-4rw9 relates to undici 5.29.0. The dependency is present but the evidence does not include any demonstration that an attacker can deliver input to the vulnerable function. Without a concrete untrusted-input path, the exposure remains not demonstrated. The application's reliance on user-chosen AI provider URLs could in theory enable an attack, but no such configuration or data flow is shown in the supplied context.

Impact: medium · Exploitability: unlikely

Developer action: Update undici to the latest stable version. Consider using npm audit or a lockfile refresh to ensure no other vulnerable transitive dependencies remain.

Scanner
osv-scanner 2.4.0
Rule
GHSA-g9mf-h72j-4rw9:pkg:2ae61459d96677abe6b160ba
File role
production
Source
package-lock.json

zizmor reported unpinned-uses

Minor caution · high confidence

The Rust toolchain action uses a branch name that always points to the latest stable version. This could change without warning. Pinning to a specific version would ensure consistent builds.

Technical evidence

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

Contextual assessment: The action 'dtolnay/rust-toolchain@stable' uses a mutable branch name ('stable') instead of a version tag or commit SHA. This could change the Rust toolchain version unexpectedly. While intended to track latest stable, it reduces reproducibility.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning dtolnay/rust-toolchain to a specific version tag (e.g., @1.80) or a commit SHA.

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:102

Dependency advisory RUSTSEC-2024-0417:pkg:38b1a8e2b331be3a60dc921d applies

Minor caution · medium confidence

The app uses a library (gdkx11) for Linux windowing that has a known bug. Since the bug is in the underlying system library and not easily triggered from the app, the danger is low.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0417:pkg:38b1a8e2b331be3a60dc921d to a dependency declared by this repository.

Contextual assessment: The Cargo.lock includes gdkx11@0.18.2, flagged by OSV-Scanner under RUSTSEC-2024-0417. gdkx11 is the X11 backend for the GDK Rust bindings. It is used when the application runs on Linux with the X11 display server. The advisory likely relates to a C-level vulnerability. There is no evidence that the application exposes the vulnerable code path to attacker-controlled input, or that the vulnerability is reachable in this project's use case.

Impact: low · Exploitability: unlikely

Developer action: Review RUSTSEC-2024-0417. Update the gtk3/gdk3 crate when a patched version is available. Monitor for upstream fixes.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0417:pkg:38b1a8e2b331be3a60dc921d
File role
production
Source
src-tauri/Cargo.lock
Expected scanner matches (15)

zizmor reported cache-poisoning

Expected behavior · low confidence

This is a standard npm cache setup with no demonstrated way for an outsider to poison it.

Technical evidence

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

Contextual assessment: The cache-poisoning candidate flags the actions/setup-node cache parameter. The cache is keyed by the lock file hash; poisoning requires attacker control of the repository's lock file, which is a separate compromise. The scanner confidence is low and no untrusted input influences the cache key.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
cache-poisoning
File role
tooling
Source
.github/workflows/ci.yml:95

zizmor reported cache-poisoning

Expected behavior · low confidence

This workflow caches npm dependencies after installing Node.js. The cache key is based on your lock file, so an attacker can't easily poison it. The scanner flagged a potential risk, but it's not actually exploitable here.

Technical evidence

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

Contextual assessment: The cache poisoning alert at line 42 refers to `actions/setup-node@v4` with `cache: 'npm'`. The cache key is derived from the lock file and not directly from attacker-controllable inputs in this trigger (tag push or workflow_dispatch). The zizmor confidence was low and no concrete exploit path is demonstrated in the supplied evidence.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
cache-poisoning
File role
tooling
Source
.github/workflows/ci.yml:42

Dependency advisory RUSTSEC-2024-0370:pkg:9b268f40461da81c7a1c55ed applies

Expected behavior · high confidence

This is a tool used only when building the app. It has a known bug, but since it's not part of the running program, it cannot be used to attack users.

Technical evidence

Scanner reason: OSV-Scanner matched advisory RUSTSEC-2024-0370:pkg:9b268f40461da81c7a1c55ed to a dependency declared by this repository.

Contextual assessment: proc-macro-error version 1.0.4 is a build-time dependency used only during compilation for proc macro error reporting. It is not linked into the final binary and therefore has no runtime attack surface. The advisory (RUSTSEC-2024-0370) concerns a soundness issue that could affect code generation, but this does not affect users of the application. This is a normal pattern for Rust projects; the vulnerability cannot be exploited at runtime.

Impact: none · Exploitability: unlikely

Developer action: Update proc-macro-error to a patched version (2.0.0 or later) as a general hygiene measure. This is a build-time only dependency and does not affect runtime security.

Scanner
osv-scanner 2.4.0
Rule
RUSTSEC-2024-0370:pkg:9b268f40461da81c7a1c55ed
File role
production
Source
src-tauri/Cargo.lock

zizmor reported artipacked

Expected behavior · low confidence

This alert worried about secrets leaking through build artifacts. The checkout action doesn't upload anything, and the steps that create releases use secrets only during the build, not storing them in the final files. It's fine.

Technical evidence

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

Contextual assessment: The artipacked alert at lines 38-39 refers to `actions/checkout@v4`, which checks out the repository but does not upload artifacts. The subsequent tauri-action step creates release artifacts, but credentials (GITHUB_TOKEN, signing keys) are used only at runtime and are not persisted into the output artifacts. No evidence of credential leakage is present.

Impact: low · Exploitability: unlikely

Developer action: none

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

JavaScript analysis reported javascript.xray.shady-link

Expected behavior · high confidence

The scanner flagged a line in a test file that contains a GitHub URL for the project's own repository. This is just a test example, not a real security 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 case within a unit test file (file) that provides a string 'ssh://git@github.com/AventurasTeam/Aventuras.git' as input to the githubRepoPath function. This URL refers to the project's own legitimate GitHub repository and is used to verify correct extraction of the owner/repo path from various git remote URL formats. No network request, data exfiltration, or malicious behavior occurs; the string is a static 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
test
Source
scripts/remote.test.js:10

zizmor reported superfluous-actions

Expected behavior · high confidence

Using a community action for creating releases is fine even though GitHub's own tools could do it. No security risk.

Technical evidence

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

Contextual assessment: The use of `softprops/action-gh-release@v1` is flagged as superfluous because the GitHub Actions runner includes the `gh` CLI, which can create releases natively. However, using the action is a common, non-malicious convenience that does not introduce a security exposure. The action's functionality aligns with the project's release workflow and does not execute untrusted code beyond its designed purpose.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
superfluous-actions
File role
tooling
Source
.github/workflows/ci.yml:157

zizmor reported excessive-permissions

Expected behavior · high confidence

The workflow needs write permission to create releases and upload files, which is expected for a release workflow.

Technical evidence

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

Contextual assessment: The workflow sets `permissions: contents: write` at the top level. This is necessary for the `tauri-action` to create GitHub releases and upload assets. The `GITHUB_TOKEN` is scoped to the repository and limited by GitHub's OAuth scoping. No excessive permissions beyond what is required for release creation are present in the supplied evidence.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
excessive-permissions
File role
tooling
Source
.github/workflows/release.yml:18

zizmor reported artipacked

Expected behavior · low confidence

The Android APK is signed during the build and then uploaded. The signing keys are not stored in the APK, so no credentials are leaked.

Technical evidence

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

Contextual assessment: The artipacked candidate flags credential persistence through artifacts. The workflow signs an APK using secrets and then uploads the signed APK as an artifact. The secrets are not embedded in the artifact; they are used only at build time. The scanner confidence is low and there is no demonstrated exposure.

Impact: none · Exploitability: unlikely

Developer action: none

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

zizmor reported cache-poisoning

Expected behavior · low confidence

Rust caching is standard in CI. The cache key depends on your lock file, so an attacker can't easily corrupt it. The alert is a theoretical concern, not a real issue here.

Technical evidence

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

Contextual assessment: The cache poisoning alert at line 53 refers to `swatinem/rust-cache@v2`. The cache key is derived from the Cargo.lock and workspace configuration, not from untrusted user input. The zizmor confidence was low and no demonstrable attack vector is shown.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
cache-poisoning
File role
tooling
Source
.github/workflows/ci.yml:53

zizmor reported artipacked

Expected behavior · high confidence

A security scanner warned about possible credential theft, but this workflow doesn't create any files that could store credentials. The warning is a false alarm.

Technical evidence

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

Contextual assessment: The zizmor scanner flagged a potential credential persistence through artifacts, but the workflow does not use the upload-artifact action or any artifact operations. The Checkout step only retrieves source code. No credentials are written to artifacts. The scanner confidence was low, and the finding is a false positive given the actual workflow content.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
artipacked
File role
tooling
Source
.github/workflows/lint-and-typecheck.yml:15-16

JavaScript analysis reported javascript.xray.serialize-environment

Expected behavior · high confidence

This code reads a setting called TAURI_DEV_HOST from the computer's environment, which is a normal and expected way for a Tauri app to know what network address to use during development. It is not a secret or a password, and it is not sent anywhere it shouldn't be.

Technical evidence

Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.serialize-environment in this repository.

Contextual assessment: Line 5 reads the TAURI_DEV_HOST environment variable, which is a standard Tauri configuration variable used to set the Vite dev server host address in a Tauri project. The value is used locally within the server block (lines 19-23) to configure host and HMR settings. There is no serialization, transmission, or persistence of this value to any external destination. The scanner rule matches because it detects any environment variable read, but the variable name and usage pattern are entirely consistent with normal Tauri+Vite development workflow and do not involve credentials or exfiltration.

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
tooling
Source
vite.config.js:5

JavaScript analysis reported javascript.xray.unsafe-regex

Expected behavior · high confidence

This is a harmless version-checking pattern in a development script. It is not exposed to any outside user and cannot be exploited for an attack.

Technical evidence

Scanner reason: JavaScript analysis matched static JavaScript security signal javascript.xray.unsafe-regex in this repository.

Contextual assessment: The regex /^(\d+)\.(\d+)\.(\d+)(?:-pre\.(\d+))?$/ is a straightforward pattern with no nested quantifiers, backreferences, or lookaround that could cause catastrophic backtracking. It is used solely in a development tooling script (version.js) for parsing version strings during release or CI operations. No untrusted user input reaches this regex; the only callers are internal functions (isValidVersion, parseVersion) that receive input controlled by the developer or release workflow. The scanner signal (unsafe-regex) does not apply to this safe pattern in this context.

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.unsafe-regex
File role
tooling
Source
scripts/version.js:14

zizmor reported excessive-permissions

Expected behavior · high confidence

The workflow needs permission to create releases and upload files. Giving write access to repository contents is exactly what's required here. It's not too broad.

Technical evidence

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

Contextual assessment: Line 13 sets `permissions: contents: write`. This is necessary for the tauri-action step to create a release, upload assets, and push tags. The scope is appropriately minimal for a release workflow that needs to write to contents. No excessive access is demonstrated.

Impact: low · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
excessive-permissions
File role
tooling
Source
.github/workflows/ci.yml:13

zizmor reported excessive-permissions

Expected behavior · high confidence

The workflow uses default permissions, which are already restricted on pull requests. No token is used, so there's no risk of excessive privilege.

Technical evidence

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

Contextual assessment: The workflow does not specify explicit permissions, which zizmor flagged as excessive. However, the default permissions for pull_request events are read-only for the GITHUB_TOKEN. The workflow does not use the token or any sensitive operations. Adding explicit 'contents: read' would be a best practice but the current configuration is safe.

Impact: none · Exploitability: unlikely

Developer action: Optionally add explicit permissions block to clarify, but not required.

Scanner
zizmor 1.28.0
Rule
excessive-permissions
File role
tooling
Source
.github/workflows/lint-and-typecheck.yml:12-35

zizmor reported superfluous-actions

Expected behavior · high confidence

The scanner suggests the action is unnecessary because GitHub's own tools could do the same job, but using the action is simpler and perfectly fine. There is no security concern here.

Technical evidence

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

Contextual assessment: The zizmor rule 'superfluous-actions' flags the use of 'softprops/action-gh-release' as functionality already provided by the GitHub runner's 'gh' CLI. However, the action provides a convenient declarative interface for uploading release assets and is widely used. The workflow's use of this action is a standard, safe practice and does not introduce additional risk. The runner's built-in capabilities would require more complex scripting for the same result.

Impact: none · Exploitability: unlikely

Developer action: none

Scanner
zizmor 1.28.0
Rule
superfluous-actions
File role
tooling
Source
.github/workflows/release.yml:152

Related contextual observations

Multiple unpinned GitHub Action references

low risk · high confidence

Several steps in the automation pipeline use version numbers that could be changed later. Using exact commit IDs would prevent unexpected changes from the action maintainers.

Technical assessment

The CI workflow contains six references to third-party GitHub Actions using mutable version specifiers (major-version tags or branch names) instead of immutable commit SHAs. While this is common practice, an attacker who compromises any of these actions' version tags could inject malicious code into the build pipeline. No evidence of such compromise exists.

Impact: low · Exploitability: unlikely

Developer action: Consider auditing each action reference and pinning to a commit SHA where possible, especially for actions that handle secrets or produce release artifacts.

Sources:

Unpinned GitHub Actions

low risk · medium confidence

Two steps in the workflow use generic version tags instead of specific snapshots. This is common but could be safer by locking to exact code.

Technical assessment

Both actions/checkout and actions/setup-node are referenced using major version tags. While convenient, this practice allows the action maintainer to change the underlying code without notice. For a workflow that only runs on pull request and does not deploy or access secrets, the risk is low, but pinning to a SHA would eliminate this supply-chain vector.

Impact: low · Exploitability: unlikely

Developer action: Pin both actions to a commit SHA after verifying the current versions.

Sources:

Multiple unpinned action references across workflow

low risk · medium confidence

Several steps in the workflow use version tags like 'v4' or 'stable' instead of specific commit IDs, which is a common but avoidable security practice.

Technical assessment

The workflow contains four instances of actions referenced by major-version or floating tags instead of commit SHAs. While none of the actions are known to be malicious, this practice reduces the ability to audit changes and could expose the workflow to unintended updates. The risk is mitigated by the locked trigger conditions (tags and manual dispatch) and the use of widely trusted actions.

Impact: low · Exploitability: unlikely

Developer action: Pin all external actions to commit SHAs after reviewing the action source, or use a tool like Dependabot to manage updates.

Sources:

Artifact credential persistence warnings with low confidence

low risk · low confidence

Automated checks warned that build secrets might be packed into output files, but the visible workflow steps do not show any such leakage.

Technical assessment

Two zizmor 'artipacked' warnings flag potential credential persistence through GitHub Actions artifacts. The warnings have low confidence and rely on heuristics; the supplied source does not show any artifact upload step that would expose secrets. The secrets (`TAURI_SIGNING_PRIVATE_KEY`, `GITHUB_TOKEN`, `ANDROID_KEYSTORE_BASE64`) are used in build steps, but no evidence demonstrates that they leak into downloadable artifacts.

Impact: low · Exploitability: unlikely

Developer action: Review the full workflow and the build action's behavior to ensure secrets are not included in artifacts. Consider using GitHub Actions secrets masking and scoped tokens.

Sources:

Multiple known vulnerabilities in undici dependency

low risk · medium confidence

The app uses a library called undici that has several known security issues. Without proof that an attacker can actually use them in the app, the risk is low but should be fixed with a routine update.

Technical assessment

The file shows undici at version 5.29.0, which is flagged by six distinct advisories (one low, three medium, two high). All share the same root cause: the version is out of date. Without runtime reachability analysis, none are confirmed exploitable in this application context. Updating to the latest patched version would resolve all simultaneously.

Impact: low · Exploitability: unlikely

Developer action: Update undici to the latest patched version (5.29.0+ or 7.x) to resolve all known advisories.

Sources:

Deprecated transitive dependency request pulled in multiple vulnerabilities

low risk · high confidence

Old software libraries are causing several security warnings. The best fix is to replace the outdated library with a newer one that doesn't have these problems.

Technical assessment

The file contains the deprecated request package as a transitive dependency, which brings in vulnerable versions of form-data (2.3.3) and qs (6.5.5). Upgrading to a modern HTTP library like the built-in Tauri HTTP plugin or the fetch API would eliminate all these vulnerabilities at once.

Impact: low · Exploitability: unlikely

Developer action: Replace the deprecated request dependency with a modern HTTP client. Audit the dependency tree to ensure no code path still uses request.

Sources:

Coverage and limitations

JavaScript coverage

Unresolved JavaScript stages

Tools

Limitations

Technical scan identity