T08 · Insecure Dependencies
Error
- Location
- SKILL.md:11
- Finding
- Unpinned Third-Party Trading Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 11–14 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: High **Vulnerable Code:** ```yaml install: - kind: node package: "@3rd-eye-labs/openmm" bins: [openmm] ``` ### Technical Analysis The skill installs `@3rd-eye-labs/openmm` without specifying an exact version or an integrity hash. Consequently, installation may resolve to a package release that differs from the version reviewed or expected by the skill author. This dependency is particularly security-sensitive because the resulting `openmm` executable is intended to run with exchange API credentials available in the environment and can place real financial orders. The package implementation is not included in this project, so its behavior could not be audited as part of the supplied artifact. If the package publisher account, package distribution channel, or a future release is compromised, malicious code could execute with the permissions of the user installing or invoking the skill. ### Attack Path 1. An attacker compromises the npm package publisher, distribution account, or release process for `@3rd-eye-labs/openmm`. 2. The attacker publishes a malicious package version under the same package name. 3. The skill installer resolves the unpinned dependency to the malicious version. 4. The installed `openmm` binary executes locally when the documented commands are used. 5. Because exchange credentials are expected to be present in environment variables, malicious dependency code may access those credentials. 6. The malicious code may exfiltrate credentials, submit unauthorized exchange orders, or execute other commands with the invoking user's local privileges. ### Impact Assessment Successful exploitation could expose configured exchange API credentials and allow unauthorized actions permitted by those credentials, including balance queries and financial order pla ...[truncated 530 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `@3rd-eye-labs/openmm` to an exact, security-reviewed version rather than allowing installation of the latest compatible release. 2. Use a lockfile and verify package integrity through a trusted checksum or npm integrity metadata. 3. Vendor the reviewed dependency source or otherwise make the exact executable implementation available for auditing. 4. Monitor the dependency for ownership changes, unexpected releases, known vulnerabilities, and compromised maintainer accounts. 5. Use exchange API keys restricted to only the exchanges, accounts, and trading operations required by the skill. 6. Disable withdrawal and transfer permissions on all credentials used by the trading tool. 7. Apply IP allowlisting and exchange-side spending or position limits where supported. 8. Require an explicit user confirmation before executing any command that omits `--dry-run`. 9. Run the tool in a restricted environment with minimal filesystem permissions, tightly controlled environment variables, and limited outbound network access. 10. Rotate exchange credentials immediately if an installed dependency version is later found to be compromised.
