T08 · Insecure Dependencies
- Location
README.md:9- Finding
Unpinned Executable Installer and Mutable Skill Source
- Content
View full analysis
Vulnerability Details
File Location:
README.md:9
Vulnerability Type: Supply-chain risk from unpinned installer and source revisions
Risk Level: MediumVulnerable Code
markdown With the skills CLI: `npx skills add https://github.com/AntreasAntoniou/butler-agent-skill --skill butler`. This installer requires Node/network access; inspect the repository before installing.Technical Analysis
The documented installation command invokes
npx skillswithout specifying an audited package version and installs Skill content from a mutable GitHub repository reference without pinning a commit.Consequently, the components executed or installed at installation time are not guaranteed to be the same components reviewed during this audit:
npxmay resolve and execute a newer version of theskillsnpm package.- The GitHub URL may resolve to repository content changed after review.
- The command does not verify a cryptographic signature, commit identifier, or checksum before execution or installation.
The warning to inspect the repository reduces accidental risk but does not provide technical integrity enforcement. This is an insecure dependency and installation practice rather than evidence that the currently audited repository contains a malicious payload.
Attack Path
- An attacker compromises the npm package publisher, package distribution channel, GitHub account, repository, or default branch.
- The attacker publishes a modified installer or changes the repository content after the audited revision.
- A user follows the documented
npx skills addcommand. npxresolves the unpinned package, while the installer retrieves the mutable repository state.- The modified component executes during installation or places attacker-controlled Skill instructions and scripts in the agent’s Skill directory.
- Those files can subsequently execute or influence the agent when the installed Skill is loaded or invoked.
Imp
...[truncated 588 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the installer to a reviewed package version, for example by using an explicit
npxpackage version rather than resolving the latest release. - Pin the Skill source to an immutable Git commit or signed release tag instead of the repository’s mutable default branch.
- Publish expected checksums or signed provenance for release artifacts and verify them before installation.
- Prefer a reviewed local clone for sensitive environments:
- Clone a specific commit.
- Verify the commit signature or release checksum.
- Inspect the checked-out files.
- Install from that local, immutable copy.
- Use npm lockfile and integrity metadata where applicable, and document the exact audited installer version and source commit.
- Avoid automatically approving package installation prompts from
npx; require the operator to confirm the resolved package name and version.
- Pin the installer to a reviewed package version, for example by using an explicit
