T08 · Insecure Dependencies
- Location
clawhub.json:4- Finding
Unpinned Trading SDK Creates a Supply-Chain Compromise Risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears purpose-built for trading, but its live-trading safeguards can fail in ways that may place real trades or exceed stated limits unexpectedly.
Install only if you are comfortable reviewing the code and using a tightly limited Simmer/Polymarket credential. Avoid live mode until the dependency is pinned, paper and live clients are separated, and order-size plus account-wide exposure limits are enforced server-side or in code.
clawhub.json:4Unpinned Trading SDK Creates a Supply-Chain Compromise Risk
trader.py:53Global Client Cache Can Reuse a Live Trading Session During a Paper Run
trader.py:420Position and Order-Size Limits Do Not Reliably Bound Financial Exposure
The skill references and requires a high-value environment credential (SIMMER_API_KEY) but does not declare an explicit tool/permission scope such as allowed tools or permissions. That creates a mismatch between documented capabilities and the platform’s enforceable security boundary, increasing the risk that an agent using this skill can access sensitive environment data without clear least-privilege constraints. In this trading context, the missing scope is more sensitive than usual because the credential enables financial actions rather than just read-only API access.
Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls.
def market_volume(market) -> float:
for attr in ("volume", "volume_usd", "liquidity", "total_volume"):
value = getattr(market, attr, None)
if isinstance(value, (int, float)):
return float(value)
return math.inf
No suspicious patterns detected.