Opus finding
`PolymarketAction.create_market` exposed as LLM tool despite docstring 'used internally for seeding'
mediumsecuritymedium
- backend/wonderwall/simulations/polymarket/actions.py:91-108
- backend/wonderwall/simulations/base.py:253-266
`create_market` is an async public method on PolymarketAction, so it’s auto-discovered as an LLM tool — directly contradicting the docstring. Worse, `PolymarketPlatform.resolve_market` checks creator-id-based authority, so an agent that creates a market can resolve it (in any direction) and pay itself the entire pool. There is no rate-limit or permission check on create_market or resolve_market.
Recommendation
Either add `create_market` (and `resolve_market`) to PolymarketAction._excluded_methods, or add platform-side authorization (e.g., only an admin agent can create/resolve, or markets resolve based on a verifiable external event).