T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:80
- Finding
- Unpinned Third-Party Installer Executes and Installs Mutable Upstream Content Globally## Vulnerability Details **File Location**: `SKILL.md:80` **Vulnerability Type**: Unpinned dependency execution and mutable global installation **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add zhaoxinghua09-cell/agent-skills -g ``` ### Technical Analysis The documented installation command invokes the `skills` package through `npx` without specifying an exact package version. Depending on the local package state and `npx` behavior, this can download and execute the package version currently published by an external registry. The referenced repository content is also identified by a mutable repository name rather than an immutable commit hash or signed release. The `-g` option installs the resulting Skill content globally, extending the effect beyond the current project. Consequently, the code executed and installed when a user follows this instruction may differ from the content reviewed in this audit. Although no malicious code was found in the supplied artifact, compromise of the package registry, package publisher, source repository, or maintainer account could turn this command into a remote supply-chain execution path. ### Attack Path 1. An attacker compromises the publisher account, the unpinned `skills` package, or the referenced source repository. 2. The attacker publishes a modified package or Skill containing malicious installation or runtime behavior. 3. A user follows the documented `npx` command. 4. `npx` retrieves and executes the mutable third-party package. 5. The modified Skill content is installed globally. 6. Malicious instructions or scripts may subsequently run with the permissions of the user who invoked the command. ### Impact Assessment Exploitation can obtain the privileges of the invoking user. Depending on the behavior of a compromised installer, potential effects include arbitrary command execution, access to files available to that user, theft of environment credentia ...[truncated 385 chars]
- Remediation
- ## Remediation Suggestions - Pin the CLI to an exact reviewed version, for example by using an explicit package version rather than the latest registry release. - Pin the Skill source to an immutable commit SHA or cryptographically signed release. - Publish SHA-256 checksums or signed provenance attestations and verify them before installation. - Avoid global installation by default. Install into a project-specific or otherwise isolated Skill directory. - Separate retrieval from execution so users can inspect downloaded content before running an installer. - Document the exact expected package name, version, repository commit, and checksum. - Use a lockfile or equivalent immutable dependency declaration where supported.
