21 ms·
Cryptocurrency loan platform implodes in $130M hack
- ineedasername 5y agoNot a hack, in the sense of breaking/bypassing security. Each step in the chain of transactions appears to have been a legitimate transaction. It seems more like market manipulation. I'm not sure if that makes it better (no security was broken) or worse (these markets are highly susceptible to manipulation)
- mmahut 5y agoFlash loan attacks are not possible on the eUTXO models.
- rndmind 5y agoFlash loans are a software exploit, rather a vulnerability within the "economic" system of the platform. Flash loans are simply fascinating, but if this is the third time this happened to this platform, they deserve what they got. Also, that method man song is awesome, I can't believe I haven't heard of that until now. Crypto rules everything around me! Cream!
- twox2 5y agoFlash Loans are not really an exploit, but they can be used to exploit systems.
- flerovium 5y ago"...for the 3rd time" should be part of the title
- bhouston 5y agoHow does this platform still exist?
- HPsquared 5y agoPeople may have thought to themselves "Given all the mistakes they have made, they must have learned by now."
- seibelj 5y agoAndre "test in production" Cronje. I avoid the YFI mafia projects because he is either mentally unstable or purposefully screws with the communities in a type of sociopathy https://decrypt.co/37995/exclusive-yfi-andre-cronje-broke-quitting-defi https://decrypt.co/37995/exclusive-yfi-andre-cronje-broke-qu... He will release projects in prod, encourage people to throw money in, take the money and later claim he was just testing. It's bad behavior.
- arthurcolle 5y agoPlay stupid games, win stupid prizes.
- Tenoke 5y agoThe previous (and maybe this) hacks were smaller than their profits so far.
- matrixcubed 5y agoNo contingency for “fool me three times”.
- commenter88123 5y agowould be the perfect crime to create a hackable platform, hack it and steal your customer's money, quit after a while...
- rfd4sgmk8u 5y agonot so perfect. But this happens, a lot. sometimes they don't even hide it. The defi degenerates call it 'rugging', eg: rug pull. Often its not even a hack, the contract has an administrative function that allows draining the contract.
- JumpCrisscross 5y ago
- pjc50 5y agoAll fully-automated crypto platforms have an automatic bug bounty the size of the platform built in. This kind of thing happens regularly.
- idiotsecant 5y agoThat's an interesting point. I suppose we will find that any DeFi platform that survives for a decade or two will have some of the highest quality software in the world. It's survival of the fittest code.
- ur-whale 5y ago> It's survival of the fittest code. That codebase has a name: it's called Bitcoin. No discernable hackage seen in the wild for the better part of the last 7-ish years. And the incentive to find one grows exponentially with time.
- tata71 5y agoThat's how the coins themselves seem to be viewed to some extent as well. Price of Bitcoin will continue to rise as each year people figure out that, if someone can hack wallets, they're not doing it widespread enough for it to be a concern to the average bear, pun intended.
- idiotsecant 5y agoI think the underlying protocols of the big name crypto like BTC, ETH, etc... are relatively robust - I don't think anyone is doubting those. I think the thing in doubt is the complex applications running in the application space of currencies that support such functionality. These applications can often be nearly as as the underlying protocol with much looser requirements around testing!
- deleted 5y ago[deleted]
- 1270018080 5y ago"We apologize to our users and community for this unfortunate incident and thank you for your support" I do wonder how much support they're getting.
- mminer237 5y agoWhen people think their support of crypto platforms will lead to them becoming rich off the crypto speculation, I'm sure they're getting more support than you'd expect.
- jstx1 5y agoThe risk of events like this one is fundamental to DeFi right? How can people still think that it's the future? Or even remotely better than the banking system we currently have?
- NelsonMinar 5y agoBecause it's unregulated!
- lamp987 5y agoWe should make software bugs illegal.
- toomuchtodo 5y agoThe ones that kill people or cause loss of value are, criminal and civil respectively. You go to court for them, and either go to jail or compensate the victim for their loss (or sometimes both, depending on the bug and the intent and actions around it).
- snarf21 5y agoWell it is the pump of the pump & dump. Everyone assumes that they can get out of the pyramid scheme before it crashes.
- deleted 5y ago[deleted]
- jakear 5y agoIt's just like how Younique is the future of beauty products. Those who profit the most from more people believing it do a very good job of convincing more people to believe it. Do they "truly" believe it themselves, or are they just rational actors well aware that they lose a lot of money if people stop listening to them? No way to know.
- danielvf 5y ago
- 1cvmask 5y agoThis is not a cyberattack hack. It is just someone cleverly exploiting loopholes. The same happened to Ethereum at launch where they had to renege on their "promise" of (not-so-)smart contracts and create a fork. From the article: C.R.E.A.M. was targeted by what is known as a flash loan attack. Flash loans are uncollateralized cryptocurrency loans structured so that they must be paid back instantly using smart contracts, making them attractive for things like arbitrage across exchanges. If the loan isn’t paid back, then it never happens, because both occur in the same transaction. Analysts on social media who pored over the details of the attack suggested that the hacker exploited C.R.E.A.M. in an incredibly complex transaction for a flash loan that ultimately allowed the hacker to drain C.R.E.A.M.’s Ethereum-based lending pools, leading to a gain of around $130 million in different tokens. The attack cost the hacker roughly 9 ETH in network fees, or around $36,000.
- Stevvo 5y ago"Someone cleverly exploiting loopholes" That's what a cyberattack hack is.
- rossdavidh 5y agoOne definition of "hack", close to the earliest sense of the word, is "to use something in a way it was not intended when it was made". This was definitely not the way the creators of the platform intended it to be used. Whether it qualifies underall all common senses of "hack" is debatable, but it at least qualifies under a common sense of the word.
- newacc9 5y agopg has a whole article about the word. "Ugly and imaginative solutions have something in common: they both break the rules. And there is a gradual continuum between rule breaking that's merely ugly (using duct tape to attach something to your bike) and rule breaking that is brilliantly imaginative (discarding Euclidean space)."
- registeredcorn 5y ago> This was definitely not the way the creators of the platform intended it to be used. This question might be getting way too philosophical or abstract, but would the following statement be fair: "If something is designed, its design is intentional." That isn't to say, a thing that is designed can't have flaws, but, if it was created to process things in a predetermined series of events, isn't that how it's supposed to work? If someone is able to exploit the layout of that design - a flaw of logic, not of security - it seems weird to think that the act of someone using it would be considered unintended, you know? I feel like a lack of planning or thought by the designer doesn't necessarily put any responsibility on the user. Again, might be more of a debate around the concept of design...it's just a weird thing to consider something like, "Yes, the platform was built to do that, but you weren't expected to use the platform to do that!" ¯\_(ツ)_/¯
- newacc9 5y agoPosition 3 on the leaderboard: https://rekt.news/leaderboard/ https://rekt.news/leaderboard/
- nothrowaways 5y agoCool website.
- k__ 5y agounaudited unaudited unaudited unaudited unaudited unaudited well, well, well If it isn't the consequences of my own actions.
- rfd4sgmk8u 5y ago"auditing" means paying someone to run various open source solidity and EVM analysis tools and copy-pasting the results into a doc. Auditing really doesn't mean much. A lot of audited platforms get hacked. A lot of unaudited platforms get hacked. Nobody is ever accountable.
- dcolkitt 5y agoAs someone paying a six figure invoice to have their project audited right now, it's really not that simple. Do audited projects get hacked? Yes, absolutely. Is a clean audit report mean a project is bullet proof. Definitely not, especially if it's not from a top-tier firm. But an audit will definitely catch any of the common exploits that are easy to make, like this protocol doesn't check to make sure that the caller is not currently inside another transaction in the contract. All in all, an unaudited protocol has at least an order of magnitude higher risk than one audited by a reputable firm. Ignoring audits altogether would be like refusing to lock your doors, because you heard about a house that still get robbed when the front door was locked.
- danielvf 5y agoThere's the Swiss cheese theory of accidents. Each layer may have holes in it, but by having enough layers and aggressively trying to shrink the number and size of holes in each layer, you can get much more secure. External audits by good teams are a good layer, but neither they, nor any other individual layer is a silver bullet. Good audits do provide a lot of value.
- NelsonMinar 5y agoWorth reading the "incredibly complex transaction" link in the article: https://twitter.com/Mudit__Gupta/status/1453401698563596293 https://twitter.com/Mudit__Gupta/status/1453401698563596293 It's not "incredibly complex". Someone just laundered the magic beans through a series of intermediate cryptocurrencies until they got to one they could just conjure out of thin air. You know, like Tether. Don't worry though, this is good for Bitcoin.
- aantix 5y agoWhy is it good?
- NelsonMinar 5y agoThe phrase is ironic. https://knowyourmeme.com/memes/this-is-good-for-bitcoin https://knowyourmeme.com/memes/this-is-good-for-bitcoin
- makomk 5y agoIt's a bit more complicated than that, at least if I'm understanding the write-up correctly. The underlying trick is that they reduced the amount of yUSDVault shares by redeeming most of them, then doubled the value of each by gifting more of the underlying yUSD to the contract. This in itself didn't conjure anything from nothing - each yUSDVault share was genuinely worth double the yUSD as before. The trouble is that due to some fundamental design flaws in C.R.E.A.M., this meant that a much larger Cream USD holding in one account and an offsetting debt in a second were now instantly worth double what they were before. The debt was then worth more than the collateral and could just be walked away from, whilst the other account had a profit which could be liquidated to wipe out C.R.E.A.M's reserves. Actually exploiting this in practice seems to have involved a whole bunch of additional fiddly details and transactions.
- mmmmkay 5y ago> It's not "incredibly complex". lol...have you ever given any thought whatsoever to performing a similar exploit? If you have, you wouldn't be brushing this off so nonchalantly
- swalsh 5y agoSmart contract dev is a lot more like hardware development then software development. You kind of have to get it right out the door the first time. Our tooling here is perhaps inadequate.
- otterley 5y agoMakes me wonder if these smart contracts ought to be formally verified before implementation, using tools such as TLA+. I'm curious as to what experts in formal verification (of which I am most certainly not!) think.
- twox2 5y agoDoes formal verification stand up against logic flaws like this? I mean in theory, this thing functioned exactly as designed.
- otterley 5y agoI'm assuming, perhaps incorrectly, that the designers did not in fact intend for it to work this way.
- smt88 5y agoYou are incorrect. The system functioned as it was designed. This was an edge case that the designers didn't anticipate. In fact, this is a great illustration of why formal verification is not nearly sufficient to guarantee a properly functioning trading system.
- allemagne 5y agoAre the statements: "the system functioned as designed" and "the system is not working as intended" mutually exclusive? I understand how the first can be arguable (or obvious, depending on what you mean), but are you really saying the second isn't true?
- 5y ago
- ur-whale 5y agoFrom the POV of software engineering, smart contracts are really interesting in the following sense: there has pretty much never been any software stack where the cost of a bug/design flaw is so severe and so immediately punishing (except, maybe, space shuttle control type software). As exemplified by - historically - the infamous DAO, and since then a very long string of buggy smart contracts leading to large loss of monies (this one being the latest), smart contracts are really good at curing SWE hubris that they are actually capable of writing bug-free code without machine assistance. For all the bad things people say about blockchains and related tech., I suspect they will bring about a new era in formal software verification methods.
- kevinpet 5y agoThe August attack (1) seems to be a real hack, exploiting bugs in the code. This current attack sounds more like market manipulation, but all bundled up in a single transaction. I can't find the details, but in the real financial world, there's a reliance on multiple competing arbitrageurs who make it hard to move the market much in big securities. In an automated system, that can all happen instantly. 1. https://halborn.com/explained-the-cream-finance-hack-august-2021/ https://halborn.com/explained-the-cream-finance-hack-august-...
- diveanon 5y agoHN really shows how little it knows about the defi landscape whenever posts like this show up.
- allemagne 5y agoMy prior is that Proof of Work is a solid basis for an (inefficient and tautological) form of digital scarcity, or even a public random number generator, but nearly every crypto application outside of that seems to range from trivial, to mania, to downright fraud. Assuming I do want to understand the DeFi landscape (and willing to suspend my disbelief some amount to do so), where is a good place to begin?
- diveanon 5y agoTwitter and telegram are where most of the communities live. There are thousands of people there more than happy to show you the ropes.
- danielvf 5y agoAs someone working full time in this, it is terrifying how inaccurate many comments in this thread are.
- diveanon 5y agoLikewise, I'm doing web stack consulting for several defi projects right now and the vast majority of what comes out of HN is straight up uneducated FUD. This forum is pretentious on its good days, and when it comes to crypto it is just willfully ignorant.
- lostmsu 5y agoIt would be more helpful for the community if you pointed out the flaws. Even without much DeFi experience I can see some comments are simple dismissals without understanding the enormity of technical details, which is a fatal mistake in the field. Not many explanations of why those dismissals are wrong though.
- patio11 5y agoInterestingly, Justin Sun has apparently withdrawn more than a billion in USDC from the Aave liquidity pool in apparent response to that. (It’s 2 AM in Tokyo and so I can’t elaborate for HNers who think that sentence is Greek. Short version: it’s going to be a very long day for some DeFi war rooms.)
- contravert 5y agoAlthough a flashloan was used in this exploit, that's just a tool to leverage a fundamental flaw in the protocol. Flash loans clearly do more harm than good, so it's completely irresponsible for major DeFi platforms to still have this feature at this point. The actual flaw is in Cream's oracle design for certain exotic long-tail assets. Basically, smart contracts need to get the price of an asset, and Cream was using the most naive way of simply calling the equivalent of asset.getPrice(). The reason this approach is critically unsafe is highlighted by this incident. A flashloan can alter price, borrow assets based on the new price, then return the price to normal before the transaction is finished. This is not merely a coding bug but a basic design flaw that should have been caught by anyone with even a basic understanding of oracle design. It really reflects poorly on the competence of the entire DeFi space, considering CREAM is a pretty major protocol.
- danielvf 5y agoSince Hacker News is the place for pendency, let me point out that the oracle here worked 100% correctly, and correctly reported the actual value of yUSD. yUSD's value did actually double during the attacker, because the attacker gave yUSD holders millions of dollars as part of the attack.
- rodiger 5y agoFlash loans are incredibly powerful and allow those without capital to take advantage of arb opportunities. I don't believe it is a given that they do more harm than good at a philosophical level. Not to mention, this exploit still exists without flashloans (however, anyone with $500,000,000 in crypto has likely KYC'd somewhere, so the risk profile is different). The solution is better coding practices, and plenty of platforms have protections against this.
- stingraycharles 5y agoI’m a total cryptocurrency noob. Could you elaborate a bit further on what an oracle is in this context? I’m familiar with the term oracle in crypto for things such as a padding oracle, but I feel that what you’re referring to is a different kind of oracle.
- gzer0 5y agoDetails of this "complex transaction" [0]. 1. Using account A, Flash Borrow 500m DAI 2. Deposit 500m dai into yDAI 3. Deposit ~500m yDAI into yUSD 4. Deposit ~500m yUSD into yUSDVault 5. Mint ~$500m crYUSD (it used yUSDVault as underlying) 6. Account A now has $500m crYUSD 7. Using account B, flash borrow $2b ETH 8. Mint cETHER 9. Borrow 500m yUSDVault 10. Mint $500m crYUSD 11. Transfer $500m crYUSD to account A 12. Borrow 500m yUSDVault 13. Mint $500m crYUSD 14. Transfer $500m crYUSD to account A 15. Borrow 500m yUSDVault 16. Transfer 500m yUSDVault to account A 17. Account A now has $1.5b crYUSD and $500m yUSDVault 18. Using account A, Redeem $500m yUSDVault 19. Transfer 8m yUSD to yUSDVault to ~double its’ share value 20. Since yUSDVault is now worth double, cream now thinks that the account A’s $1.5b crYUSD is worth $3b 21. Borrow $2b ETH 22. Account A now has $2 ETH, $500m yUSD, and $1b in Cream collateral. 23. The ETH and yUSD can be used to pay back the flash loans while the $1b collateral can be used to drain Cream. [0] https://twitter.com/Mudit__Gupta/status/1453401698563596293 https://twitter.com/Mudit__Gupta/status/1453401698563596293
- elliekelly 5y agoAm I understanding correctly that all of this happens in one single transaction? The flash loan is borrowed, deployed, and repaid in one fell swoop? I’m trying to think of the most complicated single transaction item I’ve ever seen booked. I wish I wasn’t so rusty because trying to figure out the journal entries for this would be a fun little nerd puzzle.
- gzer0 5y agoThe attack was executed over multiple transactions due to block gas limits, but the bulk of it happened in this transaction [0]. Edit: These sort of financial engineering, whether one believes it to be an inherent flaw or not, are the exact reason why banks and financial regulation were eventually adopted. Crypto becomes the wild west, we have these "flaws / glitches / financial engineering" -> many people lose money -> regulation by lawmakers -> the circle repeats itself. [0] https://etherscan.io/tx/0x0fe2542079644e107cbf13690eb9c2c65963ccb79089ff96bfaf8dced2331c92 https://etherscan.io/tx/0x0fe2542079644e107cbf13690eb9c2c659...
- bob229 5y agoCrypto is for idiots
- timoth3y 5y agoThis was not a hack. This is the equivocation that is at the heart of smart contracts. The promise of smart contracts is that "the code is the law". There is no need for trust, courts, or intermediaries. Of course his only works if the contract correctly implements a perfectly defined spec and has no bugs. If one claims "the code is the law" they cannot claim it is a "hack" or "theft" when their code executes as written rather than as they desire. This "theft" is an example of things working exactly as designed, and this seems to be an unfixable flaw in the concept behind smart contracts.