T08 · Insecure Dependencies
- Location
README.md:63- Finding
Mutable Third-Party GitHub Action Is Granted a Publishing Secret
- Content
View full analysis
Vulnerability Details
File Location:
README.md:63-71
Vulnerability Type: Supply-chain exposure through a mutable GitHub Action reference
Risk Level: MediumVulnerable Code
yaml ## 🚀 Publish Your Own Skills Want to publish your Claude Code skills to Clawhub? Use our dedicated GitHub Action: - uses: nishantapatil3/clawhub-publish-action@v1 with: clawhub-token: ${{ secrets.CLAWHUB_TOKEN }}Technical Analysis
The documentation recommends running
nishantapatil3/clawhub-publish-actionusing the mutablev1tag while granting that action access toCLAWHUB_TOKEN. A Git tag is not an immutable integrity boundary: the repository owner or an attacker who compromises the action repository can move or replace the tag so that future workflow runs execute different code from the code originally reviewed.This behavior is not part of the local intent-documentation functionality declared by the Skill. It is publishing guidance, but it places a sensitive publishing credential into a remotely maintained component without pinning the component to a verified commit.
No evidence shows that the currently referenced action is malicious, and the action is presented as an optional example rather than included as an active workflow. The vulnerability is the unsafe trust model users are instructed to adopt.
Attack Path
- A user copies the recommended workflow into a repository and configures
CLAWHUB_TOKEN. - The referenced action repository or its maintainer account is compromised, or the mutable
v1tag is intentionally moved. - The attacker publishes modified action code under the same
v1reference. - A push, release, or manually triggered workflow executes the modified action.
- The malicious action reads the supplied
clawhub-tokeninput and may transmit it to an attacker-controlled endpoint. - The attacker uses the stolen token to publish, replace, or tamper with packages ...[truncated 615 chars]
- A user copies the recommended workflow into a repository and configures
- Remediation
View remediation
Remediation Suggestions
-
Pin the action to a reviewed full commit SHA instead of
@v1:yaml - uses: nishantapatil3/clawhub-publish-action@FULL_40_CHARACTER_COMMIT_SHA with: clawhub-token: ${{ secrets.CLAWHUB_TOKEN }} -
Record the corresponding release version in a comment so automated dependency tools can still identify updates.
-
Use a narrowly scoped, short-lived publishing token where supported.
-
Restrict publishing to protected environments with required reviewer approval.
-
Set explicit minimal workflow permissions, such as
contents: read, unless broader access is demonstrably required. -
Review action source changes before updating the pinned SHA.
-
Prefer registry publication through an official, provenance-enabled workflow or GitHub trusted publishing if supported, eliminating long-lived publishing secrets.
-
