T09 · Insecure Skill Coding Practices
- Location
index.ts:362- Finding
AMM Operations Disable Slippage Protection
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent Base Sepolia prediction-market integration, but it can immediately sign wallet transactions and has weak trade-safety controls.
Review before installing. Use only a dedicated Base Sepolia wallet with limited test funds, never a reused private key, and manually confirm every write transaction. Be especially careful with buy, sell, and add-liquidity actions because the skill sets minimum received amounts to zero. Avoid automating HEARTBEAT.md arbitrator actions unless there is a separate human approval step.
index.ts:362AMM Operations Disable Slippage Protection
The oracle governance functions can approve bond transfers, propose outcomes, dispute proposals, finalize markets, arbitrate disputes, and reset oracle state immediately on invocation. In a prediction-market skill, these are especially dangerous because they can both spend funds and directly determine market resolution, so prompt injection or accidental invocation could cause financial loss and governance manipulation.
The skill exposes users to real blockchain transactions involving USDC, trading losses, oracle bonds, and irreversible settlement actions, but it does not prominently warn that operations are final, can lose funds, and may require signed on-chain transactions. In this context, the absence of explicit risk and confirmation guidance increases the chance that an agent or end user will execute financially harmful actions without informed consent.
The market creation function directly performs ERC20 approval and then submits a live createMarket transaction as soon as it is invoked. In an agent skill context, that means a prompt-influenced call can immediately spend wallet funds and create an irreversible on-chain position without any built-in preview, confirmation gate, or policy checks.
The buy functions execute token approval and swap transactions immediately, with slippage protection hardcoded to 0n, meaning any amount of shares is accepted. In an autonomous or semi-autonomous agent, this creates a real risk of prompt-triggered fund loss, MEV/front-running exploitation, or severe price execution without the user being warned before funds are committed.
The sell functions immediately approve outcome tokens and submit live sell transactions with minimum output set to 0n. This can cause users to liquidate positions at arbitrarily poor prices if the market is manipulated or front-run, and there is no in-code confirmation barrier to prevent an agent from being socially engineered into selling holdings.
The liquidity functions approve funds and alter LP positions immediately without any explicit user warning or confirmation. Adding or removing liquidity changes portfolio exposure and may strand funds in illiquid or adversarial markets, which is particularly risky when actions can be triggered through agent workflows rather than a dedicated wallet UI.
These functions invoke irreversible on-chain actions such as claiming, emergency withdrawal, and post-resolution withdrawal directly when called. While some are beneficial, they still affect wallet state and can realize losses, lock in outcomes, or interact with untrusted contracts without a final user authorization step in the skill itself.
No suspicious patterns detected.