T08 · Insecure Dependencies
- Location
SKILL.md:24- Finding
Unpinned Global npm Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:24
Additional Location:README.md:20
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code
SKILL.md:24:bash npm install -g @doist/todoist-cliREADME.md:20:bash npm install -g @doist/todoist-cliTechnical Analysis
The documented installation command globally installs
@doist/todoist-cliwithout specifying an exact reviewed version or verifying package integrity. Consequently, npm resolves the package version available under the applicable default distribution tag at installation time.This makes the installed artifact mutable relative to the audited skill. If the upstream package, maintainer account, publishing credentials, npm registry path, or a future release is compromised, users following these instructions could install code that was not part of this audit. npm packages can also execute lifecycle scripts during installation, allowing a compromised release to run code with the privileges of the user performing the installation.
Although the dependency is represented as the official Todoist CLI and no evidence establishes that its current releases are malicious, the unpinned installation process creates a supply-chain exposure.
Attack Path
- An attacker compromises the upstream npm package, its maintainer or publishing credentials, or a future release process.
- The attacker publishes a malicious release under
@doist/todoist-clior alters the release selected by the package's default distribution tag. - A user follows the project documentation and runs
npm install -g @doist/todoist-cli. - npm retrieves the attacker-controlled, unreviewed release.
- Malicious package code or lifecycle scripts execute with the installing user's privileges.
- The installed global command can continue executing attacker-controlled behavior whenever the agent or user invokes
td.
Impact Assessment
Succe ...[truncated 611 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin the dependency to an exact, reviewed release:
bash npm install -g @doist/todoist-cli@<reviewed-exact-version> -
Review the selected package version, including its lifecycle scripts and transitive dependencies, before recommending it.
-
Document the expected npm registry and provide an integrity-verification mechanism, such as a trusted checksum or provenance instructions.
-
Avoid installation with elevated privileges. Prefer a user-scoped installation or another isolated execution environment.
-
Establish a controlled dependency-update process in which version changes are explicitly reviewed and tested before documentation is updated.
-
Keep the documented version synchronized across
SKILL.mdandREADME.md.
-
