T06 · System Persistence
- Location
clawhub.json:11- Finding
Persistent Scheduled Execution of Automated Live Trades
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a disclosed automated trading skill, but it needs review because it can run recurring live trades and includes an embedded external API credential.
Install only if you intentionally want an automated trading bot. Use paper mode first, avoid enabling the provided live cron unless you have strict external spending limits and a way to disable it quickly, use narrowly scoped/revocable credentials, and treat the embedded NOFX credential and unpinned SDK as issues the publisher should fix before live use.
clawhub.json:11Persistent Scheduled Execution of Automated Live Trades
polymarket-simmer-fastloop.py:965Hard-Coded NOFX API Credential Transmitted in URL Query Strings
clawhub.json:2Unpinned Third-Party SDK Executes in a Credential-Bearing Trading Process
The documented purpose materially understates the behavior: beyond signal filtering, the skill can execute live trades, read portfolio state, write persistent ledgers/caches, and call additional external services. This mismatch is dangerous because users or orchestrators may approve the skill under a narrower trust model than its actual authority, leading to financial loss, secret exposure, or unnoticed data exfiltration through undeclared integrations.
The top-level documentation advertises multi-signal momentum trading, but the executable logic later uses contrarian mean-reversion. Because this is a trading skill with a --live mode, inaccurate documentation is not merely cosmetic; it can mislead users, reviewers, or orchestration systems into authorizing capital deployment under false assumptions about how decisions are made.
The skill claims to trade momentum fast markets, but the implemented decision logic explicitly does the opposite: when momentum is up it buys NO, and when momentum is down it buys YES. In a live-trading skill this semantic mismatch is dangerous because operators may enable real trading based on the documented strategy and unknowingly deploy the inverse risk profile, leading to systematic financial loss and unsafe automation behavior.
The skill declares no explicit tool scope or permissions even though the documentation describes access to environment secrets, networked trading APIs, and local file reads/writes. In an agent setting, this weakens sandboxing and informed consent: a caller may invoke a skill that can place trades, persist state, and consume secrets without those capabilities being clearly declared or restricted.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
dict with bid_depth, ask_depth, imbalance, or None on error
"""
symbol = ASSET_SYMBOLS.get(asset, "BTCUSDT")
url = f"https://api.binance.com/api/v3/depth?symbol={symbol}&limit={limit}"
result = _api_request(url, timeout=5)
if not result or isinstance(result, dict) and result.get("error"):
return None
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
dict with bid_depth, ask_depth, imbalance, or None on error
"""
symbol = ASSET_SYMBOLS.get(asset, "BTCUSDT")
url = f"https://api.binance.com/api/v3/depth?symbol={symbol}&limit={limit}"
result = _api_request(url, timeout=5)
if not result or isinstance(result, dict) and result.get("error"):
return None
When run with --live, the script proceeds directly to execute real trades without an interactive confirmation or equivalent explicit acknowledgement step at the moment of order placement. In an automated trading context, this increases the chance of accidental real-money trades from mistyped commands, misunderstood defaults, or unreviewed configuration/state.
The manifest description frames the skill as trading fast markets using momentum and order book filters, but the documentation states it also scans upcoming markets, caches market IDs to fast_markets_cache.json, and uses that cache to trade during an API blackout window. That persistence and blackout-window execution behavior is a material operational capability not reflected in the concise manifest description.
The manifest says the skill trades with momentum and order book filters, but the documentation describes additional decision inputs including NOFX institutional netflow, a time-of-day filter, fee-accurate EV gating, and volatility-adjusted sizing. These are substantive parts of the strategy behavior, not just incidental implementation details.