T08 · Insecure Dependencies
- Location
references/cli-commands.md:3- Finding
Unpinned Third-Party CLI Packages Are Installed and Executed
- Content
View full analysis
[options]` ``` Related examples also install mutable package versions: ```bash npm install -g pnpm && pnpm install npm install -g yarn && yarn install npm install @capawesome/capacitor-live-update@latest ``` ### Technical Analysis The Skill repeatedly directs users and CI systems to execute `npx @capawesome/cli` without specifying a reviewed version. If the package is not already installed locally, `npx` can retrieve and execute the current package published under that registry name. The global installation instruction explicitly selects `@latest`, while the pnpm and Yarn installation examples also omit versions. These commands therefore make the code executed by the Skill mutable after the Skill itself has been audited. A compromised package maintainer account, malicious future release, registry compromise, or dependency-confusion event could cause arbitrary lifecycle or CLI code to execute in developer and CI environments. The exposure is especially significant because the documented CLI is used in environments containing repository source, Capawesome authentication tokens, app-store credentials, signing certificates, and deployment permissions. ### Attack Path 1. An attacker compromises the npm account, publication pipeline, or dependency tree of one of the referenced packages. 2. The attacker publishes a malicious version under the expected package name or mutable `latest` tag. 3. A user or CI job follows the Skill and runs an unversioned `npx` command or installs the package with `@latest`. 4. npm downloads and executes the attacker-cont ...[truncated 797 chars]- Remediation
View remediation
