T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned third-party template and script execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15–22 and 49–53
Vulnerability Type: Supply-chain exposure through an unpinned external repository and downloaded scripts
Risk Level: MediumVulnerable Code
bash # Clone the template (or use GitHub's "Use this template" button) gh repo create my-plugin --template davidvkimball/obsidian-sample-plugin-plus --public --clone cd my-plugin # Or clone directly git clone https://github.com/davidvkimball/obsidian-sample-plugin-plus.git my-plugin cd my-plugin rm -rf .git && git initbash pnpm install pnpm obsidian-dev-skills # Initialize AI skills ./scripts/setup-ref-links.sh # Unix # or: scripts\setup-ref-links.bat # WindowsTechnical Analysis
The Skill directs users to retrieve the current contents of a third-party repository from a personal GitHub namespace without pinning a reviewed commit or signed release. It then instructs users to install the retrieved project's dependencies and execute commands and setup scripts originating from that external project.
Because the repository revision and dependency state are not fixed or integrity-verified, the effective code executed by these steps can change after this Skill has been reviewed. A compromise or malicious modification of the template repository, package metadata, dependency graph, lifecycle scripts,
obsidian-dev-skillscommand resolution, or setup scripts could introduce arbitrary code execution.The audit did not establish that the referenced repository or scripts are currently malicious. The vulnerability is the unsafe trust and execution model.
Attack Path
- An attacker compromises the referenced repository, a maintainer account, or a dependency used by the downloaded project.
- The attacker modifies package metadata, an installation lifecycle hook, the command resolved by
pnpm obsidian-dev-skills, or one of the setup scripts. - A user follows the Skill and retrieves the mutable latest ...[truncated 930 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin the template to a reviewed commit hash or immutable, signed release rather than cloning the default branch.
-
Document the expected repository revision and verify it immediately after retrieval.
-
Provide cryptographic checksums or signature-verification instructions for externally retrieved artifacts.
-
Audit package manifests, lockfiles, lifecycle hooks, and setup scripts before instructing users or agents to execute them.
-
Require lockfile-enforced dependency installation, such as:
bash pnpm install --frozen-lockfile -
Pin the package manager version and all dependency versions through a committed lockfile.
-
Avoid automatically executing scripts from a newly downloaded repository. Present their contents for review or replace them with documented, explicit setup steps.
-
Run unavoidable installation and setup operations in a restricted development container or sandbox with no unnecessary credentials and minimal filesystem access.
-
Consider vendoring a reviewed scaffold or maintaining a trusted, versioned template under controlled ownership.
-
