Researchers find 4,224 contracts phished 5,742 wallets

Researchers linked 4,224 simulation-phishing smart contracts to 5,742 victim addresses and estimated up to $3.48 million in losses across Ethereum, BNB, Avalanche and Polygon.

A July 30 arXiv preprint links 4,224 simulation-phishing smart contracts to 5,742 victim addresses and estimates up to $3.48 million in historical losses on Ethereum, BNB Smart Chain, Avalanche and Polygon. The paper is an unpeer-reviewed preprint.

The authors used a bytecode detector called SimGuard to identify the suspicious contracts and associated them with 6,223 victim transactions. The contracts present a benign outcome during a wallet’s pre-signing transaction simulation but execute a different branch on-chain that routes funds to attacker-controlled addresses.

The paper describes storage-control, timestamp-based and gas-control techniques that make previews misleading. In storage-control examples a contract can return a small refund or show the original balance plus a tiny reward during simulation, then change stored state-such as blacklisting the sender-before the transaction is mined so the executed branch sends the deposit elsewhere. Timestamp variants exploit differences between the simulator’s assumed block time and the final block time. Gas-control variants behave differently when a simulator and the final transaction use different gas limits. In controlled tests the researchers sent an account’s balance to a contract whose simulation returned as little as 1 wei; several tested previews displayed a positive estimate and most did not clearly show the full outgoing amount.

The paper reports that 91.5% of the estimated losses were on Ethereum and that roughly 83% of the cross-chain total ties to a single inferred attacker cluster. It cites a Jan. 8, 2025 transaction that records a Claim() call moving about 143.45 ETH through a contract labeled phishing; the on-chain record corroborates the transfer but cannot show what appeared in wallet previews.

The preprint contains unresolved details. It gives conflicting figures for the Avalanche contract count and provides inconsistent endpoints for its observation period, leaving parts of the per-chain breakdown and the exact time window unclear. The authors evaluated their detector on 44 contracts, including 30 generated with Gemini, and the linked code-and-data repository returned an HTTP 401 error when accessed. The findings have not been independently reproduced.

The paper frames its $3.48 million estimate as an upper bound because some attacker testing activity may have been counted as victim losses. The study documents historical activity and does not present evidence of an active, ongoing attack wave.

The authors recommend re-running transaction simulations when contract state or gas fields change, using the gas limit and gas price from the actual request during simulation, and testing both current and future block-number and timestamp inputs. They also advise wallet interfaces show the gross amount leaving a wallet alongside an accurate net balance change. Wallet documentation for common clients warns that estimated balance changes are predictions and not guaranteed.

Articles by this author