No project description provided
Project description
Template Based Smart Contracts Static Analyzer
Discord | Discussions | Feature request | Wiki | Twitter DM
What is eBurger
eBurger is a static analysis tool that provides a way to quickly query and analyze solidity smart contracts.
Running static analyzers won't win you competitions. What we provide instead with eBurger is the ability to spin up custom templates tailored to your current audited project in minutes (Wiki) allowing you to orchestrate unique lookups through the codebase to empower your audits.
- How to install
- How to run
- How it looks like 👀
- SARIF support
- Contributing templates
- Comparison table
- Features
- What is missing
How to install
From PyPi
pip3 install eburger
eburger -h
From source
git clone https://github.com/forefy/eburger.git
cd eburger
pip3 install .
eburger -h
How to run
Simple examples
Simplest:
cd MyProject/
eburger
cat eburger-output.json
SARIF output
eburger -f MyProject/ -o sarif
Markdown output
eburger -f MyProject/ -o markdown
Focused scan of a single file and it's dependencies:
eburger -f ../ProjectToScan/src/SomeContract.sol
Advanced usage
Refer to the Wiki.
How it looks like
Here's a demo video
https://github.com/forefy/eburger/assets/152717707/65bf6a6d-adbc-4664-84d4-73ac641a8307
Besides eburger-output.json
, above example will also generate extended info under the folder .eburger
.
SARIF support
SARIF (Static Analysis Results Interchange Format) is a standard format for static analysis tool results.
To have an interactive GUI open up in VSCode that can organinze and interact with the results found, follow these steps:
- Install Microsoft's SARIF Viewer VSCode extenstion
- Run
eburger --output sarif
- From within VSCode, click the resulted
eburger-output.sarif
file placed in the working directory
This will open an interactive vscode menu with the issues, description, navigation of vulnerable code lines, etc.
Contributing templates
Templates can be added by creating new YAML files and either load them with eburger -t mytemplate.yaml .
or by placing them under the templates/
directory.
If you are using eburger as a python package (installed via pip install), the templates location can be found with running pip3 show eburger
or by running the tool on a contract and seeing the templates path printed to the console.
For documentation refer to the Wiki.
Comparison table
Comparison of actively maintained / popular solidity smart contract static analyzers
Static Analyzer | Language | 2 Minutes to write a custom template with ChatGPT | Many findings that are already found before the contest began | Would want to eat |
---|---|---|---|---|
eBurger | Python | ✅ | ✅ | |
Slither | Python | ✅ | ||
4naly3er | TypeScript 🤮 | ✅ | ||
mythril | Python | |||
aderyn | Rust |
Forgot one or made a mistake? open a pull request or an issue :)
Features
- YAML template support to query contract structure and raise insights for any matches
- Fast learning curve for creating templates, ability to customize templates to the current ongoing audit project
- Foundry and Hardhat support ❣️
- SARIF support & VSCode GUI integration
- Markdown report
- Community and free support via Discord
What is missing
What features would you like to see? let us know!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file eburger-1.0.0.tar.gz
.
File metadata
- Download URL: eburger-1.0.0.tar.gz
- Upload date:
- Size: 36.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b419cf252635da0117d5d97e647c8f0fdd446794c034c251a6fd37aa923f451e |
|
MD5 | 2b200b1ae083869ce59ccffdae17b830 |
|
BLAKE2b-256 | bea0811be86dee4a1dda768719caf8fa7bc07ab4cf97ff35fe076c468e221e9d |
File details
Details for the file eburger-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: eburger-1.0.0-py3-none-any.whl
- Upload date:
- Size: 42.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04a4a6bbe7813c21ccca6d6cf898884cd3faed3a6f4c697880f134ab4e6ca60c |
|
MD5 | b26b3c5e657be7201c2b83e6bad316e5 |
|
BLAKE2b-256 | 49af6e3bf5bba93d23f61f2bf9615e9ebfc1e196f498558f93543a45c32d1121 |