T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Unpinned CLI Execution and Mutable Remote Skill Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:4,SKILL.md:15-24,SKILL.md:47-99, andSKILL.md:106-113
Vulnerability Type: Unpinned third-party CLI and unverified remote Skill installation
Risk Level: MediumThe Skill grants broad permission to execute every command and argument supported by the
skillsCLI:yaml allowed-tools: Bash(npx skills *)It then recommends invoking an unpinned npm CLI and installing mutable remote Skills:
bash # Search for skills npx skills search "inference-sh image generation" # List available skills npx skills list inference-sh/skills # Install a skill npx skills add inference-sh/skills@ai-image-generationThe same pattern is used for additional installations and bulk installation:
bash npx skills add inference-sh/skills@ai-image-generation npx skills add inference-sh/skills@ai-video-generation npx skills add inference-sh/skills@ai-music-generation npx skills add inference-sh/skills@inference-shThe management instructions also permit updating installed Skills to unspecified future versions:
bash # List installed skills npx skills list # Update all skills npx skills update # Remove a skill npx skills remove inference-sh/skills@ai-image-generationTechnical Analysis
The command
npx skillsdoes not identify an exact reviewed npm package version or integrity digest. Depending on the local environment and npm behavior,npxcan retrieve and execute the currently published package when it is not already available locally. Consequently, the code executed at audit time may differ from the code executed later.The
skills addandskills updateoperations likewise obtain mutable third-party Skill content without an immutable commit, release digest, signature requirement, or documented review gate. The wildcard declarationBash(npx skills *)authorizes all subcommands and arguments accepted by the ...[truncated 1862 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the npm CLI to an exact reviewed version, for example by invoking an explicitly versioned package rather than
npx skills. - Lock and verify the package with a trusted integrity digest and an approved registry configuration.
- Pin every installed Skill to an immutable commit, signed release, or content digest rather than a mutable name or branch.
- Download and inspect Skill manifests, scripts, lifecycle hooks, and permission declarations before installation.
- Require explicit human approval before any
addorupdateoperation. - Replace
Bash(npx skills *)with narrowly scoped permissions for specifically approved commands and arguments. Separate read-only discovery from installation and update capabilities. - Run installation in a sandbox using a minimally privileged account with restricted filesystem, credential, process, and network access.
- Avoid unrestricted bulk updates. Review release differences and integrity metadata before applying each update.
- Maintain an allowlist of approved Skill identifiers, versions, publishers, and cryptographic hashes.
- Pin the npm CLI to an exact reviewed version, for example by invoking an explicitly versioned package rather than
