Loading market data...

DeFi Hackers Stole $36.7M From Four Unverified Contracts, Chainalysis Warns of AI Tool Risk

DeFi Hackers Stole $36.7M From Four Unverified Contracts, Chainalysis Warns of AI Tool Risk

,

. Keep them. First paragraph: "Crypto hackers drained roughly $36.7 million from four DeFi protocols over the past six months — and every single one of the exploited contracts had source code that was never publicly verified on blockchain explorers. The largest incident, a $26 million hit on Ethereum-based Truebit in January, exploited an integer overflow in code written in a Solidity version from 2018. Now Chainalysis is warning that the attack vector is growing more dangerous as cheap AI tools make it easier for thieves to tear through unverified bytecode." Translate: "ক্রিপ্টো হ্যাকাররা গত ছয় মাসে চারটি ডিফাই প্রোটোকল থেকে প্রায় $36.7 মিলিয়ন চুরি করেছে — এবং শোষিত প্রতিটি চুক্তির সোর্স কোড ব্লকচেইন এক্সপ্লোরারগুলিতে কখনও প্রকাশ্যে যাচাই করা হয়নি। সবচেয়ে বড় ঘটনা, জানুয়ারিতে ইথেরিয়াম-ভিত্তিক Truebit-এ $26 মিলিয়নের আক্রমণ, 2018 সালের একটি Solidity সংস্করণে লেখা কোডে একটি ইন্টিজার ওভারফ্লো শোষণ করেছিল। এখন Chainalysis সতর্ক করছে যে সস্তা এআই টুল চোরদের জন্য অযাচাইকৃত বাইটকোড ভেদ করা সহজ করে দেওয়ায় এই আক্রমণের পদ্ধতি আরও বিপজ্জনক হয়ে উঠছে।" Note: "integer overflow" -> "ইন্টিজার ওভারফ্লো", "bytecode" -> "বাইটকোড". Keep proper nouns: Truebit, Solidity, Chainalysis. Second paragraph:

The $26M Truebit Exploit

then text. Translate heading: "$26M Truebit শোষণ" or better: "$২৬ মিলিয়ন Truebit শোষণ"? But keep $ sign? Usually in Bengali we write "$২৬ মিলিয়ন" but can keep $26M as is? Requirement says keep numbers accurate, but translate naturally. I'll use "$26M" as it's a currency symbol and number. But in Bengali text, it's common to write "$২৬ মিলিয়ন" or "$26 মিলিয়ন". I'll use "$26 মিলিয়ন" for clarity. For consistency, in title we had "$36.7M" - I'll write "$36.7 মিলিয়ন" or "$36.7M"? Let's decide: In Bengali news, often they keep the dollar sign and number. I'll keep "$36.7M" but in Bengali script? Actually the requirement says "Keep all facts, numbers, and data accurate" - so number should remain 36.7M. I'll keep as "$36.7M" in translation? But in Bengali text, it's better to write "$৩৬.৭ মিলিয়ন" or "$36.7 মিলিয়ন"? I'll use "$36.7 মিলিয়ন" mixing English numeral with Bengali word. To be safe, I'll use "$36.7M" as in original? But then it's not Bengali. I think use Bengali digits for numbers? The instruction didn't specify digit form. But typical Bengali news uses English digits for numbers. I'll keep English digits for numbers and dollar sign. So "$36.7M" is fine. But in translation, we need to write in Bengali script. So I'll write "$৩৬.৭ মিলিয়ন" using Bengali digits? That might be more authentic. Let's check: In Bengali Wikipedia, they use Bengali digits for numbers. But in many news articles, they use English digits. I'll use English digits for simplicity and consistency with original. So "$36.7M" remains as is. However, for readability, I'll write "$36.7 মিলিয়ন" (with space and Bengali word). Similarly, "$26M" -> "$26 মিলিয়ন". I'll do that. Heading: "$26M Truebit শোষণ" - but better: "$২৬ মিলিয়ন Truebit শোষণ" using Bengali digit? I'll use "$26 মিলিয়ন Truebit শোষণ" (English digit). Text: "Truebit's contract had been sitting on Ethereum since 2021 — unverified and unreviewed. Attackers cracked it by finding an integer overflow flaw in the bonding curve. The code was written in Solidity v0.5.3, which lacks automatic overflow protections. That version is years old, but the contract was never updated or audited. Bug bounty programs often exclude unverified contracts, so that vulnerability sat untouched for years." Translate: "Truebit-এর চুক্তিটি ২০২১ সাল থেকে ইথেরিয়ামে বসে ছিল — অযাচাইকৃত এবং অপর্যালোচিত। আক্রমণকারীরা বন্ডিং কার্ভে একটি ইন্টিজার ওভারফ্লো ত্রুটি খুঁজে এটি ভেঙে ফেলে। কোডটি Solidity v0.5.3-এ লেখা হয়েছিল, যাতে স্বয়ংক্রিয় ওভারফ্লো সুরক্ষা নেই। সেই সংস্করণটি বছরখানেক পুরনো, কিন্তু চুক্তিটি কখনও আপডেট বা অডিট করা হয়নি। বাগ বাউন্টি প্রোগ্রামগুলি প্রায়শই অযাচাইকৃত চুক্তি বাদ দেয়, তাই দুর্বলতাটি বছরের পর বছর ধরে অক্ষত ছিল।" Third paragraph:

Old Solidity Code Left Unchecked

-> "পুরনো Solidity কোড অপরীক্ষিত রেখে দেওয়া" (or "অযাচাইকৃত"?). Better: "পুরনো Solidity কোড যাচাই ছাড়া রাখা" but I'll use "পুরনো Solidity কোড অপরীক্ষিত"। Then text: "All four compromised contracts — Truebit, Trusted Volumes, Aperture Finance, and Ekubo — shared one thing: no one had ever verified their source code on Etherscan or similar tools. Without verification, the actual logic running on-chain is opaque. Attackers don't need the source; they can grab the deployed bytecode and decompile it using tools like Dedaub, Heimdall, or Panoramix. Then they apply AI systems to hunt for reentrancy, arithmetic errors, and access-control flaws. That's exactly what happened across all four incidents, which also involved input-validation errors and identity verification failures." Translate: "চারটি আপসকৃত চুক্তি — Truebit, Trusted Volumes, Aperture Finance, এবং Ekubo — একটি জিনিসে মিল ছিল: কেউ কখনও Etherscan বা অনুরূপ টুলগুলিতে তাদের সোর্স কোড যাচাই করেনি। যাচাই ছাড়া, অন-চেইনে চলমান প্রকৃত লজিক অস্বচ্ছ। আক্রমণকারীদের সোর্সের প্রয়োজন নেই; তারা ডিপ্লয়েড বাইটকোড নিয়ে Dedaub, Heimdall, বা Panoramix-এর মতো টুল ব্যবহার করে ডিকম্পাইল করতে পারে। তারপর তারা রিএন্ট্রেন্সি, গাণিতিক ত্রুটি এবং অ্যাক্সেস-কন্ট্রোল ফ্ল খুঁজতে এআই সিস্টেম প্রয়োগ করে। চারটি ঘটনায় ঠিক এটাই ঘটেছে, যাতে ইনপুট-ভ্যালিডেশন ত্রুটি এবং আইডেন্টিটি ভেরিফিকেশন ব্যর্থতাও জড়িত ছিল।" Note: "reentrancy" -> "রিএন্ট্রেন্সি" (common term). "arithmetic errors" -> "গাণিতিক ত্রুটি". "access-control flaws" -> "অ্যাক্সেস-কন্ট্রোল ফ্ল". "input-validation errors" -> "ইনপুট-ভ্যালিডেশন ত্রুটি". "identity verification failures" -> "আইডেন্টিটি ভেরিফিকেশন ব্যর্থতা". Fourth paragraph:

Attackers Turn to AI and Byte