T08 · Insecure Dependencies
- Location
README.md:27- Finding
Unpinned npm Package Execution in Recommended Installation Workflow
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 27–42
Vulnerability Type: Supply-chain risk caused by executing an unpinned third-party package
Risk Level: MediumThe recommended installation workflow invokes the
skillsnpm package throughnpxwithout specifying a package version or integrity constraint:bash npx skills add cangtianhuang/humanizer-academic-zhThe related management commands are also unpinned:
bash npx skills listbash npx skills update cangtianhuang/humanizer-academic-zhbash npx skills remove cangtianhuang/humanizer-academic-zhTechnical Analysis
When the requested package is unavailable locally,
npxcan download and execute the version currently resolved from the npm registry. Because the documentation does not specify a reviewed version, lockfile, or integrity hash, the code executed by these commands may change independently of the audited project.This creates a supply-chain trust boundary outside the repository. If the npm package, its maintainer account, one of its transitive dependencies, or the package-resolution process is compromised, a subsequently published payload could execute when a user follows the documented instructions. Execution may occur through the package CLI or applicable package lifecycle behavior.
The commands are not evidence that the current package is malicious. The vulnerability is the absence of version and integrity controls around third-party code execution.
Attack Path
- An attacker compromises the
skillsnpm package, its publishing account, or a dependency included in a future release. - The attacker publishes a malicious version that is selected by the unpinned package resolution.
- A user follows the README and runs
npx skills add cangtianhuang/humanizer-academic-zh, or one of the other documentednpx skillscommands. npxretrieves the unresolved current package versi ...[truncated 838 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
-
Pin the package to a specific reviewed version in every documented command, for example:
bash npx --yes skills@<reviewed-version> add cangtianhuang/humanizer-academic-zh -
Verify the selected release and its dependency tree before recommending it. Update the pinned version only after reviewing the new release.
-
Where practical, use a package manager lockfile and npm integrity metadata so package contents are reproducible and verifiable.
-
Document the expected npm package publisher, registry, version, and package provenance to reduce dependency-confusion and registry-substitution risks.
-
Recommend running installation without administrator privileges and in an environment that does not expose sensitive credentials.
-
Prefer the manual installation procedure for security-sensitive environments because it copies the reviewed
SKILL.mdfile without executing a third-party package manager CLI.
-
