T08 · Insecure Dependencies
- Location
SKILL.md:45- Finding
Unpinned Third-Party CLI Installed Globally
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 45-59
Vulnerability Type: Supply-chain exposure through an unpinned global npm dependency
Risk Level: MediumVulnerable Code
bash # Check whether the CLI exists dida --version # Install globally if it is unavailable npm install -g @suibiji/dida-cli # Verify installation dida --help dida --versionTechnical Analysis
The Skill directs the agent to install
@suibiji/dida-cliglobally without pinning an audited version or verifying package integrity. The project provides no checksum, lockfile, provenance requirement, or other mechanism for ensuring that the package retrieved at execution time is the version previously reviewed.An npm package can execute package-controlled lifecycle scripts during installation. Global installation also makes its executable available broadly in the user's environment. Consequently, compromise of the package publisher, npm account, release process, or package contents could turn the documented installation step into user-level arbitrary code execution.
Installing a CLI is relevant to the declared task-management functionality, but global installation of a mutable, unverified release exceeds the minimum access necessary. A locally scoped, version-pinned, integrity-verified installation would reduce exposure.
Attack Path
- An attacker compromises the npm publisher account, package release process, or another component of the package supply chain.
- The attacker publishes a malicious release under
@suibiji/dida-cli. - The agent finds that
didais unavailable and follows the Skill instruction to executenpm install -g @suibiji/dida-cli. - npm retrieves the current attacker-controlled release and may execute its lifecycle scripts.
- The malicious package runs with the privileges of the user performing the installation.
- It can access data available to that user, including local fil ...[truncated 546 chars]
- Remediation
View remediation
Remediation Suggestions
- Verify that the package and npm scope are controlled by the expected, trusted service publisher.
- Pin an exact audited package version rather than installing the mutable latest release:
bash npm install --global --ignore-scripts @suibiji/dida-cli@<audited-version> - Record and verify package integrity and provenance through an approved lockfile, registry policy, signature, or checksum mechanism.
- Prefer a local, isolated installation over a global installation, and invoke it through a controlled path.
- Disable npm lifecycle scripts where the verified package does not require them.
- Review each package update before changing the pinned version.
- Run the CLI under an unprivileged account with access only to the files and credentials necessary for Dida operations.
