T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:80
- Finding
- Unpinned Third-Party Installation Chain## Vulnerability Details **File Location**: `SKILL.md`, lines 80-84 **Vulnerability Type**: Unpinned package execution and mutable repository installation **Risk Level**: Medium ```bash npx skills add zhaoxinghua09-cell/agent-skills -g # Or manually: clone and copy this skill into the Agent skill directory git clone https://github.com/zhaoxinghua09-cell/agent-skills.git cp -r agent-skills/skills/agent-kill-switch ~/.workbuddy/skills/ ``` ### Technical Analysis The installation instructions invoke `npx skills` without specifying a reviewed package version or integrity hash. Depending on the local npm configuration and cache state, `npx` can retrieve and execute the latest available version of that third-party package. The alternative installation procedure clones the default branch of a remote repository without pinning a commit hash, release tag, checksum, or cryptographic signature. Consequently, the installed content can differ from the package that was audited. It is then copied into a persistent Agent skill directory. The reviewed local Python script does not retrieve or execute a remote payload. The risk arises specifically when a user follows these installation instructions. ### Attack Path 1. An attacker compromises the referenced npm package, package publisher account, GitHub repository, or maintainer account. 2. The attacker publishes a modified package or changes the repository's default branch. 3. A user follows the documented `npx` or `git clone` installation procedure. 4. The unpinned npm package executes during installation, or modified repository content is copied into the Agent skill directory. 5. Malicious installation code can act with the invoking user's permissions, while a malicious copied skill can affect later Agent sessions when loaded or invoked. ### Impact Assessment The npm execution path can run code with the permissions of the user performing installation. This could expose files an ...[truncated 398 chars]
- Remediation
- ## Remediation Suggestions - Pin the npm CLI to an explicitly reviewed version rather than invoking an unversioned package. - Use npm lockfiles and integrity metadata where applicable. - Pin repository installation to a reviewed commit hash or signed release instead of the mutable default branch. - Publish and verify cryptographic checksums or signatures before copying files into an Agent skill directory. - Avoid global installation by default and document the exact permissions and files affected. - Separate downloading from execution so users can inspect and verify retrieved content before running it. - Add reproducible release artifacts that correspond exactly to the audited source revision.
