T09 · Insecure Skill Coding Practices
- Location
SKILL.md:44- Finding
Unvalidated External Transaction Parameters May Cause Unauthorized Token Approvals or Deposits
- Content
View full analysis
", "walletAddress":"", "fromAmount":"1000000", "fromTokenAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" }' ``` 6. For execution: - Prefer an embedded or Agentic Wallet connected in Miraix. - Execute approval first if `estimate.approvalAddress` is present and allowance is insufficient. - Execute the Composer deposit transaction. ``` ### Technical Analysis The workflow instructs the agent to use the first vault recommended by an external service as the default target and subsequently execute approval and deposit transactions derived from that service. It does not require independent verification of critical transaction properties, including: - Whether the vault and approval spender are trusted contracts. - Whether the returned chain, token, amount, recipient, and calldata match the user's request. - Whether the requested allowance is limited to the exact deposit amount. - Whether the transaction has unexpected token transfers or contract calls. - Whether the expected receipt token is authentic. - Whether the transaction succeeds in a simulation without unintended state changes. - Whether the user has reviewed and explicitly confirmed the final decoded transactions. The mere presence of `estimate.approvalAddress` is treated as sufficient grounds to approve that address. Consequently, a compromised, faulty, or manipulated API response could cause the wallet to approve an ...[truncated 1804 chars]- Remediation
View remediation
