T08 · Insecure Dependencies
- Location
SKILL.md:6- Finding
Unpinned Global npm Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 6 and 12
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumComplete Code Snippets:
yaml install_command: "npm i -g neonctl"bash npm i -g neonctlTechnical Analysis
The Skill instructs users to install
neonctlglobally without specifying an exact package version or integrity value. Because npm resolves the mutable latest version, the code installed in the future may differ from the version reviewed when this Skill was published.npm packages can execute lifecycle scripts during installation. If the package registry account, package release process, or an upstream dependency is compromised, malicious installation code could execute with the privileges of the user running npm. The global
-ginstallation increases exposure beyond the project directory and may modify user-wide executable or package locations.The audit found no evidence that
neonctlis currently malicious. The vulnerability is the absence of dependency pinning and integrity or provenance controls.Attack Path
- An attacker compromises the
neonctlpublishing account, release pipeline, or relevant dependency chain. - The attacker publishes a malicious version that is selected as the latest compatible package release.
- A user or agent follows the Skill instruction and runs
npm i -g neonctl. - npm downloads the mutable package release and its dependency tree.
- Malicious package code or lifecycle scripts execute with the invoking user's privileges.
- The attacker may access data available to that user or alter user-wide npm executables and files permitted by the installation environment.
Impact Assessment
Successful exploitation could permit arbitrary code execution with the privileges of the user performing the installation. Potential scope includes that user's files, environment variables, credentials accessible ...[truncated 268 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
neonctlto a reviewed exact version, for examplenpm install --global neonctl@X.Y.Z, rather than resolving the latest release. - Verify package provenance, publisher identity, release signatures or attestations, and registry integrity metadata before installation.
- Prefer a project-local, lockfile-controlled installation where practical, and invoke it through a controlled package script or
npm exec. - Disable npm lifecycle scripts during installation when they are not required, after confirming that the package functions correctly without them.
- Perform installation without elevated privileges and use a dedicated, least-privileged environment.
- Establish a controlled update process in which new versions are reviewed and tested before changing the pinned version.
- Pin
