T08 · Insecure Dependencies
Warning
- Location
- README.md:9
- Finding
- Unpinned Installer and Mutable Skill Source## Vulnerability Details **File Location**: `README.md:9` **Vulnerability Type**: Unpinned third-party installer and mutable remote source **Risk Level**: Medium ### Vulnerable Code ```sh npx skills add https://github.com/AntreasAntoniou/questlog-agent-skill --skill questlog ``` ### Technical Analysis The documented installation command invokes `npx` without pinning the `skills` package to a reviewed version. Depending on the local npm configuration and cache state, `npx` may retrieve and execute the latest package version from the configured registry. The GitHub source is also referenced without a commit hash or immutable release artifact. Consequently, the code installed by this command can differ from the artifact that was audited. Compromise of the npm package, registry account, GitHub repository, maintainer account, or default branch could alter the effective installation payload. This is a supply-chain integrity weakness rather than evidence that the currently audited runtime is malicious. The reviewed runtime itself did not contain scheduler installation, SSH-key access, credential collection, or external data exfiltration. ### Attack Path 1. An attacker compromises the npm `skills` package, its publisher account, the source repository, or a maintainer account. 2. The attacker publishes a malicious installer version or modifies the repository revision selected by the unpinned URL. 3. A user follows the documented `npx skills add ...` command. 4. `npx` retrieves and executes the mutable installer, which retrieves the mutable skill source. 5. Malicious code can execute or be installed under the privileges of the user running the command. ### Impact Assessment Successful exploitation could execute commands and modify files accessible to the installing user. The potential scope includes the user's skill directory, local application state, environment-accessible credentials, and other files writable by that accou ...[truncated 171 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the npm installer to an explicitly reviewed version, for example `npx skills@<reviewed-version> ...`. 2. Pin the skill source to an immutable commit hash or signed release rather than the repository's mutable default branch. 3. Publish checksums or cryptographic signatures for release artifacts and document how users should verify them before installation. 4. Prefer downloading and inspecting the pinned source before executing any installer. 5. Use npm lockfiles, integrity metadata, and a trusted registry where applicable. 6. Explicitly warn users not to run the installation command as root or with unnecessary privileges.
