T08 · Insecure Dependencies
- Location
AGENTS.md:14- Finding
Unpinned Third-Party Package Execution During Installation
- Content
View full analysis
Vulnerability Details
File Location:
AGENTS.md:14
Additional Locations:README.md:53,README.md:56,README.md:59,README_EN.md:92
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
bash # AGENTS.md:13-14 # Recommended method (through the Skills CLI) npx skills add ChenChen913/memory-system -a claude-codeEquivalent unpinned installation commands also appear in the project documentation:
bash npx skills add ChenChen913/memory-system npx skills add ChenChen913/memory-system -a claude-code npx skills add ChenChen913/memory-system -gTechnical Analysis
The installation instructions invoke the third-party
skillspackage throughnpxwithout specifying a reviewed version or verifying package integrity. If the package is not already installed locally,npxcan retrieve its current release from the configured npm registry and execute it immediately.Consequently, the effective installer is mutable and lies outside this audited repository. The project does not provide a version constraint, lockfile, checksum, signature, or reviewed installer artifact that would ensure users execute the same dependency that was assessed by the project author.
This is a supply-chain exposure rather than evidence that the current
skillspackage is malicious. Exploitation would require compromise, replacement, or malicious publication of the package or its dependency chain.Attack Path
- An attacker compromises the npm account, registry distribution path, package contents, or a transitive dependency used by the unpinned
skillspackage. - The attacker publishes a malicious release under the package version selected by
npx. - A user follows the documented installation command.
npxresolves and downloads the attacker-controlled release.- The package executes with the privileges of the user running the command.
- Malicious installer code can access files and credentials availab ...[truncated 825 chars]
- An attacker compromises the npm account, registry distribution path, package contents, or a transitive dependency used by the unpinned
- Remediation
View remediation
Remediation Suggestions
- Pin the CLI to an explicitly reviewed version:
bash npx --yes skills@<reviewed-version> add ChenChen913/memory-system -a claude-code-
Record the approved package version in every installation example so users do not fall back to the latest mutable release.
-
Publish and document cryptographic checksums or signatures for release artifacts, and instruct users to verify them before installation.
-
Prefer a verified release archive or an installer committed to this repository over immediate execution of remotely resolved package code.
-
Review and lock transitive dependencies used by the installation tooling. Enable automated alerts for package ownership changes and dependency compromises.
-
Document the expected package publisher, registry, version, and integrity value so users can detect substitution or registry misconfiguration.
-
Advise users not to run the installer with administrator privileges and to perform installation in a restricted environment where practical.
