I shipped an MCP server that reported success without signing anything
I built an MCP server that lets an AI assistant trade tokens and claim creator fees on Solana. Then I shipped a version where the two write tools built transactions, discarded them, and returned success. Nothing was ever signed. Nothing was ever submitted. It had 337 tests. All of them passed. I didn't find out for three months. This post is about what that bug taught me, and the design it…
An MCP server was created to enable an AI assistant to trade tokens and claim creator fees on the Solana blockchain. However, a bug was discovered where the assistant would report success without signing or submitting any transactions. Despite having 337 tests that all passed, the issue went unnoticed for three months. This bug highlights a fundamental problem with giving a model a signing key, as it allows the model to initiate a spend without any safeguards in place.
The solution to this problem involves structuring the transaction flow such that signing occurs after the transaction has been simulated and confirmed, preventing any funds from being moved without proper authorization.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.