Code Monkey home page Code Monkey logo

awesome-ethereum-security's Introduction

Awesome Ethereum Security PRs Welcome

A curated list of awesome Ethereum security references, guidance, tools, and more.

Contents

Learning

Security references

Insecurity references

Capture the Flag and Wargames

Writeups

Coordinated disclosure

Blogs

  • Hacking Distributed - Emin Gün Sirer, professor in Cornell Tech’s IC3 lab focused on blockchain security.
  • Phil Does Security - Phil Daian, grad student behind KEVM, Hydra, and other Ethereum academic projects
  • Trail of Bits - Cybersecurity R&D firm with a blockchain security practice
  • Martin Holst Swende - Martin Swende, programmer and appsec consultant
  • SmartDec blog - Company blog about security issues and practices within blockchain ecosystem

Notable blog posts

Conference talks

Title Conference Year
Predicting Random Numbers in Ethereum Smart Contracts OWASP AppSec 2018
Blockchain Autopsies - Analyzing Smart Contract Deaths Blackhat USA 2018
Rattle - an EVM binary analysis framework reCON 2018
Blackhat Ethereum CanSecWest 2018
Smashing Ethereum Smart Contracts for Fun and Profit HITB Amsterdam 2018
Automatic Bug Finding for the Blockchain EkoParty 2017

Podcasts and Episodes

Podcasts

Episodes

Tools

Visualization

  • ethereum-graph-debugger - A graphical EVM debugger. Displays the entire program control flow graph.
  • Slither - Slither can map method visibility and modifiers, state variables that are read and written, calls, and can print the inheritance graph of a smart contract
  • Solgraph - Generates DOT graphs with function control flow of a solidity contract
  • Surya - Generates various visual outputs of function call graphs
  • sol-function-profiler - Solidity contract function profiler

Linters

  • Remix - Browser-based Solidity IDE with linting features
  • SmarrtCheck - A linter for Solidity and Vyper that checks code for security issues and bad practices.
  • Solhint - Linter for both security and style-guide validations. It strictly adheres to the Solidity Style Guide.
  • Solium - Linter for both security and style-guide validations. Does not strictly adhere to the Solidity Style Guide.

Bug finding tools

  • Echidna - Fuzzer for Ethereum smart contracts. Uses property testing to generate malicious inputs that break smart contracts.
  • Manticore - Symbolic execution tool for Ethereum smart contracts that includes detectors for common security flaws
  • Mythril OSS - Open-source security analysis tool for Ethereum smart contracts built around detector modules
  • Securify - Static analysis tool from ChainSecurity
  • Slither - Static analysis framework, written in Python, with detectors for many common Solidity issues

Verification tools

  • KEVM - K Semantics of the Ethereum Virtual Machine (EVM)
  • Manticore - Symbolic execution tool for EVM

Reversing tools

  • abi-decompiler - EVM reverse engineering helper utility
  • ethereum-dasm - EVM disassembler with static and dynamic analysis abilities, including function signature lookup
  • Ethersplay - Visual disassembler for EVM bytecode built on Binary Ninja
  • evmlab - Utilities for interacting with the Ethereum virtual machine
  • IDA-EVM - IDA plugin to view EVM instructions
  • Panoramix
  • pyevmasm - EVM assembler and disassembler with a CLI and a Python API
  • Rattle - EVM binary static analysis framework. Produces SSA representations of EVM code.

Custody

  • Subzero - Subzero is an HSM-backed method for cold storage of Bitcoin developed by Square

Communities

Other Awesome Lists

Contributing

We welcome contributions that help curate this awesome list. Please refer to the contributing guidelines when submitting PRs. Thanks!

awesome-ethereum-security's People

Contributors

dguido avatar kimushkaa avatar raz0r 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.