Skip to content

Cyfrin/aderyn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



A powerful Solidity static analyzer that takes a bird's eye view over your smart contracts.



Docs Get support Website Twitter


Stargazers Forks Contributors Issues GPL-3.0 License

What is Aderyn?

Aderyn is an open-source public good developer tool. It is a Rust-based solidity smart contract static analyzer designed to help protocol engineers and security researchers find vulnerabilities in Solidity code bases.

Thanks to its collection of static vulnerability detectors, running Cyfrin Aderyn on your Solidity codebase will highlight potential vulnerabilities, drastically reducing the potential for unknown issues in your Solidity code and giving you the time to focus on more complex problems.

Built using Rust, Aderyn integrates seamlessly into small and enterprise-level development workflows, offering lighting-fast command-line functionality and a framework to build custom detectors to adapt to your codebase.

You can read the Cyfrin official documentation for an in-depth look at Aderyn's functionalities.

There is also an officially supported VSCode extension for Aderyn. Download from the Visual Studio Marketplace and start identifying vulnerabilities in your Solidity code with ease.

Features

  • Off the shelf support for Foundry and Hardhat projects
  • Configuration file (adeyrn.toml) needed to support custom frameworks.
  • Modular detectors
  • AST Traversal
  • Markdown reports

Installation

NOTE Windows users must have WSL installed

Using Cyfrinup

Cyfrinup simplifies the installation and management of Cyfrin tools.

Follow the instructions to install here.

Run aderyn --version to check the installation.

Upgrade older versions by (re)running: cyfrinup

Using Homebrew

brew install cyfrin/tap/aderyn
Upgrade older versions by running: brew upgrade cyfrin/tap/aderyn

Using npm

npm install @cyfrin/aderyn -g
Upgrade older versions by (re)running: npm install @cyfrin/aderyn -g

If you are installing with Homebrew or npm, ensure that the correct version of Aderyn in your path comes from either the Homebrew or npm global packages directory. If an older version exists at ~/.cyfrin/bin/aderyn, remove it using rm -f ~/.cyfrin/bin/aderyn, as this is no longer the default installation location.

Quick Start

Quick Start example with video guide.

cd path/to/solidity/project/root
aderyn

See examples using more CLI options here

VS Code extension

Officially supported VSCode extension for Aderyn. Download from Visual Studio Marketplace

Contributing & License

Help us build Aderyn 🦜 Please see our contribution guidelines for PR approval process and in-depth developer environment setup. Aderyn is an open-source software licensed under the GPL-3.0 License.

To build Aderyn locally:

  1. Install Rust,
  2. Clone this repo and cd aderyn/,
  3. make,
  4. Use cargo commands to build, test and run locally.

Suggested VSCode extensions: rust-analyzer - Rust language support for Visual Studio Code Rust Syntax - Improved Rust syntax highlighting

Building a custom Aderyn detector

Aderyn makes it easy to build Static Analysis detectors that can adapt to any Solidity codebase and protocol. This guide will teach you how to build, test, and run your custom Aderyn detectors. To learn how to create your custom Aderyn detectors, checkout the official docs

Credits

This project exists thanks to all the people who contribute.

Attribution