T05 · Unauthorized Access and Privilege Escalation
- Location
clawhub.json:3- Finding
Wallet Private Key Is Requested Outside Live-Trading Operations
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a real-money trading skill with disclosed dry-run defaults, but it asks for a raw Solana private key too broadly and can trade live when safety context is unavailable.
Review this skill carefully before installing. Use only paper mode unless you are comfortable giving it trading authority, and avoid providing a wallet private key unless the package is changed to request it only for explicit live execution. The fail-open safeguard behavior should be fixed before live use.
clawhub.json:3Wallet Private Key Is Requested Outside Live-Trading Operations
clawhub.json:8Security-Critical Trading Dependency Is Not Version or Hash Pinned
trader.py:348Trading Safeguards Fail Open When Market Context Is Unavailable
trader.py:254Trade Sizing Can Exceed the Configured Maximum Position Limit
trader.py:119Heuristic Market Grouping Can Treat Incomplete or Unrelated Markets as Exhaustive Bins
The declared description understates the skill's effective capabilities by omitting position management, market discovery, config persistence, journaling, and the additional live-trading credential. For a financial trading skill, this mismatch is dangerous because users may authorize or run it without realizing it can manage existing positions, persist settings, or use additional secrets to place live trades.
The manifest requests SOLANA_PRIVATE_KEY even though the skill description and dependency set are for a Kalshi ETH bin trader and provide no Solana-related functionality. Requesting an unrelated blockchain private key is a strong indicator of over-privileged credential collection and could enable theft of the user's Solana assets if the key is later accessed by the entrypoint.
Access to a Solana private key is context-inappropriate for a Kalshi ETH distribution trading skill, making the secret request suspicious on its face. In this context, the mismatch increases danger because users may provide a highly sensitive key under the assumption it is required for legitimate trading, creating a direct path to wallet compromise.
The skill requests access to environment-sourced credentials but does not declare an explicit tool/permission scope. In a trading skill, undeclared env access increases the chance that an agent or platform grants broader secret access than users expect, which can expose API keys used for real-money actions.
This markdown skill file describes what the skill does, but it does not define when the skill should be invoked, what user requests should trigger it, or any exclusions/negative examples. For manifest/markdown files, that missing trigger scope can cause ambiguous routing or unintended invocation by an agent selecting skills from descriptions alone.
The manifest asks for a private key but provides no warning about the sensitivity of that credential, how it will be used, or the financial risk of automated trading. Even if the key request were legitimate, omitting explicit disclosure increases the chance that users will unknowingly expose high-value secrets and enable unsafe automated actions.
The header documents only SIMMER_API_KEY as a requirement for the skill overall, but live mode also depends on SOLANA_PRIVATE_KEY and triggers real trading when run with --live. Understating credential and execution requirements is dangerous because operators may approve or deploy the skill under an incomplete trust model, leading to unintended exposure of sensitive signing keys and accidental live trading.
The skill description says it trades ETH bin markets, but the implementation also performs remote market discovery and import operations through list_importable_markets and import_kalshi_market before trading. This expanded behavior increases risk because a user expecting a passive trader may unknowingly authorize asset-discovery and remote state-changing API actions, broadening both operational impact and attack surface.
The documentation inconsistently states credential requirements, first saying only SIMMER_API_KEY is required and later adding SOLANA_PRIVATE_KEY for live trading. In a trading context, conflicting secret requirements can cause users to provide sensitive private keys unnecessarily or misunderstand when real-money signing capability is enabled.