T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:20
- Finding
- Unpinned Global Installation of a Mutable npm Package## Vulnerability Details **File Location**: `SKILL.md`, lines 20–34 **Vulnerability Type**: Supply-chain risk from an unpinned global dependency **Risk Level**: Medium ### Vulnerable Code ```bash Also ensure the latest Neta CLI is installed: neta-cli --version 0.8.0 npm i @talesofai/neta-skills@latest -g pnpm add -g @talesofai/neta-skills@latest ``` ### Technical Analysis The Skill instructs users or agents to install `@talesofai/neta-skills@latest` globally. The `latest` tag is mutable, so the installed package can differ from the version that was reviewed. Although the document displays version `0.8.0`, neither installation command enforces that version or verifies package integrity. npm-compatible package installation can execute package lifecycle scripts. A global installation also modifies the user's shared command environment rather than an isolated project environment. Consequently, compromise of the publisher account, registry package, release pipeline, or a future `latest` release could introduce arbitrary code at installation time or replace the expected `neta-cli` executable. The audit found no evidence that the currently referenced package is malicious. The vulnerability is the unsafe dependency acquisition and installation pattern. ### Attack Path 1. An attacker compromises the package publisher, release pipeline, or registry package, or causes a malicious release to become the `latest` version. 2. A user or agent follows the prerequisite instructions and runs one of the global installation commands. 3. The package manager resolves the mutable `latest` tag to the attacker-controlled release. 4. Malicious package contents or lifecycle scripts execute with the privileges of the account running npm or pnpm. 5. The package can replace or spoof `neta-cli`, alter the shared user toolchain, access data available to that account, or influence subsequent Skill operations. ### Impact Assessment Succes ...[truncated 637 chars]
- Remediation
- ## Remediation Suggestions 1. Replace the mutable tag with an audited exact version: ```bash npm install --global @talesofai/neta-skills@0.8.0 ``` 2. Verify the downloaded package against an expected integrity hash or trusted package provenance before installation. 3. Prefer a project-local, locked dependency over a global installation. Commit and enforce a lockfile so dependency resolution is reproducible. 4. Disable package lifecycle scripts during installation where compatible: ```bash npm install --ignore-scripts --save-exact @talesofai/neta-skills@0.8.0 ``` 5. If lifecycle scripts are required, review them and the complete transitive dependency tree before approving a version. 6. Run the CLI in a restricted environment with minimal filesystem access and expose `NETA_TOKEN` only for commands that require authenticated API access. 7. Document the expected package publisher, registry, version, and checksum, and fail closed when any value differs.
