T08 · Insecure Dependencies
- Location
README.md:62- Finding
Unpinned Third-Party Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 62–66
Vulnerability Type: Supply-chain risk from an unpinned third-party installer
Risk Level: MediumVulnerable Code Snippet:
markdown ### Other agents ```bash npx skills add haah-ing/works-skilltext ### Technical Analysis The documented installation command invokes the `skills` npm package through `npx` without specifying an audited version or integrity hash. Depending on the local npm configuration and cache state, `npx` may download and execute the package currently resolved by the configured registry. npm packages may contain executable entry points and lifecycle scripts. Consequently, the command establishes a code-execution boundary with a mutable third-party dependency whose implementation is not included in this repository and could not be audited here. A compromised maintainer account, registry package, transitive dependency, or mutable release could change what the command executes after this skill has been reviewed. This finding concerns the installation method rather than confirmed malicious behavior by the referenced package. ### Attack Path 1. An attacker compromises the resolved `skills` npm package, one of its executable dependencies, or its publication process. 2. The attacker publishes a malicious version under the package name resolved by `npx`. 3. A user follows the installation instructions in `README.md`. 4. `npx` resolves and downloads the attacker-controlled release because the command does not pin a known-reviewed version. 5. The package executable or an applicable lifecycle script runs with the invoking user's privileges. 6. The malicious code can access resources available to that user and may install modified skill content or perform unrelated local actions. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the user running the command. The ...[truncated 460 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the installer to an exact, reviewed version rather than resolving the latest release implicitly:
bash npx --yes skills@<reviewed-exact-version> add haah-ing/works-skill - Publish and verify the expected package integrity digest and document the authoritative npm registry and package owner.
- Review the pinned package, its executable entry point, lifecycle scripts, and complete transitive dependency tree before recommending it.
- Prefer a minimal installer maintained in this repository so users can inspect the exact code before execution.
- Recommend running installation as an unprivileged user in a restricted environment without unnecessary secrets.
- Add release-management controls such as protected publishing, mandatory multi-factor authentication, provenance attestations, signed releases, and automated dependency auditing.
- Explain that users should reassess the installer before changing the pinned version rather than automatically tracking mutable releases.
- Pin the installer to an exact, reviewed version rather than resolving the latest release implicitly:
