Package: eburger
Template Based Smart Contracts Static AnalyzerDiscord|Discussions|Feature request|Wiki|Twitter DMWhat is eBurgereBurger is a static analysis tool that provides a way to quickly query and analyze solidity smart contracts.Create your templateRun your templateRunning 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 installHow to runHow to run - simpleHow to run - advancedHow it looks like 👀SARIF supportGitHub ActionContributing templatesComparison tableFeaturesWhat is missingHow to installFrom PyPipip3 install eburger
eburger -hFrom sourcegit clone https://github.com/forefy/eburger.git
cd eburger
pip3 install .
eburger -hHow to runSimple examplesSimplestcdMyProject/
eburger
cateburger-output.jsonSARIF outputeburger-fMyProject/-osarifMarkdown output (running from the project's directory)eburger-omarkdownFocused scan of a single file and its dependencieseburger-f../ProjectToScan/src/SomeContract.solOnly print nsloc counteburger-fMyProject/--nslocRun custom YAML templateseburger-tMyCustomYAMLs/-fMyProject/Advanced usageRefer to theWiki.How it looks likeHere's a demo videohttps://github.com/forefy/eburger/assets/152717707/65bf6a6d-adbc-4664-84d4-73ac641a8307Besideseburger-output.json, above example will also generate extended info under the folder.eburger.SARIF supportSARIF (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'sSARIF Viewer VSCode extenstionRuneburger --output sarifFrom within VSCode, click the resultedeburger-output.sariffile placed in the working directoryThis will open an interactive vscode menu with the issues, description, navigation of vulnerable code lines, etc.GitHub ActionCI pipelines are supported via theeburger-actionGitHub Action, it helps continuously assessing your code and viewing the raised insights on your repo's security pane.Visit the action's page for more information.Contributing templatesTemplates can be added by creating new YAML files and either load them witheburger -t mytemplate.yaml .or by placing them under thetemplates/directory.If you prefer playing with eburger on the browser before installation, you can try the dedicated Jupyter notebook instance:If you are using eburger as a python package (installed via pip install), the existing templates location can be found with runningpip3 show eburgeror by running the tool on a contract and seeing the templates path printed to the console.For template writing and documentation refer to theWiki.Comparison tableComparison of actively maintained / popular solidity smart contract static analyzersStatic AnalyzerLanguage2 Minutes to write acustom template with ChatGPTGitHub ActionMany findings that are already found before the contest beganWould want to eateBurgerPython✅✅✅SlitherPython✅✅4naly3erTypeScript 🤮✅MythrilPythonAderynRustForgot one or made a mistake? open a pull request or an issue :)FeaturesYAML template support to query contract structure and raise insights for any matchesFast learning curve for creating templates, ability to customize templates to the current ongoing audit projectFoundry and Hardhat support ❣️SARIF support & VSCode GUI integrationGitHub Actions integration througheburger-actionMarkdown reportQuick custom template generation via theeBurger Templates Generator GPTCommunity and free support viaDiscordWhat is missingWhat features would you like to see?let us know!