T08 · Insecure Dependencies
Warning
- Location
- README.md:17
- Finding
- Unpinned npm Package and Mutable Remote Skill Installation## Vulnerability Details **File Location**: `README.md`, line 17 **Vulnerability Type**: Unpinned third-party package and mutable Git repository installation **Risk Level**: Medium **Vulnerable Code**: ```bash npx skills add https://github.com/Hey-Salad/tech-data-playbook-skill --skill tech-data-playbook --yes --global ``` ### Technical Analysis The documented installation command executes the `skills` npm package through `npx` without specifying an audited package version. It also installs Skill content from a mutable GitHub repository URL without pinning a commit SHA or verifying an artifact checksum or signature. Consequently, the code executed and content installed when a user follows the documentation may differ from what was reviewed during this audit. The `--yes` option suppresses interactive confirmation, while `--global` expands the installation scope beyond the current project. This is a software supply-chain weakness rather than evidence that the currently reviewed repository contains an embedded malicious payload. ### Attack Path 1. An attacker compromises the npm package, its maintainer account, the GitHub repository, or an associated mutable branch. 2. The attacker publishes malicious package code or modifies the remote Skill content. 3. A user runs the installation command from the README. 4. `npx` resolves and executes the unpinned npm package in the user's security context. 5. The installer retrieves the mutable repository content and installs it globally. 6. Malicious installation logic can access resources available to the operating-system user, while malicious Skill instructions may affect subsequent compatible agent sessions. ### Impact Assessment Successful exploitation could execute arbitrary commands with the privileges of the user running `npx`. Potential effects include modification of user-accessible files, theft of credentials available to that process, installation of altered Skill co ...[truncated 309 chars]
- Remediation
- ## Remediation Suggestions - Pin the `skills` npm package to a specific, reviewed version instead of allowing `npx` to resolve the current release. - Pin the GitHub source to an immutable commit SHA or signed release artifact. - Verify checksums, signatures, and repository ownership before installation. - Remove `--yes` so users can inspect and approve installation actions. - Prefer a project-local installation over `--global` unless global installation is strictly required. - Run installation in a sandbox or least-privileged environment. - Document the expected package version, repository commit, artifact digest, and verification procedure. - Continuously monitor the npm package and repository for ownership changes or unauthorized releases.
