Back to skill

Security audit

OpenMM Grid Trading

Security checks for vulnerabilities and agentic risk

Overview

This skill is for real automated crypto trading and is coherent with that purpose, but it gives live order capability through an unreviewed, unpinned external package and does not strongly separate safe simulation from live trading.

Review this carefully before installing. Use dry-run first, use exchange API keys with withdrawals disabled and the smallest permissions possible, apply exchange-side limits where available, and understand that commands without --dry-run may place real orders. The external npm package is not pinned in the artifact, so verify the exact package version and publisher trust before exposing credentials.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

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.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Confidence
92% confidence
Finding
This skill facilitates live automated trading against real exchanges using API keys and presents real-order commands prominently, while only lightly suggesting a dry run rather than clearly warning that omitting --dry-run can place actual orders and cause financial loss. In this context, users or downstream agents could mistakenly execute live trades, especially because the examples and workflow normalize direct execution with production credentials.

Static analysis

No suspicious patterns detected.