T08 · Insecure Dependencies
- Location
README.md:30- Finding
Unpinned Third-Party Installation Command Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
README.md:30
Vulnerability Type: Unpinned third-party package and mutable remote source
Risk Level: Highbash npx add https://github.com/wpank/ai/tree/main/skills/backend/nodejs-patternsTechnical Analysis
The installation instruction invokes an npm executable named
addthroughnpxwithout pinning it to a reviewed version. It also references content under the mutablemainbranch of an external GitHub repository rather than an immutable commit.Consequently, the command is not reproducible: the npm package resolved as
add, the repository, or the repository branch can change after this Skill has been audited. If either source is compromised or transferred to a malicious maintainer, users following the documented command could execute or install attacker-controlled content with the permissions of the invoking user.Attack Path
- An attacker compromises or takes control of the npm package resolved by
npx add, the referenced GitHub account, or the repository. - The attacker publishes a malicious package version or modifies content on the mutable
mainbranch. - A user follows the installation command from the README.
npxretrieves the current unpinned package, and the installation process accesses mutable remote content.- Malicious code or Skill instructions execute or are installed under the invoking user's account.
Impact Assessment
A compromised npm executable could run arbitrary code with the current user's privileges, potentially reading or modifying user-accessible files, credentials, source repositories, and development configuration. Compromised Skill content could also introduce malicious instructions into projects where the Skill is installed. The scope is limited by the privileges and filesystem access of the user running the command.
- An attacker compromises or takes control of the npm package resolved by
- Remediation
View remediation
Remediation Suggestions
- Replace the ambiguous
npx addinvocation with a trusted, fully qualified package name. - Pin the installer package to an exact reviewed version.
- Pin GitHub content to an immutable reviewed commit SHA rather than
main. - Publish and verify integrity hashes or signed release artifacts.
- Document the expected files and checksums so users can validate downloaded content before installation.
- Avoid installation commands that execute newly downloaded package code unless the source and version have been explicitly reviewed.
- Replace the ambiguous
