Giter VIP home page Giter VIP logo

johnsonstephan / awesome-web3-formal-verification Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 65 KB

A curated list of awesome web3 formal verification resources -- including tools, tutorials, articles and more.

awesome-list blockchain blockchain-service defi formal-languages formal-methods formal-verification research smart-contract-audit smart-contract-security smart-contract-tools smart-contracts solidity

awesome-web3-formal-verification's Introduction

Hi there, I'm Stephan.

Here's a bit more about my story.

This is a public profile of my adventure as an auditor and researcher.

Some of my early projects and contributions are shared below.

Twitter: StephanJohnson_

Table of Contents

  1. Smart Contracts
  2. Vulnerabilities and Safeguards
  3. Wargames
  4. My Toolkit
  5. Community Contributions

Smart Contracts

Here are various smart contracts I've developed, including:

Vulnerabilities and Safeguards

Here is a compilation of projects that underline common vulnerabilities and exhibit how they can be exploited. For some, improved contracts are included, showcasing best practices to fortify the contract's security. Highlights include:

Wargames

Here are my solutions to blockchain security wargames, challenges, and capture the flag (CTF) competitions.

My Toolkit

Security Tools

  1. Mythril: I appreciate its extensibility, enabling me to script custom modules to detect specific vulnerabilities. For example, it can help in identifying a flawed external call that leads to a reentrancy attack.
  2. Slither: I find it invaluable during preliminary code assessments, when I can run a static analysis to identify vulnerabilities without executing the code. For instance, it can highlight an uninitialized state variable.
  3. Echidna: I value its property-based testing approach which expands my toolkit beyond traditional unit testing to testing properties. One practical example is verifying that a transfer function consistently maintains integrity of the total token supply.
  4. Foundry: Ultimately, I believe manual testing is the most powerful tool and Foundry enables me to generate POCs with simulated real-world contract interactions.

Others: Surya, Ethlint

Research Environment

  • Linux Distribution: ZIION. I enjoy using ZIION because it is tailored for smart contract security and minimizes the usual environment setup woes. It has dozens of pre-installed tools (ranging from decompilers to vulnerability scanners) that I enjoy using and it supports Solidity/EVM + Rust-based blockchains.
  • IDE: VS Code. I appreciate the suites of great blockchain extensions. A few of my favorites include the Solidity extension to enable syntax highlighting and the Solidity Visual Auditor to visualize control flow graphs. For quick code review and testing I enjoy using Remix as well.

awesome-web3-formal-verification's People

Contributors

johnsonstephan avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.