T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:91
- Finding
- Unpinned Third-Party CLI and Mutable Repository Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:91-97` **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ### Vulnerable Code ```bash # One-command installation using the skills CLI 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/lgd-three-laws-auditor ~/.workbuddy/skills/ ``` ### Technical Analysis The documented installation process relies on two mutable, unverified supply-chain sources: 1. `npx skills ...` does not specify an exact npm package version. Unless the relevant package is already installed and resolved safely, `npx` may download and execute the version currently selected by the npm registry. Package installation scripts and CLI entry points can execute arbitrary code with the privileges of the invoking user. 2. The `git clone` command does not pin a reviewed tag or commit. It retrieves the repository’s current default branch, which may differ from the version audited here. 3. Neither installation method verifies a checksum, signed release, package provenance, or commit signature. 4. The `-g` option and copy into `~/.workbuddy/skills/` increase the scope of the installation by placing retrieved content in a global or persistent Agent skill location. This is not evidence that either current upstream source is malicious. The vulnerability is that the reviewed artifact is not cryptographically bound to the content users are instructed to retrieve and install. ### Attack Path 1. An attacker compromises the npm package, its publisher account, the source repository, or an authorized maintainer account. 2. The attacker publishes a modified CLI release or changes the repository’s default branch. 3. A user follows the installation instructions in `SKILL.md`. 4. The unversioned `npx` command downloads and executes the altered package, or `git clone` ...[truncated 1112 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the npm CLI to an exact reviewed version: ```bash npx --yes skills@<exact-version> add zhaoxinghua09-cell/agent-skills@<reviewed-reference> -g ``` 2. Pin repository installation to a reviewed commit: ```bash git clone https://github.com/zhaoxinghua09-cell/agent-skills.git cd agent-skills git checkout --detach <full-reviewed-commit-sha> ``` 3. Publish SHA-256 checksums for release archives and require verification before installation. 4. Prefer signed release tags or attestations and document how users should verify the maintainer signature. 5. Avoid global installation by default. Install into an isolated, least-privilege skill directory and require explicit confirmation before enabling the skill. 6. Configure CI to verify that the documented package version, repository commit, and checksums correspond exactly to the audited release. 7. Advise users not to run installation commands with administrator or root privileges. ]]>
