T08 · Insecure Dependencies
- Location
SKILL.md:26- Finding
Unpinned Global Installation of a Mutable npm Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:26
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: MediumVulnerable Code
markdown - Prefer the public CLI package: `npm i -g @mibatt/dietu@latest`Technical Analysis
The skill directs the user or agent to globally install the mutable
latestrelease of@mibatt/dietu. The project does not contain the package source, an exact reviewed version, a lockfile, or an integrity hash with which to verify the downloaded artifact.npm packages can define installation lifecycle scripts that execute during installation. Because
@latestcan resolve to different package contents over time, the effective code executed by this instruction may change after the skill itself has been reviewed. This creates a supply-chain risk if the package publisher, maintainer account, npm registry path, or a future release is compromised.This finding does not establish that the current
@mibatt/dietupackage is malicious. The vulnerability is the unsafe dependency acquisition pattern and the inability to reproduce or validate the installed code from the audited project.Attack Path
- An attacker compromises the package publisher account, release pipeline, or another component controlling the npm package.
- The attacker publishes a malicious release and assigns it to the
latestdistribution tag. - A user or agent follows the skill instruction and runs
npm i -g @mibatt/dietu@latest. - npm downloads the attacker-controlled package and may execute its lifecycle scripts.
- The malicious code runs with the privileges of the user performing the installation and installs or replaces a globally available
dietucommand. - Subsequent CLI invocations may expose credentials, alter command results, or perform arbitrary actions available to that user.
Impact Assessment
Successful exploitation could execute arbitrary code wi ...[truncated 551 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith an exact, reviewed package version. - Publish and verify the expected npm integrity digest before installation.
- Document the canonical package registry and source repository.
- Prefer a project-local installation with a committed lockfile instead of a global installation.
- Review package contents and lifecycle scripts before approving a new version.
- Use
--ignore-scriptswhen lifecycle scripts are not required. - Run the CLI under a dedicated least-privileged account and expose credentials only to commands that require them.
- Establish an explicit dependency-update process that reviews each new version before changing the pinned version.
- Replace
