🚨 SECURITY ALERT: Terra Classic Proposal #12235 Is NOT What It Seems

I reverse-engineered the raw on-chain data for $LUNC governance proposal #12235. What I found should concern every holder.

The Trojan Horse:
Proposal claims to be a simple IBC client recovery. Reality? It's bundling TWO separate operations:

1️⃣ IBC client recovery (07-tendermint-285 → 07-tendermint-294)
2️⃣ CosmWasm contract upload with ZERO source code disclosure

The Wasm Binary Red Flags:
Extracted the Base64 payload. Found internal Rust identifiers:
• drain::ExecMsg
• drain::MigrateMsg
• drain::BalResp

Exports migration entry points, IBC packet handling, token transfer logic. No human-readable source. Just raw bytecode.

SHA-256: 6f6ed8f1e216b550c798bdee43cc68cf63977004ceeb3bad432febf3b9eefdf7

The Permission Exploit:
Proposal #12234 just passed, restricting code uploads to governance only. Smart.

BUT it left instantiate_default_permission: Everybody

Proposal #12235 uploads code with instantiate_permission: null

Meaning? Anyone can deploy this contract after governance approves the bytecode. You're voting to arm a loaded gun and leave it on the table.

Why This Matters:
Legit IBC recovery doesn't need mystery smart contract uploads. Bundling them together is a governance attack pattern. Either the proposer doesn't understand operational security, or they're banking on voters not reading the raw transaction data.

My Verdict: VOTE NO

Until the proposer provides:
✅ Full source code
✅ Reproducible build matching the binary fingerprint
✅ Independent security audit
✅ Explanation of why IBC recovery needs a "drain" contract
✅ Clear deployment plan with admin permissions disclosed

This proposal is a hard pass.

Governance is not a rubber stamp. Opacity is not acceptable. If this is legitimate, publish the code and open a forum discussion. If it's not, this vote just saved the chain.

Security > speed. Always.

#LUNC #TerraClassic