T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:11
- Finding
- Unpinned Executable npm Dependency Creates Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md:11-15` **Vulnerability Type**: Unpinned third-party executable dependency **Risk Level**: Medium ```yaml install: - kind: node package: nansen-cli bins: [nansen] ``` ### Technical Analysis The Skill installs `nansen-cli` without specifying an exact version or package integrity value. Consequently, installation may resolve to mutable registry content released after this Skill was audited. The installed package is then exposed as the authorized `nansen` executable through `allowed-tools`. Because the CLI performs sensitive wallet operations and receives access to API keys, wallet passwords, private keys, and transaction functionality, compromise of the package, its publisher account, or its transitive dependency chain could cause malicious code to execute with the privileges of the agent process. The project contains no lockfile, checksum, vendored source, or other mechanism by which the installed implementation can be verified. ### Attack Path 1. An attacker compromises the `nansen-cli` publishing account, package, or one of its install/runtime dependencies. 2. The attacker publishes a modified version under the same package name. 3. A subsequent Skill installation resolves the unpinned package reference to that modified release. 4. Malicious lifecycle or runtime code executes during installation or when an authorized `nansen` command is invoked. 5. The compromised process accesses credentials available to the CLI, alters wallet operations, or substitutes transaction parameters. ### Impact Assessment Exploitation would occur with the operating-system privileges of the process installing or running the CLI. Potentially exposed assets include `NANSEN_API_KEY`, `NANSEN_WALLET_PASSWORD`, Privy credentials, locally available wallet material, and transaction authorization capabilities. A compromised CLI could steal secrets, export accessible local wallet ...[truncated 231 chars]
- Remediation
- ## Remediation Suggestions - Pin `nansen-cli` to an exact, reviewed version rather than resolving a mutable latest release. - Use a lockfile and verify package integrity hashes during installation. - Confirm that the package name and publisher are the official distribution source. - Disable npm lifecycle scripts where operationally feasible. - Review and pin transitive dependencies, and continuously monitor them for compromise or known vulnerabilities. - Run the CLI in a restricted environment with access only to credentials required for the current operation. - Require transaction previews and explicit human confirmation before any value-moving operation.
