Security Researcher @quillaudits_ai I Smart Contract Audit | @chainlink DevExpert Learning & acquiring knowledge consistently

🥇 secured 1st place in the MorpheusAI contest! 🥇congrats to all and let's keep improving 💪 with the aim of making the web3 ecosystem safer.
Awards have been announced for the MorpheusAI contest🤝 Top 5: 🥇 @turvec_dev - $2664.89 🥈 SovaSlava - $2530.1582328058903 🥉 @0xhals - $2068.79 🏅 @mrpotatomagic - $1952.28 🏅 @iamandreiski - $1908.08 (1/2)
6
1
49
8,565
One thing that still surprises me in Web3 is how much effort we put into securing smart contracts while some of the most sensitive credentials in a project are still passed around in .env files. API keys, RPC credentials, deployment secrets… And once multiple devs are working on the same project, you eventually hit the question: How do you actually share .env variables securely without exposing the secrets themselves? I've seen devs ask this more than once. For something this common, there really should be a better default than Slack/Telegram, shared files, or whatever workaround the team comes up with. Turns out @urbandev__ has been building exactly that with Enver. → .env encrypted locally before leaving your machine → Shamir's Secret Sharing for key recovery/access → Backend only sees encrypted data, never plaintext secrets → Open source + CLI Really glad to see someone tackling this problem properly. docs.enver-os.xyz/introducti…
How do you guys usually share .env variables safely when working on a project together?
1
5
359
Victor Okafor retweeted
12 projects. 155 findings. 0 missed deadlines. That was August at QuillAudits 🚀 5 critical 24 high 42 medium 50 low 34 informational All 155 reported to the team, all 155 resolved before sign-off. Shipping in Q4? No audit booked yet. Talk to us soon . September is already filling up 👇 calendly.com/akshadh-a-quill…
14
6
36
2,392
August was one of those months where you just sit back and feel genuinely proud of the team. Our audit team @QuillAudits_AI absolutely crushed it: ✅ 12 projects audited - all delivered on time 🔍 155 findings identified Huge kudos to @kalp_eth, @Pro___King1,@phoenix244001, @cryptanu, and @turvec_dev for the exceptional work and relentless commitment to securing Web3. Hats off to you all. On to the next one....
3
6
25
1,751
Victor Okafor retweeted
Glad to complete my first move audit engagement. I only had 2 weeks to learn it from scratch and implement the skills. More refines to go. More tech stacks to go ! Huge shoutout to @AkshayBabhulkar and @turvec_dev !
1
2
14
534
Join us for Tokenized Finance: Rules & Risks @QuillAudits_AI - a working forum in Dubai on September 10🚀 📍 Dubai 🗓️ Thursday, September 10, 2026 ⏰ 10 AM–1 PM GST Tokenized Finance. Real talk. Big ideas🥷 🔗 Register: luma.com/49x1vept
1
4
179
At @QuillAudits_AI this week, We Just finished auditing Move vaults Contracts which is getting deployed on @movement_xyz . Movement chain is a bit different, it needs attention. Kudos to @phoenix244001 and @turvec_dev for going deep into the Move language and Movement chain architecture. We found 16 issues. Here’s what we checked 🧵
1
5
23
492
Victor Okafor retweeted
Completed the security audit for @MSTBlockchain MST Chain is an EVM-compatible Layer 1 blockchain designed for high-speed (4,000+ TPS), low-cost transactions using a Proof of Stake Authority (PoSA) consensus. Built for enterprise-grade applications, it powers use cases across fintech, supply chains, digital identity, and beyond. The audit is now complete, helping strengthen the network ahead of continued ecosystem growth. Read the full audit report 👇 quillaudits.com/leaderboard/…
6
7
37
876
Been thinking about this a lot after the recent wave of hacks. Almost every one traces back to key compromises or off-chain access, not code bugs. Maybe this was the missing piece all along; no admins means the only attack surface left is the code itself. Back to "code is law."
Replying to @shafu0x
don’t have admins = 80% security improvement not exactly rocket science
1
2
13
1,012
Victor Okafor retweeted
We've started our security review for @MSTBlockchain . We're diving into the protocol and infrastructure layer to assess security, reliability, and network behavior across the updated implementation. Excited to work alongside the team as they continue building. Looking forward to digging in and sharing our findings when the review wraps up
4
10
50
1,548
We hosted "Unlocking Web3 in Nairobi" last month — and it was everything 🔥 Devs, students, and builders packed the Blockchain Centre NBO to learn about how blockchain's core fundamentals work, the career opportunities in Web3, and what it actually means to build on-chain. Huge thanks to everyone who showed up and @Chainlink for making it happen. The energy in Nairobi's Web3 scene is REAL. This is just the beginning 🇰🇪
3
1
26
954
Audited once. Scanned by a leading AI tool. Still had 15 bugs hiding inside. @QuillAudits_AI found them. High severity. Medium severity. Manually and with QuillShield. The bar just moved. @turvec_dev @phoenix244001
3
19
1,168
Spent the morning reading StarkWare's Quantum Secure Bitcoin (QSB) proposal. Wild concept. It protects BTC from quantum attacks without a soft fork by replacing ECDSA with hash-based puzzles. Cost? $75–$200 per transaction and hours of GPU compute. Not a daily-use fix. More like cold storage for the post-quantum era. The attack surface around signature schemes is about to get very interesting. 👀
8
683
North Korea didn’t hack crypto. They hacked people, hiring funnels, signing flows, and trust. Security in 2026 = wallets, UI, RPC, ops, and human training. Everyone should study THIS playbook. S/O to @QuillAudits_AI for the visual
6
3
61
4,999
Profanity vulnerability: - Profanity seed space = 2^32 (uint32) - An attacker can brute-force all seeds on a GPU in minutes, $3.3M stolen - Real private keys should have 256-bit entropy Always verify the generator's source code. Minimum acceptable seed: 128 bits of true randomness.
7
401
Victor Okafor retweeted
Today marks 8 years of QuillAudits. Most Web3 security firms didn't exist 8 years ago. Most won't exist 8 years from now. We've built through 3 bear markets, 2 exploit waves, and the full evolution of smart contract attacks from simple reentrancy to cross-protocol economic exploits. 1,500+ protocols. $3B+ protected. The biggest lesson from 8 years and 1,500+ engagements : One team, one method, one pass doesn't cut it when you're protecting hundreds of millions in user funds. So we rebuilt the model. Multi-Layer Audit → four independent security layers, delivered in the same timeline as a traditional audit: > Senior auditors who've collectively reviewed 1,500+ protocols > AI security agents trained on 5,000+ real exploits since 2017 > Independent bug bounty through curated security researchers > Continuous monitoring, because threats don't stop at deployment 4 layers. Each one catches what the others miss. Web3 has a $100T addressable market if institutions show up. They won't show up until security is embedded in every layer, every transaction, every deployment, the way HTTPS is embedded in the internet. That's the problem worth solving for the next 8 years. QuillAudits built the foundation, QuillShield is the next chapter — an AI security agent that brings what we learned from 1,500+ manual audits into every developer's workflow, before code ever hits mainnet. 8 years in. Still early.
17
21
56
11,719
Excited to be part of the first in-depth Protocol Developer Cohort by BloK Capital 🚀
250+ registrations and now the doors are closed. Congratulations to everyone who secured a spot. The journey with BLOK Capital is just getting started. More opportunities and updates ahead.☘️
7
401
"risk reduction through redundancy on high-risk intents" - same pattern found in 2-step authenticators. Also, lesser divergence = more secure
How I think about "security": The goal is to minimize the divergence between the user's intent, and the actual behavior of the system. "User experience" can also be defined in this way. Thus, "user experience" and "security" are thus not separate fields. However, "security" focuses on tail risk situations (where downside of divergence is large), and specifically tail risk situations that come about as a result of adversarial behavior. One thing that becomes immediately obvious from the above definition, is that "perfect security" is impossible. Not because machines are "flawed", or even because humans designing the machines are "flawed", but because "the user's intent" is fundamentally an extremely complex object that the user themselves does not have easy access to. Suppose the user's intent is "I want to send 1 ETH to Bob". But "Bob" is itself a complicated meatspace entity that cannot be easily mathematically defined. You could "represent" Bob with some public key or hash, but then the possibility that the public key or hash is not actually Bob becomes part of the threat model. The possibility that there is a contentious hard fork, and so the question of which chain represents "ETH" is subjective. In reality, the user has a well-formed picture about these topics, which gets summarized by the umbrella term "common sense", but these things are not easily mathematically defined. Once you get into more complicated user goals - take, for example, the goal of "preserving the user's privacy" - it becomes even more complicated. Many people intuitively think that encrypting messages is enough, but the reality is that the metadata pattern of who talks to whom, and the timing pattern between messages, etc, can leak a huge amount of information. What is a "trivial" privacy loss, versus a "catastrophic" loss? If you're familiar with early Yudkowskian thinking about AI safety, and how simply specifying goals robustly is one of the hardest parts of the problem, you will recognize that this is the same problem. Now, what do "good security solutions" look like? This applies for: * Ethereum wallets * Operating systems * Formal verification of smart contracts or clients or any computer programs * Hardware * ... The fundamental constraint is: anything that the user can input into the system is fundamentally far too low-complexity to fully encode their intent. I would argue that the common trait of a good solution is: the user is specifying their intention in multiple, overlapping ways, and the system only acts when these specifications are aligned with each other. Examples: * Type systems in programming: the programmer first specifies *what the program does* (the code itself), but then also specifies *what "shape" each data structure has at every step of the computation*. If the two diverge, the program fails to compile. * Formal verification: the programmer specifies what the program does (the code itself), and then also specifies mathematical properties that the program satisfies * Transaction simulations: the user specifies first what action they want to take, and then clicks "OK" or "Cancel" after seeing a simulation of the onchain consequences of that action * Post-assertions in transactions: the transaction specifies both the action and its expected effects, and both have to match for the transaction to take effect * Multisig / social recovery: the user specifies multiple keys that represent their authority * Spending limits, new-address confirmations, etc: the user specifies first what action they want to take, and then, if that action is "unusual" or "high-risk" in some sense, the user has to re-specify "yes, I know I am doing something unusual / high-risk" In all cases, the pattern is the same: there is no perfection, there is only risk reduction through redundancy. And you want the different redundant specifications to "approach the user's intent" from different "angles": eg. action, and expected consequences, expected level of significance, economic bound on downside, etc This way of thinking also hints at the right way to use LLMs. LLMs done right are themselves a simulation of intent. A generic LLM is (among other things) like a "shadow" of the concept of human common sense. A user-fine-tuned LLM is like a "shadow" of that user themselves, and can identify in a more fine-grained way what is normal vs unusual. LLMs should under no circumstances be relied on as a sole determiner of intent. But they are one "angle" from which a user's intent can be approximated. It's an angle very different from traditional, explicit, ways of encoding intent, and that difference itself maximizes the likelihood that the redundancy will prove useful. One other corollary is that "security" does NOT mean "make the user do more clicks for everything". Rather, security should mean: it should be easy (if not automated) to do low-risk things, and hard to do dangerous things. Getting this balance right is the challenge.
6
329
In @solana using Anchor, accounts are usually written like this 👇 Anchor will: bytes → deserialize → modify → serialize back. But some teams implement this instead 👇 And use AccountLoader<T> instead of Account<T> in the context 👇 Now you’re working directly on account memory. No deserialization. No copying. Lower compute. ⚠️ What does this mean to auditors: Struct layout is now part of your security surface. Bad upgrades or padding mistakes = silent corruption. Zero-copy is powerful… but you’re one step closer to raw memory.
1
9
460
Victor Okafor retweeted
Dropping Claude Skills to speed up smart contract audits with structured AI workflows. 10 open-source Claude Skills that turn AI into a reasoning-driven audit companion: → Reentrancy Detector → Access Control Mapper → Oracle Risk Scout → Upgradeability Checker → MEV Pattern Watcher → Invariant Generator
10
25
150
15,557