Back to skill

Security audit

trader

Security checks for vulnerabilities and agentic risk

Overview

The skill clearly describes a real-money trading wallet, but it needs Review because it installs an unpinned external CLI and gives VPN guidance for blocked prediction markets.

Review carefully before installing. Use only a pinned, reviewed version of the trader CLI, preferably with provenance or integrity verification; do not run the npx form against a floating package for a wallet with funds. Use a dedicated low-value wallet, keep credentials scoped, manually approve swaps, prediction-market trades, --force actions, and private-key export, and do not use VPNs to bypass jurisdiction or platform restrictions.

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:48
Finding
Unpinned Trading CLI Dependency Executes Unreviewed Package Versions<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 4 and 48–50 **Vulnerability Type**: Unpinned third-party executable dependency **Risk Level**: High ### Vulnerable Code ```yaml metadata: {"openclaw":{"emoji":"💰","homepage":"https://github.com/zeroexcore/trader","requires":{"bins":["trader"],"env":["WALLET_PASSWORD","HELIUS_API_KEY"]},"primaryEnv":"WALLET_PASSWORD","install":[{"id":"node","kind":"node","package":"@zeroexcore/trader","bins":["trader"],"label":"Install trader CLI (npm)"}]}} ``` ```bash npm install -g @zeroexcore/trader # or run without installing: npx @zeroexcore/trader <command> ``` ### Technical Analysis The Skill installs or executes `@zeroexcore/trader` without specifying an exact version, lockfile, or integrity hash. Consequently, npm resolves the package version available from the configured registry at execution time. The effective executable may therefore change after this Skill has been reviewed. The project contains only `SKILL.md`; it does not include the CLI implementation. Claims concerning AES-256-GCM wallet encryption, file permissions, gas-reserve enforcement, network behavior, and transaction safeguards cannot be independently verified from the audited artifact. This dependency has access to particularly sensitive capabilities: - `WALLET_PASSWORD`, `HELIUS_API_KEY`, and potentially `JUPITER_API_KEY`. - The encrypted wallet and trading records under `~/.openclaw/`. - Wallet private-key export functionality. - Authority to sign token swaps and prediction-market transactions involving real funds. The use of `npx` is especially sensitive because it can download and immediately execute the currently resolved package. A malicious package version could also abuse npm lifecycle scripts during installation. No evidence establishes that the current npm package is malicious. The vulnerability is the absence of controls ensuring that the installed code is the same code that was reviewed and trusted. ### Att ...[truncated 1621 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the package to an exact, reviewed version in both installation methods: ```bash npm install -g @zeroexcore/trader@<reviewed-version> --ignore-scripts npx --yes @zeroexcore/trader@<reviewed-version> <command> ``` 2. Record and verify package integrity using a trusted lockfile, npm integrity metadata, or a separately maintained SHA-512 checksum before execution. 3. Review and vendor the corresponding CLI source, or include it in the audited project so its wallet handling, transaction construction, network destinations, and safeguards can be verified. 4. Verify package provenance and publisher identity. Prefer signed releases and npm provenance attestations tied to the reviewed source repository and commit. 5. Disable npm lifecycle scripts with `--ignore-scripts` unless a reviewed installation step requires them. If scripts are required, document and audit each script before execution. 6. Execute the CLI under a dedicated, unprivileged operating-system account. Restrict filesystem access to the minimum wallet directory and never perform global installation as root. 7. Use a dedicated low-value wallet with transaction and balance limits. Require explicit human approval for swaps, prediction-market purchases, private-key exports, and use of `--force`. 8. Supply credentials only for the duration of an invocation and prevent them from being inherited by unrelated child processes. Rotate all credentials immediately if package compromise is suspected. 9. Update the Skill metadata so the automated installer also references the exact reviewed version rather than the floating package name. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (3)

Natural-Language Policy Violations

High
Confidence
97% confidence
Finding
The troubleshooting guidance explicitly tells users that geo-blocked prediction markets can be accessed with a VPN, which is advice to bypass access restrictions. In the context of a real-money trading and betting skill, this increases legal, compliance, and account-sanction risk and could encourage prohibited use of regulated services.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding
The skill recommends executing `npx @zeroexcore/trader` without a pinned version, which allows whatever package version is current at runtime to be fetched and executed. In a wallet-handling trading skill, this meaningfully increases supply-chain risk because a compromised or malicious upstream release could gain access to trading operations, wallet material, or sensitive environment variables.

Session Persistence

Medium
Category
Rogue Agent
Content
### Wallet
```bash
trader wallet address               # public address (safe to share)
trader wallet generate              # create encrypted wallet (one time)
trader wallet export                # export private key for backup
```
Confidence
75% confidence
Finding
The skill supports persistent wallet creation and private-key export, which creates long-lived sensitive material on disk and encourages recovery-key handling. Even though encryption and file permissions are described, session persistence is more dangerous here because the skill is explicitly capable of signing real-value transactions, so any compromise of the host or misuse of the export flow can lead to fund loss.

Static analysis

No suspicious patterns detected.