T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:10
- Finding
- Unpinned Third-Party CLI Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 10-13 **Vulnerability Type**: Unpinned third-party package installation **Risk Level**: Medium **Vulnerable Code Snippet**: ```yaml install: - kind: node package: nansen-cli bins: [nansen] ``` ### Technical Analysis The Skill instructs the host to install the third-party Node.js package `nansen-cli` without specifying an exact version or package integrity hash. Consequently, the installed code depends on mutable package-registry state and may differ from the version originally reviewed. If the package, its publication account, or one of its transitive dependencies is compromised, malicious lifecycle scripts or runtime code could execute on the host. No evidence establishes that the current package is malicious; the vulnerability is the absence of dependency pinning and integrity controls. ### Attack Path 1. An attacker compromises the `nansen-cli` package, its publisher account, registry resolution, or a transitive dependency. 2. The attacker publishes a malicious package release that remains compatible with the unpinned package reference. 3. The Skill installation process resolves and installs the attacker-controlled release. 4. Malicious code executes through package lifecycle scripts or when the `nansen` binary is invoked. 5. The code accesses resources available to the installation or runtime process, potentially including `NANSEN_API_KEY`, local files, and network connectivity. ### Impact Assessment Exploitation could permit arbitrary code execution with the privileges of the user or service installing or running the Skill. Because the Skill requires `NANSEN_API_KEY`, malicious runtime code could potentially read and exfiltrate that credential. Access to other files, environment variables, and network resources would depend on the privileges and isolation boundaries of the host process. The audited repository itself contains no embedd ...[truncated 108 chars]
- Remediation
- ## Remediation Suggestions - Pin `nansen-cli` to an exact, reviewed version rather than resolving an unrestricted current release. - Verify the package with a trusted registry integrity digest or equivalent checksum. - Use a lockfile with locked transitive dependency versions where the installation framework supports it. - Review the package and its transitive dependencies before approving upgrades. - Disable package lifecycle scripts during installation unless they are explicitly required and reviewed. - Run the CLI in a sandbox or least-privilege environment with access only to the required API key and resources. - Restrict outbound network access to necessary Nansen endpoints where operationally feasible. - Rotate `NANSEN_API_KEY` promptly if dependency compromise is suspected.
