T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:13
- Finding
- Unpinned External CLI Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 13-16 **Vulnerability Type**: Unpinned third-party package 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 hash. Consequently, installation resolves a mutable package release from the configured npm registry rather than a dependency whose reviewed contents are fixed. npm packages can contain executable lifecycle scripts and runtime code. Because the package implementation is not included in this project, its behavior cannot be verified from the audited artifact. A compromised package release, registry account, or dependency in the package's transitive dependency tree could therefore introduce arbitrary code during installation or execution. The skill also requires `NANSEN_API_KEY`. Malicious dependency code running in the same environment may be able to read that environment variable, subject to the process isolation and permissions enforced by the host. ### Attack Path 1. An attacker compromises the `nansen-cli` publishing account, registry distribution channel, or a dependency resolved by the package. 2. The attacker publishes a malicious release or causes installation to resolve attacker-controlled code. 3. The skill installer resolves the mutable package because no exact version or integrity constraint is declared. 4. Malicious code executes through an npm lifecycle script or when the installed `nansen` binary is invoked. 5. The code acts with the installer or agent process's permissions and may read accessible files, environment variables such as `NANSEN_API_KEY`, or other process-accessible data. 6. The compromised code may transmit collected information or perform other actions allowed by the host's network and operating-system permissions. ### Impact Assessment Succes ...[truncated 551 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `nansen-cli` to a reviewed exact version rather than resolving the latest available release. 2. Record and verify package integrity metadata through an appropriate lockfile or trusted checksum mechanism. 3. Document and enforce the expected package registry and publisher identity. 4. Audit the selected package release and its transitive dependencies before deployment. 5. Disable npm lifecycle scripts during installation unless they are explicitly required and have been reviewed. 6. Run installation and CLI execution in a sandbox with least-privilege filesystem and network access. 7. Expose `NANSEN_API_KEY` only to the process that needs it, use a narrowly scoped credential where supported, and rotate it if dependency compromise is suspected. 8. Add dependency monitoring and require review before changing the pinned version or integrity metadata.
