T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:9
- Finding
- Unpinned Third-Party CLI Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 9-13 **Vulnerability Type**: Unpinned third-party package installation **Risk Level**: Medium ```yaml install: - kind: node package: nansen-cli bins: [nansen] ``` ### Technical Analysis The skill declares `nansen-cli` as an installation dependency without specifying an exact version or an integrity hash. Consequently, the installed code may change over time according to the package registry's current resolution. Because the repository contains no lockfile, integrity metadata, or vendored copy of the package, the effective executable cannot be verified solely by auditing this project. If the package, publisher account, or package distribution infrastructure is compromised, malicious installation or runtime code could execute in the skill's environment. The skill also requires `NANSEN_API_KEY`, making that credential a relevant target for a compromised dependency. ### Attack Path 1. An attacker compromises the `nansen-cli` package, its publisher account, or its distribution path. 2. The attacker publishes a malicious release under the package name expected by the skill. 3. A subsequent installation resolves the unpinned dependency to the malicious release. 4. Malicious code executes during package installation or when the `nansen` binary is invoked. 5. The compromised package reads process-accessible resources, potentially including `NANSEN_API_KEY`, and transmits them externally or abuses the host's available permissions. ### Impact Assessment Successful exploitation could expose `NANSEN_API_KEY` and any other resources available to the package installation or CLI process. The precise scope depends on the privileges, environment variables, filesystem access, and network access granted by the host runtime. If installation runs with elevated permissions, the impact could extend beyond the skill's intended data-querying function.
- Remediation
- ## Remediation Suggestions - Pin `nansen-cli` to a reviewed, exact version rather than allowing registry-dependent version resolution. - Verify the package with a trusted integrity hash and retain lockfile or equivalent provenance metadata where supported. - Document and restrict the package registry and source used during installation. - Review package provenance, maintainers, published artifacts, and installation scripts before approving updates. - Run the CLI with least privilege in a sandboxed environment. - Expose only `NANSEN_API_KEY` to the process and prevent access to unrelated credentials. - Restrict filesystem and outbound network access to the minimum required for legitimate Nansen API operations. - Rotate the API key promptly if dependency compromise is suspected.
