T08 · Insecure Dependencies
- Location
SKILL.md:55- Finding
Unpinned Global npm Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 55
Vulnerability Type: Supply-chain exposure through an unpinned global dependency
Risk Level: MediumVulnerable Code:
bash npm install -g @ticktick/ticktick-cliTechnical Analysis
The Skill instructs the agent to install the latest available version of
@ticktick/ticktick-cliglobally. No exact version, integrity hash, lockfile, provenance validation, or package verification procedure is specified.Because the selected package version can change after the Skill has been audited, future executions may install code different from the version originally reviewed. npm packages may also execute lifecycle scripts during installation. Global installation expands the potential effect by placing executable files in a shared command location and running installation logic with the permissions of the invoking user. If the command is run with elevated permissions to resolve a global installation error, the resulting impact could increase significantly.
There is no evidence in the audited file that the named package is currently malicious. The vulnerability is the mutable and insufficiently verified dependency installation process.
Attack Path
- An attacker compromises the upstream npm package, a maintainer account, or its release process.
- The attacker publishes a malicious release under the same package name.
- An agent follows the Skill and runs the unpinned global installation command.
- npm resolves the command to the attacker-controlled release.
- Malicious lifecycle scripts or package code execute with the permissions of the user running npm.
- The globally installed executable can continue to run attacker-controlled behavior whenever subsequent TickTick commands are invoked.
Impact Assessment
Successful exploitation could execute arbitrary code under the invoking user's account, access files and credentials available to ...[truncated 422 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the CLI to an explicitly reviewed version, for example:
bash npm install -g @ticktick/ticktick-cli@REVIEWED_VERSION - Verify the package name, publisher, provenance, and expected integrity before installation.
- Document the reviewed version and update it only through a controlled dependency-review process.
- Prefer a project-local or isolated installation over a global installation where operationally practical.
- Do not recommend
sudoor other privilege elevation to resolve npm permission errors. - Consider disabling lifecycle scripts during installation when compatible with the package, then explicitly perform only required setup steps.
- Re-run package security and provenance checks before approving version upgrades.
- Pin the CLI to an explicitly reviewed version, for example:
