<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Josselin Feist on The Trail of Bits Blog</title><link>https://miscreants.github.io/blog.trailofbits.com/authors/josselin-feist/</link><description>Recent content in Josselin Feist on The Trail of Bits Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 14 Feb 2025 00:00:00 -0500</lastBuildDate><atom:link href="https://miscreants.github.io/blog.trailofbits.com/authors/josselin-feist/index.xml" rel="self" type="application/rss+xml"/><item><title>Unleashing Medusa: Fast and scalable smart contract fuzzing</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/02/14/unleashing-medusa-fast-and-scalable-smart-contract-fuzzing/</link><pubDate>Fri, 14 Feb 2025 00:00:00 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/02/14/unleashing-medusa-fast-and-scalable-smart-contract-fuzzing/</guid><description>Introducing Medusa v1, a cutting-edge fuzzing framework designed to enhance smart contract security.</description></item><item><title>The call for invariant-driven development</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/02/12/the-call-for-invariant-driven-development/</link><pubDate>Wed, 12 Feb 2025 09:30:36 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/02/12/the-call-for-invariant-driven-development/</guid><description>Writing smart contracts requires a higher level of security assurance than most other fields of software engineering. The industry has evolved from simple ERC20 tokens to complex, multi-component DeFi systems that leverage domain-specific algorithms and handle significant monetary value. This evolution has unlocked immense potential but has also introduced an escalating number […]</description></item><item><title>Why fuzzing over formal verification?</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/03/22/why-fuzzing-over-formal-verification/</link><pubDate>Fri, 22 Mar 2024 09:00:28 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/03/22/why-fuzzing-over-formal-verification/</guid><description>We recently introduced our new offering, invariant development as a service. A recurring question that we are asked is, &amp;ldquo;Why fuzzing instead of formal verification?&amp;rdquo; And the answer is, &amp;ldquo;It&amp;rsquo;s complicated.&amp;rdquo; We use fuzzing for most of our audits but have used formal verification methods in the […]</description></item><item><title>Secure your blockchain project from the start</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/03/13/secure-your-blockchain-project-from-the-start/</link><pubDate>Wed, 13 Mar 2024 09:00:45 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/03/13/secure-your-blockchain-project-from-the-start/</guid><description>Systemic security issues in blockchain projects often appear early in development. Without an initial focus on security, projects may choose flawed architectures or make insecure design or development choices that result in hard-to-maintain or vulnerable solutions. Traditional security reviews can be used to identify some security issues, but by the time they are complete, it […]</description></item><item><title>Introducing invariant development as a service</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/10/05/introducing-invariant-development-as-a-service/</link><pubDate>Thu, 05 Oct 2023 08:00:52 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/10/05/introducing-invariant-development-as-a-service/</guid><description>Understanding and rigorously testing system invariants are essential aspects of developing robust smart contracts. Invariants are facts about the protocol that should remain true no matter what happens. Defining and testing these invariants allows developers to prevent the introduction of bugs and make their code more robust in the long term. However, it is difficult […]</description></item><item><title>Evaluating blockchain security maturity</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/07/14/evaluating-blockchain-security-maturity/</link><pubDate>Fri, 14 Jul 2023 03:00:03 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/07/14/evaluating-blockchain-security-maturity/</guid><description>Holistic security reviews should reveal far more than simple bugs. Often, these bugs indicate deeper issues that can be challenging to understand and address. Given the time-boxed nature of reviews, security engineers may not have the opportunity to identify all bugs caused by these problems—and they may continue to […]</description></item><item><title>Codex (and GPT-4) can’t beat humans on smart contract audits</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/03/22/codex-and-gpt4-cant-beat-humans-on-smart-contract-audits/</link><pubDate>Wed, 22 Mar 2023 07:00:49 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/03/22/codex-and-gpt4-cant-beat-humans-on-smart-contract-audits/</guid><description>Is artificial intelligence (AI) capable of powering software security audits? Over the last four months, we piloted a project called Toucan to find out. Toucan was intended to integrate OpenAI’s Codex into our Solidity auditing workflow. This experiment went far […]</description></item><item><title>The road to the apprenticeship</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/08/12/the-road-to-the-apprenticeship/</link><pubDate>Fri, 12 Aug 2022 09:00:13 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/08/12/the-road-to-the-apprenticeship/</guid><description>Finding talent is hard, especially in the blockchain security industry. The space is new, so you won’t find engineers with decades of experience with smart contracts. Training is difficult, as the technology evolves constantly, and online content quickly becomes outdated. There are also a lot of misconceptions about blockchain […]</description></item><item><title>Breaking Aave Upgradeability</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/12/16/breaking-aave-upgradeability/</link><pubDate>Wed, 16 Dec 2020 11:01:55 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/12/16/breaking-aave-upgradeability/</guid><description>On December 3rd, Aave deployed version 2 of their codebase. While we were not hired to look at the code, we briefly reviewed it the following day. We quickly discovered a vulnerability that affected versions 1 and 2 of the live contracts and reported the issue. Within an hour of sending our analysis to Aave, […]</description></item><item><title>Good idea, bad design: How the Diamond standard falls short</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/10/30/good-idea-bad-design-how-the-diamond-standard-falls-short/</link><pubDate>Fri, 30 Oct 2020 13:19:18 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/10/30/good-idea-bad-design-how-the-diamond-standard-falls-short/</guid><description>TL;DR: We audited an implementation of the Diamond standard proposal for contract upgradeability and can’t recommend it in its current form—but see our recommendations and upgrade strategy guidance. We recently audited an implementation of the Diamond standard code, a new upgradeability pattern. It’s a laudable undertaking, but the Diamond proposal and implementation raise many concerns. […]</description></item><item><title>Upgradeable contracts made safer with Crytic</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/06/12/upgradeable-contracts-made-safer-with-crytic/</link><pubDate>Fri, 12 Jun 2020 07:50:52 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/06/12/upgradeable-contracts-made-safer-with-crytic/</guid><description>Upgradeable contracts are not as safe as you think. Architectures for upgradeability can be flawed, locking contracts, losing data, or sabotaging your ability to recover from an incident. Every contract upgrade must be carefully reviewed to avoid catastrophic mistakes. The most common delegatecall proxy comes with drawbacks that we’ve catalogued before. Crytic now includes a […]</description></item><item><title>Bug Hunting with Crytic</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/05/15/bug-hunting-with-crytic/</link><pubDate>Fri, 15 May 2020 07:50:31 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/05/15/bug-hunting-with-crytic/</guid><description>Crytic, our Github app for discovering smart contract flaws, is kind of a big deal: It detects security issues without human intervention, providing continuous assurance while you work and securing your codebase before deployment. Crytic finds many bugs no other tools can detect, including some that are not widely known. Right now, Crytic has 90+ […]</description></item><item><title>Financial Cryptography 2020 Recap</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/03/18/financial-cryptography-2020-recap/</link><pubDate>Wed, 18 Mar 2020 07:50:32 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/03/18/financial-cryptography-2020-recap/</guid><description>A few weeks ago, we went to the 24th Financial Cryptography (FC) conference and the Workshop on Trusted Smart Contracts (WTSC), where we presented our work on smart contract bug categorization (see our executive summary) and a poster on Echidna. Although FC is not a blockchain conference, it featured several blockchain-oriented presentations this year and […]</description></item><item><title>Announcing the Crytic $10k Research Prize</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/11/13/announcing-the-crytic-10k-research-prize/</link><pubDate>Wed, 13 Nov 2019 07:00:35 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/11/13/announcing-the-crytic-10k-research-prize/</guid><description>At Trail of Bits, we make a significant effort to stay up to date with the academic world. We frequently evaluate our work through peer-reviewed conferences, and we love to attend academic events (see our recent ICSE and Crypto recaps).</description></item><item><title>Watch Your Language: Our First Vyper Audit</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/10/24/watch-your-language-our-first-vyper-audit/</link><pubDate>Thu, 24 Oct 2019 07:00:04 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/10/24/watch-your-language-our-first-vyper-audit/</guid><description>A lot of companies are working on Ethereum smart contracts, yet writing secure contracts remains a difficult task. You still have to avoid common pitfalls, compiler issues, and constantly check your code for recently discovered risks. A recurrent source of vulnerabilities comes from the early state of the programming languages available. Most developers are using […]</description></item><item><title>Crytic: Continuous Assurance for Smart Contracts</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/08/02/crytic-continuous-assurance-for-smart-contracts/</link><pubDate>Fri, 02 Aug 2019 06:50:36 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/08/02/crytic-continuous-assurance-for-smart-contracts/</guid><description>Note: This blog has been reposted from Truffle Suite’s blog. We are proud to announce our new smart contract security product: &lt;a href="https://crytic.io/"&gt;https://crytic.io/&lt;/a&gt;. Crytic provides continuous assurance for smart contracts. The platform reports build status on every commit and runs a suite of security analyses for immediate feedback. The beta will be open soon. Follow us […]</description></item><item><title>Trail of Bits @ ICSE 2019 – Recap</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/06/19/trail-of-bits-icse-2019-recap/</link><pubDate>Wed, 19 Jun 2019 10:35:13 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/06/19/trail-of-bits-icse-2019-recap/</guid><description>Three weeks ago, we presented our work on Slither at WETSEB, an ICSE workshop. ICSE is a top-tier academic conference, focused on software engineering. This edition of the event went very well. The organizers do their best to attract and engage industrials to the discussions. The conference had many talks in parallel. We wish we […]</description></item><item><title>How contract migration works</title><link>https://miscreants.github.io/blog.trailofbits.com/2018/10/29/how-contract-migration-works/</link><pubDate>Mon, 29 Oct 2018 06:50:16 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2018/10/29/how-contract-migration-works/</guid><description>Smart contracts can be compromised: they can have bugs, the owner’s wallet can be stolen, or they can be trapped due to an incorrect setting. If you develop a smart contract for your business, you must be prepared to react to events such as these. In many cases, the only available solution is to deploy […]</description></item><item><title>Slither – a Solidity static analysis framework</title><link>https://miscreants.github.io/blog.trailofbits.com/2018/10/19/slither-a-solidity-static-analysis-framework/</link><pubDate>Fri, 19 Oct 2018 06:50:09 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2018/10/19/slither-a-solidity-static-analysis-framework/</guid><description>Slither is the first open-source static analysis framework for Solidity. Slither is fast and precise; it can find real vulnerabilities in a few seconds without user intervention. It is highly customizable and provides a set of APIs to inspect and analyze Solidity code easily. We use it in all of our security reviews. Now you […]</description></item><item><title>Contract upgrade anti-patterns</title><link>https://miscreants.github.io/blog.trailofbits.com/2018/09/05/contract-upgrade-anti-patterns/</link><pubDate>Wed, 05 Sep 2018 06:00:21 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2018/09/05/contract-upgrade-anti-patterns/</guid><description>A popular trend in smart contract design is to promote the development of upgradable contracts. At Trail of Bits, we have reviewed many upgradable contracts and believe that this trend is going in the wrong direction. Existing techniques to upgrade contracts have flaws, increase the complexity of the contract significantly, and ultimately introduce bugs. To […]</description></item><item><title>Hands on the Ethernaut CTF</title><link>https://miscreants.github.io/blog.trailofbits.com/2017/11/06/hands-on-the-ethernaut-ctf/</link><pubDate>Mon, 06 Nov 2017 14:32:19 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2017/11/06/hands-on-the-ethernaut-ctf/</guid><description>Last week Zeppelin released their Ethereum CTF, Ethernaut. This CTF is a good introduction to discover how to interact with a blockchain and learn the basics of the smart contract vulnerabilities. The CTF is hosted on the ropsten blockchain, and you can receive free ethers for it. The browser developer console is used to interact […]</description></item></channel></rss>