Back to skill

Security audit

Crypto Strategy Suite

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed crypto trading skill, but it can start automated spot and futures trading with exchange keys without enough live-trading guardrails.

Review this before installing. Use testnet or paper trading first, create exchange API keys limited to the needed pair and trading permissions, disable withdrawals, avoid the 'all enabled' option until limits are understood, and confirm SkillPay charging terms before invocation.

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

Warning
Location
SKILL.md:5
Finding
Unpinned Node.js Dependencies Create a Supply-Chain Exposure<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 5 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ### Vulnerable Code ```json "install":[ {"kind":"node","package":"ccxt"}, {"kind":"node","package":"technicalindicators"} ] ``` ### Technical Analysis The Skill requests installation of the `ccxt` and `technicalindicators` Node.js packages without specifying exact versions or integrity hashes. Consequently, installation may resolve to whatever package version is current at execution time rather than to an artifact reviewed alongside the Skill. Although the named packages are not demonstrated to be malicious, this configuration creates supply-chain risk. A compromised maintainer account, package registry, newly published malicious version, or vulnerable upstream release could cause unreviewed code to be installed. Package installation may also execute lifecycle scripts unless the package manager or runtime explicitly disables them. This risk is heightened because the Skill declares access to `EXCHANGE_API_KEY`, `EXCHANGE_API_SECRET`, and `SKILLPAY_API_KEY`. If installation or package execution occurs in a process that inherits these environment variables, a compromised dependency could read and transmit them. ### Attack Path 1. An attacker compromises an upstream package publisher, package release process, or registry distribution channel. 2. The attacker publishes a malicious release under one of the unpinned dependency names. 3. The Skill installation mechanism resolves the dependency to that malicious release because no exact version or integrity constraint is present. 4. Malicious lifecycle or runtime code executes with the permissions of the installing or running Agent process. 5. If sensitive environment variables are inherited, the malicious code reads the exchange or billing credentials. 6. The attacker may exfiltrate those credentials or use exchange credentials according to their assigned permis ...[truncated 917 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin each dependency to an exact, reviewed version rather than resolving the latest available release. 2. Maintain a lockfile containing registry-resolved integrity hashes and verify it during installation. 3. Use a trusted package registry and enforce package provenance or signature verification where supported. 4. Disable dependency lifecycle scripts during installation unless they are explicitly required and reviewed. 5. Install and execute dependencies in a sandbox with restricted filesystem and network access. 6. Prevent installation processes from inheriting exchange and billing secrets. Inject credentials only into the final runtime process and only when required. 7. Use exchange API keys restricted to the necessary trading pair and operations, with withdrawal permissions disabled. 8. Rotate credentials immediately if dependency integrity cannot be established or if an unexpected package version has already executed. 9. Add automated dependency vulnerability, provenance, and integrity scanning to the release process. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Missing User Warnings

High
Confidence
97% confidence
Finding
The quick-start flow encourages users to select and launch strategies, including futures strategies, but does not clearly warn that this can trigger real exchange orders and begin live automated trading. In a trading context, missing or weak disclosure is particularly dangerous because a user may unintentionally authorize market activity that can rapidly cause direct financial loss, especially with leveraged products.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The skill is presented as a BTC/USDT trading strategy suite, but the embedded code also performs external billing, balance checks, and payment-link generation through a third-party service. This is a risky capability mismatch: users may invoke a trading skill without expecting off-platform financial charges or blockchain payment flows, increasing the chance of hidden monetization, consent failures, or abuse if identifiers or API keys are mishandled.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The documentation includes account-balance checks, charging, and blockchain payment-link generation that are not essential to the core function of executing trading strategies. Even if intended for monetization, these capabilities expand the attack surface by handling financial state and external payment flows, which can expose users to unauthorized charges, privacy leakage, or phishing-style redirection if the payment flow is altered.

Natural-Language Policy Violations

Low
Confidence
84% confidence
Finding
The skill name/description and nearly all user-facing instructions are presented in Chinese, and the document does not indicate that the language is optional or region-specific. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation.

Static analysis

No suspicious patterns detected.