3DOↃ Security

94 posts

3DOↃ Security banner
3DOↃ Security

3DOↃ Security

@3DOCsec

Cyber entomologist | warden, judge, Zenith @code4rena | FV ambassador @Certora

CET Katılım Haziran 2023
243 Takip Edilen644 Takipçiler
Bernhard Mueller
Bernhard Mueller@muellerberndt·
Many vulnerability checks can be expressed as math problems and solved deterministically. That’s what formal verification is about. It used to be impractical to apply this at scale, but reasoning LLMs make it totally OP.
English
9
6
71
5.8K
3DOↃ Security
3DOↃ Security@3DOCsec·
@eloufirjawad You are absolutely right. Let’s also not forget our brain, otherwise it’s shoveling low cost poop for someone else’s brain’s forced consumption
English
0
0
0
29
Jawad El Oufir
Jawad El Oufir@eloufirjawad·
@3DOCsec You need to use multiple llms at once and not rely on the findings of one...
English
1
0
0
26
3DOↃ Security
3DOↃ Security@3DOCsec·
LLMs are bringing security research to the next level. Yesterday, they made up non-existing bugs. Today, they make up non-existing code, and report bugs on it. Tomorrow, they'll reply to this post saying how game-changing their model is over the ones I'm talking about
English
3
1
38
1.8K
Bernhard Mueller
Bernhard Mueller@muellerberndt·
First time competing on @cantinaxyz. The result is ok given that I learned Chialisp from scratch & only audited during the cutscenes while playing Doom TDA. But I'll try to do better next time
Bernhard Mueller tweet media
English
17
8
307
18.4K
3DOↃ Security retweetledi
guhu
guhu@Guhu95·
You can measure how vulnerable the code is after a contest. This can help: - Projects and users to estimate hack risk - Bug hunters to scope targets - Ecosystem to track what works best - Platforms to manage reputation risk TL;DR: More solo findings -> more hidden bugs. This works for most formats: flat pot, conditionals, invitationals, reserved auditors. As long as duplicates are allowed. ### Recent examples: - Cork exploit: last private contest had 4 solo mediums (out of 4 total mediums). "Chao 1 bias-corrected" estimates 6 unfound bugs. Jackknife 8 more bugs. - BeraBorrow's Recon's recent post about a critical: private contest had 8 solo mediums (out of 15 mediums), 6 doubletons (doubletons = found by two auditors). Chao 1: 4.5 more bugs, Jackknife: 9 more bugs. ### The science of capture-recapture There are many disciplines that use this approach: software engineering, quality control, biology & ecology, epidemiology, criminology, linguistics. Similarly, there are many estimator formulas: Lincoln-Petersen, Chapman, Schnabel, Schumacher–Eschmeyer, Jolly–Seber, Chao 1 & 2, ACE, ICE, Jackknife 1 & 2, Bootstrap, Zelterman, Good–Turing, etc. Will post some links below. Two simple examples are Jackknife 1 & 2, Chao 1 & 2 which roughly say : - Jackknife 2 (second-order, simplified): `unfound = 2 * uniques - doubletons`. Jackknife is more popular in software-inspection studies. - Chao 1: `unfound = (uniques^2) / (2 * doubletons)`. (A slightly different version for no doubletons) Specifics don't matter really - pick your favorite from the long list. What's important is they all say: more unique findings -> more hidden bugs. ### Intuitions Math is not always intuitive, so here are some intuitions. 1. Parallel worlds: If a bug is unique to one finder, there’s a parallel world where it stayed hidden because he got sick, or was booked on an audit, or just missed it. Maybe you're in that parallel world. In contrast, if there are many duplicates - in most worlds the same bugs are found. 2. Serial auditing: If you imagine auditors working in sequence, the contest is just a stopping point for the sequence. The contest with uniques stopped when new bugs were still being found, so more like these remain. In contrast, the contest with only duplicates stopped after finding most bugs of similar rarity. ### What can we do?! 1. Measure: what platforms, pot sizes, contest formats give the best coverage? 2. Educate clients on the more secure formats with data. 3. If you're a project, check if your contest was weak. ### No solo findings = code is safe? No. It's possible whole classes of niche bugs (e.g. cryptography) or higher complexity bugs were not found because pot was too low. That's always a risk. This rule doesn't tell as what's safe, but it tells us what's LIKELY still vulnerable. --------- See next tweet for links and statistical nitpicking
guhu tweet media
English
8
9
105
9K
3DOↃ Security retweetledi
Code4rena
Code4rena@code4rena·
Code4rena will run audit contests for free, as public goods. 100% of funds from sponsors will go directly to auditors and judges. We won't take any cut. Why? 1. Competitions are commodities. They're CRUD apps. Why should builders pay premium for a website just to submit bugs? Especially smaller teams without VC funding. 2. Everyone deserves competitions. We tell all our clients to get a competition after their audit. That's because competitions simulate real world conditions, where there's thousands of eyes on a protocol. We want to make competitions as affordable as possible so everyone can get one. 3. It benefits our wardens. In 2021, we invented the competition format. We're still the platform with the largest auditor pool (10,000+ registered). Not only should builders have access to the best security talent, we believe auditors should have opportunities to work with great projects. Opening up our platform benefits our wardens. How will you afford this? Zellic is a profitable business. We make money doing traditional private audits through Zellic and Zenith. This benefits us because: (1) our clients are more secure after they run contests, and (2) Code4rena is a talent pipeline for Zenith. Will you stop maintaining the platform? Of course not. Since we acquired Code4rena, we've shipped several features and have several more already underway. C4 has a dedicated dev team that we're fully committed to. Besides, many of our clients at Zellic use C4. We're incentivized to make sure the platform works well. It's just that now we're allowing everyone to benefit from our investments in Code4rena. In conclusion: Run a contest on Code4rena! We won't take a cut, your prizes will go directly to wardens and judges. For full details, check out our blog post here: zellic.io/blog/code4rena…
Code4rena tweet media
English
92
130
754
193.3K
Alex the Entreprenerd
Alex the Entreprenerd@GalloDaSballo·
Can I just deploy bytecode if I want to write pure bytecode SCs? Anybody got a decent workflow, or am I forced to create a factory in foundry and just test that way?
English
10
0
3
1.3K
3DOↃ Security retweetledi
bountyhunt3rz podcast
bountyhunt3rz podcast@bountyhunt3rz·
BOUNTYHUNT3RZ Episode 12: w/ @tpiliposian @0xriptide Bringing out the AUDITOOOR We discuss how auditors and bounty hunters differ, @hexens audit model, what the @certora prover actually does, what devs should do prior to deploying, RED FLAGS to look for when looking at a project to bounty hunt on, why everyone misses bugs, getting your money's worth as a protocol dev with audits and contests, and much, much, more ... podcast, discord, substack -> linktr.ee/bountyhunt3rz
English
2
10
58
7.2K
3DOↃ Security
3DOↃ Security@3DOCsec·
@Stacks if this is not a severe security issue for you guys, I literally don’t know what would. For the record: are you guys really swiping it under the carpet? Why?
100proof.org@1_00_proof

Last year, @neumoXX and I (hunting as Pai Mei & Gandalf) discovered and disclosed a very plausible phishing attack on the most common NFT contract in the @Stacks ecosystem. At its heart, it's due to the way authentication is commonly implemented in Clarity contracts. But it turns out the authentication method is known and accepted by the Stacks ecosystem, even though it's been debated for many years. We aren't convinced that it's safe enough. So we've written a blog post about it with the sincere hope that it sparks wider discussion. It's time the debate moved beyond GitHub Issues and gets much more exposure. 100proof.org/a-questionable…

English
0
0
0
28
3DOↃ Security
3DOↃ Security@3DOCsec·
@0xGreed_ Ouch that is less fun. But the bright side is that it could become a nice gag for a new date 😅
English
0
0
1
56
Greed
Greed@0xGreed_·
@3DOCsec based on a true story... 👀
English
1
0
2
108
Greed
Greed@0xGreed_·
POV: smart contract security researchers going on a date
Greed tweet media
English
4
2
57
1.9K
3DOↃ Security retweetledi
neumo
neumo@neumoXX·
Kicked from Immunefi for not paying? Hold my beer.
neumo tweet media
0xDjango@0xDjangoOnChain

In November, I submitted a critical bug to Cronos (@cronosapp) which they downplayed and have since been kicked off Immunefi. Here's some info about the bug and an example of how projects can simply not pay a fair amount. Report: gist.github.com/fatherGoose1/6… tl;dr: - It's a simple staking contract where you stake your TONIC and receive xTonic at the current exchange rate. - The vulnerability lies in a function called performConversionForERC20() which allows anyone to convert other tokens held by the contract into TONIC. - This function is vulnerable to reentrancy because the caller sets an arbitrary swap path and can inject a malicious token in the middle to gain control of execution. - The contract determines the estimated amount of TONIC that should be received by the swap, and any extra goes to the caller as a reward. - But since there is reentrancy, the caller can also STAKE their TONIC prior to the above function completion. - The caller's stake is honored AND they are transferred back their TONIC, essentially receiving free staked tokens. Caveat: There is a 10 day unstaking delay. So the exploiter would not be able to actually convert the staked tokens back into TONIC until the cooldown period had passed. What Cronos said: Thank you for reporting this issue. The team has verified that the exploit described can indeed work. From our side, we have safeguards in place to mitigate these risks; such as a 10 days delay period for the xTonic minted. As such, there is a low possibility of the exploit realising; as the issue will be rectified before the exploiter can launder the gotten funds. However, we do appreciate your effort in identifying this issue and plan to update the contract to eliminate the risk entirely. In addition, we are happy to reward you with USD1,600 as a token of appreciation. Actions: Cronos fixed the vulnerability immediately, before even responding to the report. My thoughts: Obvious lowball. Cronos's max bounty was $250,000 and they offered $1,600. I understand the technicality with this attack, and would have agreed to a payout less than the max, but the payout would have to accurately represent the value of this report. Mediation: Immunefi mediated twice and confirmed that this report deserved the max bounty. Immunefi told Cronos that a simple unstaking delay is not an adequate means of protection. Cronos claimed: "We have implemented a robust monitoring framework, consisting of internal systems, protocols, and strategic third-party partnerships, which promptly respond to any anomalies within our smart contracts. This is the standard of any big organization, and we refrain from disclosing further specifics to maintain the integrity of our security protocols." When Immunefi asked them to provide any information regarding their automated detection and mitigation processes, Cronos would not comply. Result: Cronos was kicked off Immunefi. Final thoughts from Django: 'Tis the life of a bug hunter.

English
5
3
68
11.5K
BΞrnd
BΞrnd@bernd_eth·
Hattrick has been achieved! 3 Cosmos SDK contest wins in a row 🥇 Years of grinding Cosmos audits paid off. Success does not (always) come overnight, guys. Shoutout to @code4rena, the amazing contest sponsors, and everyone involved! Especially the amazingly skilled @3DOCsec, who volunteered to partner up with me. Thanks!
BΞrnd tweet mediaBΞrnd tweet mediaBΞrnd tweet media
Code4rena@code4rena

The results of the $80,000 Initia Cosmos competitive audit are in! Congratulations to everyone who submitted valid findings, especially to @bernd_eth for securing over half of the total prize pool along with 7 solo high-risk findings submitted! Much respect to @initia for their unwavering commitment to the highest security outcomes. Full list of winners in thread 👇

English
32
4
170
11.2K
3DOↃ Security
3DOↃ Security@3DOCsec·
The best time to start writing searchable notes about design and gotchas of the protocols I work on was a couple of years ago. The second best time is now 🎧@bountyhunt3rz
English
0
0
6
416
3DOↃ Security retweetledi
Certora
Certora@Certora·
Certora is now open source! What’s your excuse now for not securing your protocol, anon?
Certora tweet media
English
73
179
639
177.9K
3DOↃ Security
3DOↃ Security@3DOCsec·
Lesson #2: developers fix the bugs they see, so those left for SRs to find are those they don't see - our job is to clear blind spots, not inheriting them
English
1
1
12
444
3DOↃ Security
3DOↃ Security@3DOCsec·
Well, it turned out to be an H finding just minutes into the audit. Lesson #1: the one and only reason to abandon a lead is "to know why it's not a problem" 2/3
English
1
0
8
459
3DOↃ Security
3DOↃ Security@3DOCsec·
Alpha for SRs Last week I asked about a function during a kick-off code walkthrough call. Got replied it was standard and not problematic, so I decided to ramp up with knowledge of the codebase by trying to understand why exactly it's this way 1/3
English
1
3
45
2.6K