Skip to main content

No project description provided

Project description


Aegis: Shielding Smart Contracts with AI-Driven Security

Aegis is a smart contract audit and analysis tool powered by artificial intelligence, dedicated to safeguarding your smart contracts from vulnerabilities.

View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Key Features
  3. Built With
  4. Vulnerability Detection
  5. Getting Started
  6. CLI Commands
  7. License
  8. Contributing
  9. Team Members

About the Project

Aegis is a cutting-edge smart contract audit and analysis tool, empowered by state-of-the-art artificial intelligence, that safeguards your smart contracts against a wide range of vulnerabilities. Traditional security approaches like manually defining patterns are time-consuming, require deep expertise, and struggle to keep up with ever-evolving threats. Aegis leverages the power of deep learning to offer a faster, more comprehensive solution.

Watch demo here

Mission:

Our mission is to empower developers of all skill levels with advanced security capabilities, simplifying the process of building robust and trustworthy smart contracts.

Value Proposition:

  • AI-powered Vulnerability Detection: Our robust machine learning model, trained on extensive real-world data, accurately identifies critical vulnerabilities, exceeding the limitations of traditional rule-based approaches.
  • Solidity Expertise: Aegis seamlessly supports Solidity, the leading language for smart contract development, ensuring compatibility with your existing projects.
  • Actionable Insights and Remediation: Detailed reports pinpoint vulnerabilities, their severity levels, and offer concrete suggestions for remediation, guiding you towards secure and reliable smart contracts.
  • Effortless Integration: Aegis integrates seamlessly into your development workflow with a user-friendly command-line interface, minimizing disruption and maximizing efficiency.

(back to top)

Key Features

  • Advanced Vulnerability Detection: Identify a broad spectrum of vulnerabilities, including reentrancy, integer overflow, access control issues, and more.
  • Comprehensive Solidity Support: Analyze and scan your Solidity code for potential threats.
  • Actionable Insights and Remediation: Receive detailed reports highlighting vulnerabilities, their severity levels, and suggested fixes.
  • Easy Integration: Seamlessly integrate Aegis into your development workflow with a user-friendly CLI interface.

(back to top)

Built with

Python PyTorch scikit-learn Jupyter Notebook HuggingFace

Open Source Pre-trained Models:

(back to top)

Vulnerability Detection

Aegis employs a two-stage approach to vulnerability detection, combining the strengths of ResNet-18 and LLAMA 2.

ResNet-18:

  • Acts as the first line of defense, efficiently extracting crucial features from smart contract bytecode.
  • Identifies the presence of vulnerabilities with a broad scope, providing an initial assessment.

LLAMA 2:

  • Built upon ResNet-18's foundation, leverages fine-tuning and specialized training to pinpoint vulnerable code segments with enhanced precision.
  • Goes beyond mere detection, offering actionable guidance for resolving vulnerabilities through targeted suggestions and potential fixes.

Key Advantages:

  • Precision Boost: LLAMA 2's targeted approach minimizes false positives and pinpoints relevant areas for attention, saving developers valuable time and effort.
  • Actionable Insights: Gain practical, code-level recommendations for addressing vulnerabilities, empowering you to effectively secure your smart contracts.
  • Open Datasets and Hallucination Mitigation: We prioritize responsible AI practices by utilizing publicly available datasets, actively addressing the potential for hallucination in LLAMA 2, and ensuring the accurate identification and remediation of vulnerabilities.

Detailed Information:

For a deeper understanding of the fine-tuning process, dataset selection, and mitigation strategies, please refer to the comprehensive documentation provided.

(back to top)

Getting Started

Installation Instructions:

To setup Aegis in your local machine, you need to have the following prerequisites installed on your system:

  1. Python 3.8 or higher: Download and install Python if you haven't already.

  2. Poetry: We use Poetry for dependency management. Install it by following the instructions here.

Once you have the prerequisites, you can set up Aegis by following these steps:

  1. Clone the repository:

    git clone https://github.com/KarthikS373/aegis.git
    
  2. Navigate to the project directory:

    cd aegis
    
  3. Install dependencies using Poetry:

    poetry install
    
  4. Activate Virtual Environment:

     poetry shell
    
  5. Run your first command:

    poetry run aegis --help
    

For a more detailed setup guide, consult our documentation.

Example Usage:

To see Aegis in action, check out our demo or refer to the detailed example usage guide in our documentation:

Feel free to explore and experiment with the provided examples to understand how to make the most out of Aegis for your projects.

(back to top)

CLI Commands

Aegis offers a set of intuitive CLI commands for efficient interaction. Refer to the documentation for usage examples.

compile : compile the solidity code
documentation : generate documentation for the smart contract
generate : generate ready to deploy smart contracts
info : get information about the application
report : generate a pdf report for the smart contract, summarizing its content, highlighting detected vulnerabilities, and suggesting optimizations
scan : scan a file or directory for vulnerabilities
summary : get summary about the smart contract

(back to top)

License

Aegis is licensed under the MIT license. For more information, please see the LICENSE file in the repository.

(back to top)

Contributing

We welcome contributions! For detailed instructions on how to contribute, please refer to the Contributing Guide in our documentation.

(back to top)

Team Members

(back to top)

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

aegis_web3_cli-0.0.2.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

aegis_web3_cli-0.0.2-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file aegis_web3_cli-0.0.2.tar.gz.

File metadata

  • Download URL: aegis_web3_cli-0.0.2.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.3 Darwin/22.6.0

File hashes

Hashes for aegis_web3_cli-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f89a918cbd61429284d99cd9f583beb83c349667dab1cd6a46004eaf465b6119
MD5 9d71e55f2b7a3a1865cbaf2efe7b4832
BLAKE2b-256 154fc9829b44dd5ebc681b9f7fe8f0fdd9d913a960d711fa6fd5cb9f39388eca

See more details on using hashes here.

File details

Details for the file aegis_web3_cli-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: aegis_web3_cli-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.3 Darwin/22.6.0

File hashes

Hashes for aegis_web3_cli-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7fc1821190e50a40ca95e86b9e43c960709a6d415d04a6952560eee72ba66213
MD5 718047c3832ab0573e17bdfc4529bb9c
BLAKE2b-256 89d7b17e1f4aa9470455b59dad0a166413882e5bddfe75d8583964e1d56c3168

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page