Back to skill

Security audit

Regime Transition Probability Institutional

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed paid trading-signal integration, but it asks for a wallet private key and describes automatic payments without clear spending controls.

Only use this with a dedicated low-balance wallet on the stated network, and require explicit approval for each paid call. Monitor retries and repeated invocations because each successful request may spend USDC.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:7
Finding

Automatic Paid Requests Use an Unrestricted EVM Private Key Without Explicit Spending Controls

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 7-10, 32-41, and 53-60
Vulnerability Type: Automatic payment authorization with a raw wallet credential
Risk Level: Medium

Vulnerable Code

yaml
metadata:
  openclaw:
    requires:
      env:
        - EVM_PRIVATE_KEY
    primaryEnv: EVM_PRIVATE_KEY
markdown
The x402 client handles payment authorisation automatically. No API key, no account, no subscription required — just an EVM wallet with USDC on Base mainnet.

```python
# Example using the x402-python client
from x402.client import x402_get

response = x402_get(
    url="https://apexrunner.ai/signals/regime-transition-probability-institutional",
    private_key=os.environ["EVM_PRIVATE_KEY"]
)
print(response.json())
text

```markdown
**$35.00/call** — standard price

Early adopters automatically receive 30% off ($24.50/call) until 2026-09-21. Discount tiers apply automatically based on wallet call history:
- Early Adopter (0–9 calls): 30% off
- Engaged (10–49 calls): 15% off
- Loyal (50–199 calls): 15% permanent
- VIP (200+ calls): 20% permanent

Technical Analysis

The Skill requires the agent runtime to access a raw EVM private key and passes that key to the third-party x402 client. The documentation explicitly states that the client automatically handles payment authorization for an external endpoint charging up to the documented standard price of $35 per call.

No requirement is provided for explicit user confirmation before each payment, verification of the final payment amount and recipient, per-call or cumulative spending limits, or duplicate-payment prevention. Consequently, unintended invocation, agent loops, retries, or repeated task execution can produce multiple paid requests without a separate user decision for each charge.

A raw private key also represents substantially more authority than is needed for a single limited paymen ...[truncated 1634 chars]

Remediation
View remediation

Remediation Suggestions

  1. Require explicit user approval before every paid request. Present the exact amount, token, blockchain network, recipient, endpoint, and maximum total cost before authorization.
  2. Enforce hard per-call, per-session, and daily spending limits independently of instructions returned by the remote endpoint.
  3. Use a dedicated low-balance wallet or a scoped payment signer instead of a general-purpose wallet private key.
  4. Implement idempotency keys and retry controls so timeouts or agent retries cannot generate duplicate charges.
  5. Verify that the payment uses the expected Base network, USDC contract, recipient, and maximum price before signing.
  6. Keep the private key in a protected secret manager and prevent it from appearing in logs, prompts, exceptions, telemetry, or model-visible output.
  7. Pin the x402 client to a reviewed version, verify package provenance and integrity, and audit updates before deployment.
  8. Provide a dry-run mode that retrieves and displays payment terms without signing or transmitting a payment authorization.
  9. Record an auditable local transaction log and stop further calls when anomalous repetition or cumulative-spend thresholds are detected.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (1)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill requires an EVM private key and states that the x402 client 'handles payment authorisation automatically,' but it does not present a prominent warning that invoking the skill can trigger real on-chain payments. In an agent context, this can cause users or downstream systems to supply a signing key without understanding that paid requests may be authorized automatically, leading to unintended financial loss.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.