cryptocurrency-trader
5 findings (1 critical, 3 high, 1 medium), mainly data exfiltration, command injection, resource abuse. Most recent scan 2026-02-05.
This cryptocurrency trading skill presents CRITICAL and HIGH security risks primarily related to unrestricted network access, lack of input validation, and missing security controls. The skill makes live connections to external cryptocurrency exchanges without disclosure, accepts unvalidated user input that could enable injection attacks, and lacks proper resource limits. The missing allowed-tools field means the agent has unrestricted Python execution capabilities. While the skill's trading logic appears mathematically sound, the security architecture requires significant hardening before production use. The skill should add explicit network usage disclosure, implement strict input validation, add allowed-tools restrictions, and implement proper resource limits and timeout protection.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Production-grade AI trading agent for cryptocurrency markets with advanced mathematical modeling, multi-layer validation, probabilistic analysis, and zero-hallucination tolerance. Implements Bayesian inference, Monte Carlo simulations, advanced risk metrics (VaR, CVaR, Sharpe), chart pattern recognition, and comprehensive cross-verification for real-world trading application.
- Package
- 63 files, 703 KB
- SKILL.md
- 1134 words, 12+ sections
- Code
- Python (44), Shell (2)
SKILL.md covers: Cryptocurrency Trading Agent Skill · Purpose · When to Use This Skill · Core Capabilities · Validation & Accuracy · Analysis Methods · Risk Management · Prerequisites · How to Use This Skill · Quick Start Commands · Default Parameters · Common Trading Pairs
Findings
CRITICAL Unrestricted Network Access to External Cryptocurrency Exchanges Data Exfiltrationllm
The skill makes unrestricted network calls to external cryptocurrency exchanges (Binance, Coinbase, Kraken, Bybit) without user consent or disclosure. The SKILL.md does not mention network usage in the description or compatibility fields, and no allowed-tools restrictions prevent this. Scripts use ccxt library to connect to exchanges and fetch real-time market data, creating data exfiltration risk and external dependency on untrusted third-party services.
scripts/trading_agent.py
self.exchange = getattr(ccxt, exchange_name)({'enableRateLimit': True, 'options': {'defaultType': 'spot'}}) - Establishes live connections to cryptocurrency exchanges without user awarenessHIGH Command Injection Risk via Unvalidated Symbol Input Command Injectionllm
User-provided trading pair symbols (e.g., 'BTC/USDT') are passed directly to exchange API calls and file operations without validation or sanitization. An attacker could inject malicious payloads through symbol parameters that could lead to command injection, path traversal, or API abuse. The skill accepts arbitrary symbol strings from command-line arguments and passes them to ccxt exchange methods.
skill.py
symbol = args.symbol (from command line) -> agent.comprehensive_analysis(symbol) -> exchange.fetch_ohlcv(symbol, ...) - No input validation or sanitizationHIGH Unbounded Resource Consumption in Market Scanning Resource Abusellm
The market scanner iterates through multiple cryptocurrency categories and symbols without rate limiting or resource bounds. The scan function can analyze 30+ symbols with multiple timeframes (15m, 1h, 4h) each, making hundreds of API calls. No timeout limits, no maximum scan duration, and minimal rate limiting (0.5s delay) could lead to resource exhaustion, API rate limit violations, or denial of service.
scripts/market/scanner.py
for category in categories: for symbol in symbols: analysis = agent.comprehensive_analysis(symbol) - Nested loops with minimal rate limiting, no timeout, no maximum iterationsHIGH Unrestricted Python Code Execution Without Tool Restrictions Unauthorized Tool Usellm
The skill executes arbitrary Python code through multiple script files without any allowed-tools restrictions in SKILL.md. The YAML manifest does not specify allowed-tools, meaning the agent has unrestricted access to Python, Bash, file system operations, and network calls. This violates the principle of least privilege and creates significant attack surface.
SKILL.md
YAML frontmatter missing 'allowed-tools' field - No restrictions on Python execution, file access, or network callsMEDIUM Misleading Skill Description - Network Usage Not Disclosed Social Engineeringllm
The skill description claims 'production-grade AI trading agent' but does not disclose that it makes live network calls to external cryptocurrency exchanges. The compatibility field is 'Not specified' and does not mention network requirements. Users may not realize the skill connects to external services, fetches real-time market data, and depends on third-party exchange APIs.
SKILL.md
description: 'Production-grade AI trading agent...' - No mention of network usage, external dependencies, or exchange connections. compatibility: Not specifiedWhat is in the package
63 files, 703 KB. Show the list.
| File | Kind | Size |
|---|---|---|
PRODUCTION_READY_SUMMARY.md | doc | 6.8 KB |
SKILL.md | doc | 9.0 KB |
__main__.py | script | 252 B |
change_log.md | doc | 289 B |
config.yaml | config | 7.2 KB |
example_usage.py | script | 8.8 KB |
llm_trading_assistant.py | script | 17 KB |
requirements.txt | doc | 119 B |
run.sh | script | 394 B |
skill.py | script | 9.8 KB |
test_claude_code_compat.sh | script | 1.9 KB |
references/advanced-capabilities.md | doc | 4.7 KB |
references/optimization.md | doc | 19 KB |
references/output-interpretation.md | doc | 5.0 KB |
references/protocol.md | doc | 13 KB |
references/psychology.md | doc | 12 KB |
references/user-guide.md | doc | 8.7 KB |
scripts/adaptive_parameter_selector.py | script | 14 KB |
scripts/advanced_analytics.py | script | 20 KB |
scripts/advanced_validation.py | script | 22 KB |
scripts/backtest_validator.py | script | 17 KB |
scripts/backtester.py | script | 20 KB |
scripts/config.py | script | 16 KB |
scripts/correlation_analyzer.py | script | 18 KB |
scripts/historical_accuracy_tracker.py | script | 15 KB |
scripts/market_context_analyzer.py | script | 16 KB |
scripts/pattern_recognition.py | script | 29 KB |
scripts/pattern_recognition_refactored.py | script | 15 KB |
scripts/system_health_monitor.py | script | 15 KB |
scripts/trading_agent.py | script | 19 KB |
scripts/trading_agent_enhanced.py | script | 34 KB |
scripts/trading_agent_refactored.py | script | 14 KB |
scripts/trading_agent_v2.py | script | 33 KB |
tests/test_advanced_validation.py | script | 14 KB |
tests/test_core_modules.py | script | 13 KB |
tests/test_refactored_components.py | script | 15 KB |
tests/test_trading_agent.py | script | 11 KB |
tests/test_validation_comprehensive.py | script | 11 KB |
references/technical-docs/BACKTESTING_GUIDE.md | doc | 9.5 KB |
references/technical-docs/BUG_ANALYSIS_REPORT.md | doc | 13 KB |
references/technical-docs/CLAUDE_CODE_USAGE.md | doc | 7.1 KB |
references/technical-docs/ENHANCEMENTS.md | doc | 13 KB |
references/technical-docs/FIXES_APPLIED.md | doc | 8.5 KB |
references/technical-docs/ORGANIZATION_REPORT.md | doc | 12 KB |
scripts/analysis/__init__.py | script | 79 B |
scripts/indicators/__init__.py | script | 161 B |
scripts/indicators/calculator.py | script | 7.0 KB |
scripts/market/__init__.py | script | 230 B |
scripts/market/data_provider.py | script | 5.2 KB |
scripts/market/multi_source_aggregator.py | script | 14 KB |
scripts/market/scanner.py | script | 7.9 KB |
scripts/patterns/__init__.py | script | 577 B |
scripts/patterns/candlestick_patterns.py | script | 11 KB |
scripts/patterns/chart_patterns.py | script | 22 KB |
scripts/patterns/market_regime.py | script | 11 KB |
scripts/patterns/support_resistance.py | script | 11 KB |
scripts/patterns/trend_analyzer.py | script | 11 KB |
scripts/patterns/volume_analyzer.py | script | 11 KB |
scripts/risk/__init__.py | script | 154 B |
scripts/risk/position_sizer.py | script | 8.2 KB |
scripts/signals/__init__.py | script | 233 B |
scripts/signals/generator.py | script | 6.4 KB |
scripts/signals/recommender.py | script | 9.2 KB |
Environment variables referenced
ANTHROPIC_API_KEY DIR OPENAI_API_KEY
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/cryptocurrency-trader-skill
- Raw scan result: cryptocurrency-trader-scan.json
- Badge for your README:
 - Request a re-scan