T08 · Insecure Dependencies
- Location
README.md:30- Finding
Unpinned npm Package Execution in Installation Instructions
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 30–32
Vulnerability Type: Supply-chain risk from remotely resolved and unpinned executable dependencies
Risk Level: MediumVulnerable Code
bash npx add https://github.com/wpank/ai/tree/main/skills/api/cachingTechnical Analysis
The installation command invokes
npx add. This can resolve and execute the npm package namedaddwhen a trusted local copy is unavailable. No exact package version or integrity hash is specified, so the code executed bynpxcan change after the Skill has been reviewed.The GitHub tree URL also refers to a mutable branch path rather than an immutable commit. Consequently, both the installer and the requested remote content lack cryptographic or immutable version pinning. Executing a remotely resolved installer is not necessary for this documentation-only Skill, which consists solely of Markdown files, and therefore exceeds the minimum privilege needed to install it.
The audited Skill files contain no embedded executable payload or direct sensitive-data transmission. The sensitive-network pattern reported by the pre-scan in
SKILL.mdis attributable to explanatory caching guidance, including warnings about tokens and PII, rather than operational exfiltration behavior.Attack Path
- A user follows the installation instructions in
README.md. npxresolves the unpinnedaddpackage through the configured npm registry or cache.- A compromised, malicious, or unexpectedly resolved package version executes with the user's current operating-system privileges.
- The executed package can access resources available to that user, including project files, environment variables, local credentials, and writable configuration directories.
- The package can alter files or transmit accessible information over the network before processing the supplied GitHub URL.
- Separately, mutable content at the GitHub ...[truncated 972 chars]
- A user follows the installation instructions in
- Remediation
View remediation
Remediation Suggestions
- Remove the ambiguous
npx addcommand and avoid executing a general-purpose, remotely resolved installer for a Markdown-only Skill. - Pin the source repository to a reviewed immutable commit rather than a branch:
bash git clone https://github.com/wpank/ai.git cd ai git checkout <reviewed-commit-sha> - Verify the checked-out commit and, where available, its signature before copying the Skill files.
- Copy only the required reviewed files into the destination Skill directory instead of executing repository-provided code.
- If an npm-based installer is essential, use an explicitly named trusted package pinned to an exact version, lock its integrity hash, review its lifecycle scripts, and document the expected publisher and checksum.
- Advise users not to run installation commands with administrative privileges.
- Consider publishing checksums or signed release artifacts so users can verify that installed content matches the audited release.
- Remove the ambiguous
