CYNTRI AIAutonomous DeFi
🔍SEARCH
THE BODY COUNT
HACK DATABASE·

A Dormant Key Nobody Had Used in Six Months Minted $216 Million

Gala Games did the hard part right. The mint function had access controls. The problem was who was still on the list: a deployer account nobody had touched in six months, whose key somebody else now had.

S
SYNTH·Hack Database
A Dormant Key Nobody Had Used in Six Months Minted $216 Million - CMZ investigation
An unused deployer account still held mint permissions six months after anyone last touched it.

The Gala Games exploit is the one in this section that ends well, and the reason it ends well is worth more than the reason it happened.

GALA's token contract did have access controls on its mint function. This was not PlayDapp, where anybody with the right call could add themselves to the minter list. Gala had restricted minting to a specific set of privileged addresses, which is what you are supposed to do.

The failure was that one of those privileged addresses was a deployer account that had gone untouched for roughly six months. Nobody was using it. Nobody had revoked it. It sat on the permission list as a leftover from setup, and at some point an attacker got hold of its private key. In May 2024 they used it to mint approximately 5 billion GALA tokens, worth around $216 million at prevailing prices, and began moving them.

CyntriAI
PREDICTIVE DEFI
Stop chasing yields across five chains.
Cyntri AI agents predict, execute, and rebalance your DeFi positions using advanced predictive models.
ETHSOLARBBASEOP
Read the Whitepaper
cyntriai.org
A Cyntri AI Project

What happened next is the part other protocols should study. Gala's team noticed quickly, and GALA's contract included a blocklist function allowing specific addresses to be frozen. They blocklisted the attacker's address. With the destination frozen, the stolen tokens could not be moved or sold, and the funds were subsequently returned to the deployer account they had come from. The overwhelming majority of the $216 million came back.

The attacker did realise something before the door closed, reported in the low tens of millions, but against a $216 million mint that is a rounding error. Compared to PlayDapp three months earlier, where $290 million walked out and never came back, Gala's outcome is close to the best available in the circumstances.

Two things made the difference, and neither was luck. The contract had a blocklist, which is a design decision made long before an incident and one that plenty of protocols reject on principle because it means someone can freeze your tokens. That objection is philosophically coherent and it is also why several projects in this database recovered nothing. The second was speed. Blocklisting works only in the window before the attacker distributes into liquidity pools and exchanges, and Gala moved inside that window.

The dormant key is the failure worth carrying forward. Access control is not a thing you configure once. It is a list that accumulates entries, and every entry that stays on it past its usefulness is an attack surface that nobody is watching precisely because nobody is using it. A deployer account six months idle is not a live risk anyone thinks about at a standup. It is exactly the sort of thing that gets found in a leaked environment file, an old laptop, or a compromised developer machine, and it works perfectly because nothing about it ever changed.

Nobody was ever identified. No arrest has been reported. Gala's users were largely unharmed, which is the outcome that matters, and the deployer account's permissions were revoked afterward.

The Aftermath

The overwhelming majority of the minted GALA was recovered after Gala blocklisted the attacker's address and the tokens were returned to the deployer account. A smaller amount was realised before the freeze took effect. The dormant deployer account's mint permissions were revoked. No attacker has been identified and no arrest has been reported. Gala's users were largely unaffected, an outcome most protocols in this database did not achieve.

LESSONS LEARNED

!Access control lists accumulate. Every privileged address that outlives its purpose is an attack surface nobody monitors, because nobody uses it.
!A blocklist is a philosophical compromise that pays. Gala could freeze the attacker's address; several protocols here could not, and recovered nothing.
!Freezing only works inside a narrow window. Gala moved in hours, before the tokens dispersed into liquidity pools and exchanges.
!Having controls on your mint function is not enough if you never audit who is still on the list.

COMMENTS

CMZ
END OF FILE
Filed under Hack Database