TavernKeeper Scan Report

Manjove1/forged-by-primus-portfolio

Commit 02ee241 Reviewed

No material or high-risk concern was identified in this review.

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

0 high 0 material 5 low

What this review found

No material or high-risk item was identified.

Minor cautions

zizmor reported template-injection

Minor caution · medium confidence

A user-supplied release tag name is inserted directly into a script. Only repository maintainers can trigger this, so the real-world danger is low, but it is a bad practice that could be cleaned up.

Technical evidence

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

Contextual assessment: A workflow_dispatch input is interpolated directly into a shell script via template expansion. An attacker would need write access to trigger the workflow and supply a crafted tag value, at which point they could already modify the workflow file itself. The practical escalation is limited, but the pattern is a known injection vector and should use environment variable passing instead.

Impact: low · Exploitability: unlikely

Developer action: Pass the tag through an environment variable (e.g., env: TAG: ${{ inputs.tag }}) and reference it in the script as $TAG instead of inline template expansion.

Scanner
zizmor 1.28.0
Rule
template-injection
File role
tooling
Source
.github/workflows/release.yml:36

zizmor reported unpinned-uses

Minor caution · high confidence

The workflow uses a version label for a standard action instead of locking it to a specific snapshot. This is common but slightly less safe than pinning to an exact version.

Technical evidence

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

Contextual assessment: The checkout action is pinned to a major version tag rather than a commit SHA. If the action repository were compromised, a malicious update could execute under the workflow's permissions. This is a supply-chain hardening gap, not an active vulnerability.

Impact: low · Exploitability: unlikely

Developer action: Consider pinning actions to a full commit SHA for reproducibility and supply-chain hardening.

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

zizmor reported unpinned-uses

Minor caution · high confidence

The workflow uses a version label for a release helper action instead of locking it to a specific snapshot. Common practice but could be tightened.

Technical evidence

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

Contextual assessment: The release action is pinned to a major version tag rather than a commit SHA. Same supply-chain hardening consideration as the checkout action. No active vulnerability is present.

Impact: low · Exploitability: unlikely

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

Scanner
zizmor 1.28.0
Rule
unpinned-uses
File role
tooling
Source
.github/workflows/release.yml:99
Expected scanner matches (2)

zizmor reported superfluous-actions

Expected behavior · high confidence

The workflow uses a popular helper action to publish releases. This is normal and does not create a security problem.

Technical evidence

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

Contextual assessment: The scanner flags a third-party action whose functionality overlaps with runner built-ins. Using a dedicated release action is a standard and accepted approach for creating GitHub Releases with assets. No security-relevant data flow is introduced beyond the stated release-publishing purpose.

Impact: none · Exploitability: unlikely

Developer action: none

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

zizmor reported artipacked

Expected behavior · medium confidence

The workflow downloads the full repository history but only packages selected documentation and system files into the release. No sensitive data is included in the published archive.

Technical evidence

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

Contextual assessment: The scanner flags potential credential persistence through artifacts. The workflow checks out the repository with full history, but the package build step copies only specific content files into the release zip. The .git directory and any persisted credentials are not included in the uploaded release asset, so no credential leakage path exists.

Impact: none · Exploitability: unlikely

Developer action: none

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

Coverage and limitations

Tools

Limitations

Technical scan identity