T08 · Insecure Dependencies
Warning
- Location
- README.md:50
- Finding
- Unpinned Remote Installation Command Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `README.md:50` **Vulnerability Type**: Unpinned third-party installer and mutable remote source **Risk Level**: Medium ### Vulnerable Code Snippet ```bash npx skills add AntreasAntoniou/mailbutler-agent-skill ``` ### Technical Analysis The documented installation command invokes the `skills` package through `npx` without specifying an exact package version. It also identifies the Skill repository without pinning an immutable commit or verifying its integrity through a checksum or cryptographic signature. Consequently, the software executed or installed by this command can differ from the content reviewed during this audit. The effective installation path depends on mutable third-party distribution infrastructure, package ownership, repository state, and name resolution at the time the command is run. This is a supply-chain weakness rather than evidence that the currently audited source is malicious. The reviewed Python helper does not itself retrieve or execute remote payloads. ### Attack Path 1. An attacker compromises the npm package or account that resolves the unversioned `skills` command, or compromises the referenced upstream repository or maintainer account. 2. The attacker publishes a malicious package version or modifies the repository content resolved by the installer. 3. A user follows the documented installation command. 4. `npx` retrieves and executes the currently resolved installer rather than a version whose exact contents were audited. 5. The compromised installer executes with the invoking user's privileges or installs altered Skill instructions and scripts. 6. The malicious component can access resources available to that user or later influence the agent when the installed Skill is loaded. ### Impact Assessment Successful exploitation could allow arbitrary code execution with the privileges of the user running `npx`, subject to the behavior and permissions of the compromised installer. Po ...[truncated 442 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the `skills` CLI to an exact reviewed version: ```bash npx --yes skills@<exact-version> add AntreasAntoniou/mailbutler-agent-skill@<immutable-reference> ``` 2. Pin the Skill source to an immutable commit hash rather than a mutable branch or unqualified repository reference. 3. Publish and document a cryptographic checksum or signed release artifact, and require verification before installation. 4. Document the expected package publisher, repository URL, release tag, and commit hash so users can verify provenance. 5. Prefer a lockfile-backed or otherwise reproducible installation process where supported. 6. Use npm provenance/signature verification and a trusted registry configuration where available. 7. In security-sensitive environments, download and inspect the pinned source first, then install it without allowing an unreviewed remote package to execute automatically.
