Back to skill

Security audit

Vibetrading

Security checks for vulnerabilities and agentic risk

Overview

The skill is openly about crypto trading, but it gives ready-to-run live trading and credential instructions without enough safeguards for real financial risk.

Review carefully before installing. Use a virtual environment or container, pin package versions, start with paper trading or testnet where possible, use least-privilege exchange keys with withdrawals disabled, keep private keys out of chat/logs/source control, and do not run live examples unless you intend to place real orders and accept possible losses.

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:12
Finding

Unpinned Third-Party Package Installation Creates a Supply-Chain Risk

Content
View full analysis
Remediation
View remediation
``` 2. Generate a lockfile containing exact transitive versions and cryptographic hashes. Install with hash enforcement, for example: ```bash python -m pip install --require-hashes -r requirements.lock ``` 3. Publish the expected official package repository, publisher identity, and package-index URL so users can verify provenance. 4. Verify downloaded distributions against approved SHA-256 hashes or signed release attestations before installation. 5. Prefer immutable wheels from a controlled artifact registry rather than resolving mutable dependencies directly during deployment. 6. Run package installation and trading workloads in an isolated virtual environment or container under a dedicated, unprivileged operating-system account. 7. Restrict outbound network access to required exchange and market-data endpoints where operationally possible. 8. Use exchange credentials with the minimum required permissions. Disable withdrawals, apply account or IP allowlists, and use a dedicated trading subaccount where supported. 9. Keep secrets outside strategy source code. Load them from a protected secret manager or environment at runtime, and ensure credential files have restrictive filesystem permissions. 10. Re-audit package source and dependencies before updating pinned versions. Treat dependency updates as security-sensitive changes. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (5)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/api-details.md (reported line 260)May include surrounding context.

text

```python
# .env.local
# HYPERLIQUID_WALLET=0xYourWalletAddress
# HYPERLIQUID_PRIVATE_KEY=0xYourPrivateKey

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/api-details.md (reported line 268)May include surrounding context.

md
from dotenv import load_dotenv
import vibetrading.live

load_dotenv(".env.local")

asyncio.run(vibetrading.live.start(
    open("my_strategy.py").read(),

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill provides ready-to-run live trading deployment instructions, including an example that starts trading against a real exchange with supplied credentials, but it does not explicitly warn that this can place real orders and cause immediate financial loss. In an agent setting, omission of a clear risk gate materially increases the chance of unintended execution, especially when users may treat examples as safe defaults.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The live trading section shows how to load exchange credentials and start vibetrading.live.start(...) against a real exchange, but it does not prominently warn that running the example can place real market orders with real funds. In an agent skill context, users may copy or invoke examples directly, so the omission increases the chance of accidental live trading and unintended financial loss.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The skill documents exchange API keys and private keys, including storing them in .env.local, but does not include clear guidance on secret handling, non-sharing, least privilege, or the consequences of exposing trading credentials. Because some listed secrets are blockchain private keys, compromise can enable unauthorized trading or direct asset loss, making the omission more serious than a generic API-key warning.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.