T09 · Insecure Skill Coding Practices
- Location
scripts/setup.py:89- Finding
Unsanitized Folder Path Allows Writes Outside the Selected Vault
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly matches its Obsidian task-board purpose, but its setup script can write outside the chosen vault if given an absolute or traversal folder path.
Review before installing. Use this only on a test or backed-up Obsidian vault, pass a simple relative folder name such as Tasks, and avoid absolute paths or ../ in --folder. Prefer pinned ClawHub CLI versions for install, login, and publish workflows where possible.
scripts/setup.py:89Unsanitized Folder Path Allows Writes Outside the Selected Vault
scripts/publish_clawhub.sh:7Mutable npm Package Version Is Downloaded and Executed
A description-behavior mismatch where the declared purpose is local Obsidian task management but the underlying capability reportedly publishes packages to an external service and invokes networked tooling is a strong trust-boundary violation. This is dangerous because users may consent to local note setup while the skill performs unrelated external actions, potentially exfiltrating data or publishing artifacts without informed consent.
A description-behavior mismatch where the declared purpose is local Obsidian task management but the underlying capability reportedly publishes packages to an external service and invokes networked tooling is a strong trust-boundary violation. This is dangerous because users may consent to local note setup while the skill performs unrelated external actions, potentially exfiltrating data or publishing artifacts without informed consent.
The README instructs users to run npx clawhub@latest install ..., which fetches and executes remote package code at install time without pinning to a specific reviewed version. If the upstream package, dependency chain, or publishing account were compromised, users could execute unintended code on their systems. In the context of an agent skill install path, this is more dangerous because users may copy/paste commands with elevated trust.
The publish/login instructions use npx -y clawhub@latest login, which similarly executes the newest remote package version without review or pinning. This creates a supply-chain execution risk for maintainers, and the maintainer context can be especially sensitive because login flows may expose credentials or tokens if a malicious package version is served.
The skill describes filesystem-modifying behavior such as running a setup script that creates files in a user-provided vault path, but it declares no explicit tool scope or permissions boundary. This is dangerous because an agent may perform writes without clear user-visible authorization constraints, increasing the risk of unintended file modification in arbitrary directories.
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
The script executes npx -y clawhub@latest, which fetches and runs the newest package version at publish time. This creates a supply-chain risk: if the package is compromised or a breaking/malicious release is published, running the script will execute attacker-controlled code on the operator's machine or CI environment with the user's permissions.
The manifest describes a local Obsidian task-board setup and management skill, but this script runs npx -y clawhub@latest to fetch and execute a remote publishing tool and publish the repository to ClawHub. Repository publication to an external service is not justified by the end-user task-tracking purpose described in the manifest.
The README tells users to run a setup script against an Obsidian vault path and explains that it sets up boards and task files, but it does not clearly warn that local vault contents will be created or modified. While this is expected behavior for the skill, the lack of an explicit modification warning can lead to unintended changes, especially if an agent is asked to act on the user's vault automatically.
The skill instructs creation of files in a user-supplied vault path without warning that the user's Obsidian vault will be modified. While expected in a setup utility, this is still risky because an incorrect or attacker-influenced path could cause unintended writes to sensitive directories or existing notes.
No suspicious patterns detected.