ContractGuard is a comprehensive smart contract auditing tool designed with a user-friendly graphical interface. It allows users to paste URLs of smart contracts, download them, and perform extensive vulnerability scans. The tool aims to help developers and security researchers identify potential issues in Ethereum smart contracts.
- Graphical User Interface (GUI): User-friendly interface built with
tkinter
for easy interaction. - URL Input: Paste smart contract URLs to download and audit the code.
- Vulnerability Scanning: Detect common vulnerabilities such as reentrancy, integer overflow, unchecked call returns, and more.
- Detailed Reports: Generate and display comprehensive audit reports, with options to export to PDF.
- Static Analysis Integration: Utilizes tools like
mythril
andslither
for in-depth security analysis.
- Python 3.7 or higher
tkinter
(usually included with Python installations)- Virtual environment setup (optional but recommended)
- Clone the Repository
git clone https://github.com/your-username/ContractGuard.git
cd ContractGuard
- Set Up a Virtual Environment
python3 -m venv env
source env/bin/activate # On Windows, use 'env\Scripts\activate`
- Install Dependencies
pip install -r requirements.txt
- Install
tkinter
- On Debian-based Linux (including Ubuntu):
sudo apt-get update && sudo apt-get install -y python3-tk
- On Fedora:
sudo dnf install python3-tkinter
- Run the Application
python3 ChainInspect.py
- Using the GUI
- Paste the URL of the smart contract in the input field.
- Click the "Download" button to fetch the smart contract code.
- Click the "Scan" button to perform a vulnerability audit.
- View the detailed report in the GUI or export it to a PDF file.
We welcome contribution to enhance ChainInspect! Here's how you can contribute:
- Fork the Repository
- Click the "Fork" button at the top right of the repository page.
- Clone Your Fork
git clone https://github.com/RoguePayload/ChainInspect.git
cd ChainInspect
- Create a Branch for Your Feature
git checkout -b feature-name
- Make Your Changes
- Implement your feature or bug fix.
- Commit Your Changes
git add .
git commit -m "Description of your feature or fix"
- Push to Your Fork
git push origin feature-name
- Create a Pull Request
- Navigate to the original repository and create a pull request from your fork.
This project is licensed under the MIT License. See the LICENSE file for details.
For any inquiries or support, please contact:
- Author: Dr. Aubrey W. Love II (AKA Rogue Payload)
- Email: [email protected]
- GitHub: Rogue Payload
We appreciate your interest in ChainInspect! Together, we can improve the security & reliability of smart contracts.