Skip to main content


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)

Metadata

Release files for aegis-web3-cli 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aegis-web3-cli 0.0.2
File Size Uploaded Provenance Actions
aegis_web3_cli-0.0.2.tar.gz 19.1 kB Without provenance Details for aegis_web3_cli-0.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aegis-web3-cli 0.0.2
File Interpreter ABI Platform Actions
aegis_web3_cli-0.0.2-py3-none-any.whl Python 3 none any Details for aegis_web3_cli-0.0.2-py3-none-any.whl

Total release size: 37.0 kB

Release files / aegis_web3_cli-0.0.2.tar.gz

Download URL aegis_web3_cli-0.0.2.tar.gz
Size 19.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f89a918cbd61429284d99cd9f583beb83c349667dab1cd6a46004eaf465b6119
BLAKE2b-256 checksum
How to use checksums
154fc9829b44dd5ebc681b9f7fe8f0fdd9d913a960d711fa6fd5cb9f39388eca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.11.3 Darwin/22.6.0

Release files / aegis_web3_cli-0.0.2-py3-none-any.whl

Download URL aegis_web3_cli-0.0.2-py3-none-any.whl
Size 17.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7fc1821190e50a40ca95e86b9e43c960709a6d415d04a6952560eee72ba66213
BLAKE2b-256 checksum
How to use checksums
89d7b17e1f4aa9470455b59dad0a166413882e5bddfe75d8583964e1d56c3168
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.11.3 Darwin/22.6.0

Security for aegis-web3-cli 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page