TavernKeeper Scan Report

N0819/Sonder_Engine

Commit b2cd5ec Reviewed

No material or immediate-danger concern was identified in this review.

This advisory report describes what the named tools and contextual reviewer found at one exact commit. Unknown or unobserved behavior may still exist.

0 immediate danger 0 material 10 low

What this review found

No material or immediate-danger item was identified.

Minor cautions

zizmor reported unpinned-uses

Minor caution · medium confidence

This CI step uses a generic version tag for a commonly used GitHub action. While not the safest practice, the actual risk here is very low because the action is from a trusted source and no secrets are exposed.

Technical evidence

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

Contextual assessment: The workflow uses 'actions/checkout@v4' (major version tag) instead of a fixed commit SHA. A major-version tag can be silently retargeted to a different commit, introducing supply-chain risk. However, the action is widely maintained by GitHub, the repository's permissions are minimal (contents: read), and no credentials are passed to the step, making actual exploitation highly unlikely in this context.

Impact: low · Exploitability: unlikely

Developer action: Pin actions/checkout to a specific commit SHA (e.g., actions/checkout@b4fde7a) to prevent unexpected supply-chain changes.

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

zizmor reported unpinned-uses

Minor caution · medium confidence

This step uses a version tag for a checkout action. Pinning to a specific commit would be more secure, but the current risk is very small.

Technical evidence

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

Contextual assessment: The 'pydantic1' job uses 'actions/checkout@v4' without pinning to a specific commit SHA. As with the first candidate, this exposes the workflow to supply-chain tampering if the v4 tag is moved, but the practical risk is low given the trusted origin of the action, the read-only permissions, and the absence of secret usage.

Impact: low · Exploitability: unlikely

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

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

zizmor reported unpinned-uses

Minor caution · medium confidence

Using a generic version tag for the Python setup action is slightly less secure than pinning to a specific version, but the risk is very low for this project.

Technical evidence

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

Contextual assessment: The 'fast' job uses 'actions/setup-python@v5' with a major-version tag instead of a fixed commit SHA. This is a common but imperfect practice; however, the action is officially maintained by GitHub Actions, and the workflow has minimal permissions and no secrets, so the practical risk is low.

Impact: low · Exploitability: unlikely

Developer action: Pin actions/setup-python to a specific commit SHA (e.g., actions/setup-python@0b93645).

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

zizmor reported unpinned-uses

Minor caution · medium confidence

The Python setup action is not pinned to a specific commit. While not ideal, the danger is minimal given the trusted nature of the action.

Technical evidence

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

Contextual assessment: The 'pydantic1' job uses 'actions/setup-python@v5' without a commit SHA pin. The same supply-chain risk applies as with other unpinned actions, but the action is from a trusted source and the job environment is sandboxed with read-only permissions.

Impact: low · Exploitability: unlikely

Developer action: Pin actions/setup-python to a specific commit SHA (e.g., actions/setup-python@0b93645).

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

zizmor reported unpinned-uses

Minor caution · medium confidence

The CI file uses a version tag like `v5` instead of a specific commit hash for a GitHub Action. This means that if someone maliciously updates that tag, the CI could run their code instead. But the action is from GitHub's own library, and the CI only runs tests, so the risk is very low. Still, it's better to pin to a specific hash.

Technical evidence

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

Contextual assessment: The GitHub Actions workflow references `actions/setup-python@v5` using a mutable major-version tag instead of a pinned commit SHA. This makes the CI pipeline susceptible to supply-chain attacks if the tag is reassigned to a malicious version. However, the action is from the official `actions` organization, a trusted first-party provider, and the workflow runs only in CI for testing and linting, not in production or with access to sensitive secrets. No evidence of actual compromise or exploitability is present.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning the action to an immutable commit SHA, e.g., `actions/setup-python@0b93645e9fea7312d2d63c2e7d3fc2e1c4f0e4b0` (the SHA for v5.5.0), and use Dependabot or Renovate to automate updates.

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

zizmor reported unpinned-uses

Minor caution · medium confidence

The checkout action in the browser test job is not pinned to a specific commit. This is a minor best-practice issue with very low actual risk.

Technical evidence

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

Contextual assessment: The 'browser' job uses 'actions/checkout@v4' with a major-version tag instead of a commit SHA. As with the other checkout uses, the risk is low because the action is from a trusted source, permissions are minimal, and no secrets are involved.

Impact: low · Exploitability: unlikely

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

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/ci.yml:87
Expected scanner matches (4)

zizmor reported artipacked

Expected behavior · low confidence

This alert warns about credentials leaking through build artifacts, but this CI job does not create or upload any artifacts, so there is no real risk.

Technical evidence

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

Contextual assessment: The zizmor artipacked rule flags potential credential persistence through GitHub Actions artifacts, but this workflow does not upload any artifacts at line 24 or elsewhere. The step at line 24 is a simple checkout with no artifact-upload step, and the job does not define any artifact-upload actions. The scanner confidence is low, and the alert is a false positive.

Impact: none · Exploitability: unlikely

Developer action: none

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

zizmor reported artipacked

Expected behavior · low confidence

This alert about credential persistence through artifacts is a false positive because no artifacts are created or uploaded.

Technical evidence

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

Contextual assessment: The artipacked alert at line 56 is not applicable because the job does not use any artifact-upload actions. The step at line 56 is 'actions/checkout@v4', which does not produce artifacts. No credentials could persist through artifacts in this workflow.

Impact: none · Exploitability: unlikely

Developer action: none

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

JavaScript analysis reported javascript.xray.obfuscated-code

Expected behavior · high confidence

A security scanner flagged a line in the JavaScript file as potentially hidden or scrambled code, but the actual code we can see is normal, readable, and clearly commented. This looks like a scanner mistake — there is no hidden or disguised code in the part we examined.

Technical evidence

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

Contextual assessment: The scanner rule 'javascript.xray.obfuscated-code' flagged line 1 of file, but that line is a plain JavaScript comment ('// ---- Chat tool modals ----'). The supplied source context (lines 1-41) shows clean, readable, unobfuscated code with standard jQuery-like patterns, comments, and async functions. No encoding, minification beyond normal, string obfuscation, or dynamic code construction is visible. The scanner's low confidence and the absence of any obfuscation artifacts in the examined code indicate a false positive.

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.obfuscated-code
File role
production
Source
static/js/settings.js:1

zizmor reported artipacked

Expected behavior · low confidence

This alert about credential persistence through artifacts is a false positive; no artifacts are created in this job.

Technical evidence

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

Contextual assessment: The artipacked alert at line 87 is not applicable because the 'browser' job does not upload any artifacts. The step at line 87 is 'actions/checkout@v4', and the job contains only checkout, setup-python, pip install, playwright install, and a test run—no artifact-upload actions are present.

Impact: none · Exploitability: unlikely

Developer action: none

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

Coverage and limitations

JavaScript coverage

Unresolved JavaScript stages

Tools

Limitations

Technical scan identity