T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:12
- Finding
- Unpinned Third-Party Node.js Dependency<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:12-14` **Vulnerability Type**: Unpinned executable dependency and supply-chain exposure **Risk Level**: Medium ### Vulnerable Code ```yaml install: - kind: node package: "@indigoprotocol/cardano-mcp" ``` ### Technical Analysis The installation configuration references `@indigoprotocol/cardano-mcp` without an exact version or integrity hash. Consequently, installation may resolve to a mutable package release that was not part of this audit. The dependency's implementation is not included in the audited project, so its installation scripts, runtime behavior, transitive dependencies, and handling of wallet secrets could not be verified. There is no evidence in the reviewed files that the current package is malicious; the vulnerability is the absence of controls that ensure future installations use the exact version that was reviewed and approved. ### Attack Path 1. An attacker compromises the package publisher account, registry distribution channel, or a future package release. 2. The attacker publishes a malicious version under the same package name. 3. A user installs or activates the skill without an exact dependency version. 4. The package manager resolves the mutable dependency to the malicious release. 5. Malicious installation or runtime code executes with the privileges of the user running the skill. 6. If the process can access the configured `SEED_PHRASE`, the malicious code may read and transmit that credential or perform unauthorized wallet operations. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the installing or runtime user's account. The reachable scope may include environment variables, wallet credentials, accessible files, network resources, and any wallet operations authorized to the MCP server. The wallet impact could be severe if the seed phrase is exposed, although exploitation requires compromise or malicious modifica ...[truncated 36 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Pin `@indigoprotocol/cardano-mcp` to a reviewed, exact version rather than using an unconstrained package reference. - Commit and enforce a lockfile for all transitive dependencies where the installation framework supports it. - Verify package provenance, registry signatures, and integrity hashes before installation. - Review installation lifecycle scripts and disable them when they are unnecessary. - Run the MCP server in a sandbox with restricted filesystem, environment, process, and network access. - Establish an update-review process so dependency upgrades require security review and explicit approval. - Avoid exposing wallet recovery credentials to the dependency, as addressed in the separate least-privilege finding. ]]>
