Skip to content

Latest commit

ย 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 

Repository files navigation

SolidityGuard AI ๐Ÿ›ก๏ธ

AI-Powered Smart Contract Security Audit Tool

A sophisticated multi-agent AI system that performs comprehensive security audits on Solidity smart contracts using adversarial reasoning, static analysis simulation, and attack scenario modeling.


๐Ÿ“Š Status & Badges

License: MIT Python 3.10+ CrewAI 1.14.1 Code style: black Status: Early Release Maintenance: Active

GitHub Activity: GitHub stars GitHub issues GitHub forks GitHub last commit


๐Ÿ“‹ Overview

SolidityGuard AI is an open-source smart contract security auditing framework powered by CrewAI. It deploys a 6-agent sequential pipeline to analyze Solidity contracts for vulnerabilities across multiple dimensions:

๐Ÿ”„ Reentrancy & MEV attacks ๐Ÿ” Access control flaws ๐Ÿงฎ Arithmetic vulnerabilities (overflow/underflow) โš™๏ธ Logic errors & state inconsistencies ๐Ÿ’ฐ Economic incentive attacks ๐Ÿšซ Denial of Service vectors

Each agent specializes in a different stage of the audit, passing context down the pipeline to produce a professional markdown audit report with confirmed findings, attack scenarios, and remediation recommendations.


โœจ Key Features

  • ๐Ÿค– 6-Agent Pipeline: Contract Planner โ†’ Static Analysis โ†’ Vulnerability Hunter โ†’ Exploit Crafter โ†’ Verification โ†’ Report Writer
  • โš”๏ธ Adversarial Analysis: AI agents reason about attacks from an adversary's perspective
  • ๐ŸŽฏ No Manual Tool Dependencies: Doesn't require Slither, 4naly3er, or other CLI toolsโ€”AI simulates static analysis findings
  • ๐Ÿ”จ Attack Scenario Modeling: Full proof-of-concept attack scenarios with transaction sequences
  • โœ… Risk Verification Layer: Independent verification agent challenges findings before final report
  • ๐Ÿ“„ Markdown Reports: Publication-ready audit reports in markdown format
  • ๐ŸŽ“ Educational & Production Ready: Built-in sample vulnerable contract for testing; supports custom audits
  • ๐Ÿ”Œ API-First Design: Built on CrewAI frameworkโ€”easily extensible and embeddable

๐Ÿš€ Quick Start

โš™๏ธ Installation

Prerequisites:

  • ๐Ÿ Python 3.10 or higher
  • ๐Ÿ“ฆ pip or uv package manager

Clone & Install:

git clone https://github.com/baties/smartcontract_security_crewai.git
cd smartcontract_security_crewai-project/sc_security

# Using UV (recommended)
uv sync

# OR using pip
pip install -e ".[dev]"

๐Ÿ”‘ Set API Keys:

Create a .env file in sc_security/ directory:

# Required: OpenAI API key for Claude/GPT models
OPENAI_API_KEY=sk-proj-YOUR-KEY-HERE

# Optional: Serper API key for web search (used by agents)
SERPER_API_KEY=your-serper-key-here

# Optional: LLM model selection (defaults to gpt-4o-mini)
MODEL=gpt-4o-mini

๐Ÿ’ป Usage

Audit a Contract:

# Audit the built-in vulnerable sample contract
sc_security

# Audit your own contract
sc_security path/to/YourContract.sol

๐Ÿ“‹ Output:

  • audit_report.md โ€” completed audit report with all findings and recommendations

๐Ÿ—๏ธ Architecture

Agent Pipeline

The audit follows a sequential 6-stage pipeline:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 1. CONTRACT PLANNER                                                 โ”‚
โ”‚    โ†ณ Read contract code                                             โ”‚
โ”‚    โ†ณ Produce comprehensive audit plan (functions, state, risks)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 2. STATIC ANALYSIS AGENT                                            โ”‚
โ”‚    โ†ณ Simulate Slither/4naly3er findings                             โ”‚
โ”‚    โ†ณ Classify: GENUINE | FALSE_POSITIVE | NEEDS_DEEPER              โ”‚
โ”‚    โ†ณ Identify gaps static tools cannot catch                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 3. VULNERABILITY HUNTER                                             โ”‚
โ”‚    โ†ณ Adversarial deep-dive on 6 attack categories                   โ”‚
โ”‚    โ†ณ Find exploitable issues (not false positives)                  โ”‚
โ”‚    โ†ณ Rank by severity (Critical โ†’ Low)                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 4. EXPLOIT CRAFTER                                                  โ”‚
โ”‚    โ†ณ Model complete attack scenarios for each finding               โ”‚
โ”‚    โ†ณ Transaction sequences, attacker profiles, PoC pseudocode       โ”‚
โ”‚    โ†ณ Financial impact estimates                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 5. VERIFICATION AGENT                                               โ”‚
โ”‚    โ†ณ Challenge every finding with skeptical reasoning               โ”‚
โ”‚    โ†ณ Verify attack paths are actually exploitable                   โ”‚
โ”‚    โ†ณ Eliminate false positives, downgrade uncertain findings        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 6. REPORT WRITER                                                    โ”‚
โ”‚    โ†ณ Synthesize all findings into professional markdown report      โ”‚
โ”‚    โ†ณ Executive summary, risk tables, recommendations                โ”‚
โ”‚    โ†ณ Output: audit_report.md                                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Vulnerability Categories

The system analyzes contracts across 6 primary attack vectors:

  1. ๐Ÿ” Reentrancy โ€“ External calls violating Checks-Effects-Interactions pattern
  2. ๐Ÿ”“ Access Control โ€“ Missing or bypassable privilege checks
  3. ๐Ÿ”ข Arithmetic โ€“ Overflow, underflow, division by zero
  4. โšก Logic Errors โ€“ Incorrect state updates, broken invariants, edge cases
  5. ๐Ÿ’ธ Economic/Incentive โ€“ Flash loan vectors, MEV, sandwich attacks, fund drainage
  6. ๐Ÿšซ Denial of Service โ€“ Permanent withdrawal blocking, gas griefing, unbounded loops

๐Ÿ“– Usage Examples

๐Ÿ“ Example 1: Audit Built-in Sample Contract

cd sc_security
sc_security

This runs the full audit on the VulnerableVault sample contract (intentionally vulnerable for demonstration). Output:

============================================================
  SolidityGuard AI โ€” Smart Contract Security Audit
  6-Agent CrewAI Pipeline
============================================================

[Contract Planner] Analyzing contract structure...
[Static Analysis Agent] Simulating tool findings...
[Vulnerability Hunter] Searching for exploitable issues...
[Exploit Crafter] Modeling attack scenarios...
[Verification Agent] Challenging findings...
[Report Writer] Generating final report...

[SolidityGuard] Audit complete. Report saved to: audit_report.md

๐Ÿ“‚ Example 2: Audit Custom Contract

# Single contract
sc_security /path/to/MyToken.sol

# Result: audit_report.md with findings specific to MyToken

๐Ÿ Example 3: Programmatic Usage

from sc_security.crew import ScSecurity

# Audit a contract programmatically
contract_code = open("MyContract.sol").read()
inputs = {"contract_code": contract_code}

crew = ScSecurity().crew()
result = crew.kickoff(inputs=inputs)

print(result)  # Full audit output

โš™๏ธ Configuration

๐Ÿ”‘ Environment Variables

Variable Required Default Purpose
OPENAI_API_KEY โœ… Yes โ€” OpenAI API key for LLM access
MODEL โŒ No gpt-4o-mini LLM model to use
SERPER_API_KEY โŒ No โ€” Web search API (optional)

๐Ÿ“‹ Agent & Task Configuration

Agents and tasks are defined in YAML config files:

  • src/sc_security/config/agents.yaml โ€“ Agent personalities, roles, goals
  • src/sc_security/config/tasks.yaml โ€“ Task descriptions, expected outputs, context chains

Modify these files to customize agent behavior, prompts, or output expectations.

๐Ÿ Python Configuration

Main entry point: src/sc_security/main.py

def run():
    """Run the audit crew."""
    contract_path = sys.argv[1] if len(sys.argv) > 1 else None
    contract_code = _load_contract(contract_path)

    inputs = {"contract_code": contract_code}
    ScSecurity().crew().kickoff(inputs=inputs)

๐Ÿ“ฆ Project Structure

smartcontract_security_crewai-project/
โ”œโ”€โ”€ README.md                           # This file
โ”œโ”€โ”€ sc_security/                        # Main Python package
โ”‚   โ”œโ”€โ”€ pyproject.toml                  # Project metadata & dependencies
โ”‚   โ”œโ”€โ”€ uv.lock                         # UV lock file
โ”‚   โ”œโ”€โ”€ .env                            # API keys (git-ignored)
โ”‚   โ”œโ”€โ”€ src/sc_security/
โ”‚   โ”‚   โ”œโ”€โ”€ main.py                     # CLI entry point
โ”‚   โ”‚   โ”œโ”€โ”€ crew.py                     # CrewAI crew definition
โ”‚   โ”‚   โ”œโ”€โ”€ config/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ agents.yaml             # Agent configurations
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ tasks.yaml              # Task configurations
โ”‚   โ”‚   โ”œโ”€โ”€ tools/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ custom_tool.py          # Custom agent tools
โ”‚   โ”‚   โ””โ”€โ”€ knowledge/
โ”‚   โ”‚       โ””โ”€โ”€ user_preference.txt     # Domain knowledge (optional)
โ”‚   โ””โ”€โ”€ .venv/                          # Virtual environment
โ””โ”€โ”€ .gitignore                          # Git ignore configuration

๐Ÿง  How It Works

The VulnerableVault Example

The project includes a built-in demo contract with 3 intentional vulnerabilities:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract VulnerableVault {
    mapping(address => uint256) public balances;

    // VULN-001: Reentrancy
    function withdraw(uint256 amount) external {
        require(balances[msg.sender] >= amount);
        (bool success, ) = msg.sender.call{value: amount}("");
        require(success);
        balances[msg.sender] -= amount;  // State update AFTER call
    }

    // VULN-002: Missing access control
    function setPaused(bool _paused) external {
        paused = _paused;  // No msg.sender check!
    }

    // VULN-003: State inconsistency
    function emergencyWithdraw() external {
        payable(owner).transfer(address(this).balance);
        // Drains contract but leaves user balances untouched
    }
}

When audited, the system detects:

  1. Reentrancy in withdraw() โ€“ external call before state update
  2. Access control bypass in setPaused() โ€“ any address can pause
  3. State mismatch in emergencyWithdraw() โ€“ contract drains but balances remain

๐Ÿ› ๏ธ CLI Commands

Command Purpose
sc_security ๐ŸŽฏ Audit the built-in sample contract
sc_security <path> ๐Ÿ“ Audit a custom contract file
run_crew โ–ถ๏ธ Alias for sc_security
train <n_iterations> <output_file> ๐Ÿง  Train the crew on sample contract
replay <task_id> ๐Ÿ”„ Replay a specific task from previous execution
test <n_iterations> <eval_llm> โœ… Test crew performance
run_with_trigger โšก Run with event triggering

๐Ÿงช Testing & Development

โœ… Run Tests

cd sc_security
python -m pytest

๐Ÿง  Train the Crew (Optimize Prompts)

sc_security train 3 training_results.json

Trains the crew for 3 iterations and saves results for prompt optimization.

๐Ÿ”„ Replay Task Execution

sc_security replay <task_id>

Reruns a specific task from a previous execution using saved context.


๐Ÿ“‹ Report Output Format

Example: audit_report.md

---
# SMART CONTRACT SECURITY AUDIT REPORT
**Contract:** VulnerableVault
**Audit Date:** 2025-12-15
**Audited By:** SolidityGuard AI โ€” Multi-Agent Audit Team

## EXECUTIVE SUMMARY
The VulnerableVault contract contains 3 confirmed critical vulnerabilities that allow fund theft via reentrancy, unauthorized pause, and state inconsistency attacks.

## RISK OVERVIEW
| Severity | Count |
|----------|-------|
| Critical | 3 |
| High     | 0 |
| Medium   | 0 |
| Low      | 0 |

## FINDINGS

### VULN-001: Reentrancy in withdraw()
**Severity:** Critical | **Category:** Reentrancy | **Affected Function:** `withdraw()`

#### Description
The withdraw() function performs an external call before updating the balance state, violating the Checks-Effects-Interactions pattern...

#### Impact
An attacker can drain the entire vault by recursively calling withdraw() through a malicious contract's receive() function.

#### Proof of Concept
1. Deploy AttackerContract with receive() that calls VulnerableVault.withdraw()
2. Call vault.deposit() with 1 ETH
3. Call vault.withdraw(1 ether)
4. receive() triggers instantly, calls withdraw() again
5. Repeat until vault empty

#### Recommendation
Move the balance update BEFORE the external call:
```solidity
function withdraw(uint256 amount) external {
    require(balances[msg.sender] >= amount);
    balances[msg.sender] -= amount;  // Update state FIRST
    (bool success, ) = msg.sender.call{value: amount}("");
    require(success);
}

...


---

## ๐Ÿค Contributing

Contributions are welcome! Areas for enhancement:

- [ ] ๐Ÿ”น Add support for Vyper contracts
- [ ] ๐Ÿ”Œ Integrate real Slither/4naly3er tool calls
- [ ] โ›ฝ Add gas optimization analysis
- [ ] ๐Ÿ“‚ Support for multi-file audits
- [ ] ๐ŸŽจ Web UI for report visualization
- [ ] ๐ŸŽฏ Custom agent templates for specific protocols (AMM, lending, etc.)

### ๐Ÿ“‹ Contribution Guidelines

1. **Fork the repository** ๐Ÿด
2. **Create a feature branch** (`git checkout -b feature/amazing-feature`) ๐ŸŒณ
3. **Make your changes** with clear commit messages ๐Ÿ“
4. **Write tests** for new functionality ๐Ÿงช
5. **Submit a pull request** with description of changes ๐Ÿš€

---

## ๐Ÿ“„ License

This project is licensed under the **MIT License** โ€“ see [LICENSE](LICENSE) file for details.

You are free to use, modify, and distribute this software, with appropriate attribution.

---

## โš ๏ธ Disclaimer & Limitations

### โŒ IMPORTANT: AI-Generated Reports Require Human Review

**SolidityGuard AI** is an experimental AI-powered analysis tool. **This is NOT a substitute for professional human audits.**

#### โ›” Limitations:

- โŒ **No guarantee of finding all vulnerabilities** โ€“ AI agents may miss edge cases
- โŒ **False positives possible** โ€“ AI may flag non-issues as vulnerabilities
- โŒ **Cannot detect off-chain attacks** โ€“ Only analyzes code, not external dependencies
- โŒ **No formal verification** โ€“ Proofs generated are pseudocode, not mathematically formal
- โŒ **Depends on LLM quality** โ€“ Output quality varies with model and prompt engineering

#### ๐Ÿšซ Unaudited Categories:

- โš™๏ธ Compiler-level vulnerabilities
- ๐Ÿ“š Third-party library exploits
- ๐Ÿ’ฑ Economic attacks requiring cross-protocol interaction
- โฐ Time-dependent race conditions
- ๐Ÿ”ฎ Oracle manipulation (without deep DeFi context)

#### โœ… Best Practices:

1. โœ”๏ธ **Use this as a first-pass filter** โ€“ catches obvious issues quickly
2. โœ”๏ธ **Always have a human auditor review findings** โ€“ especially Critical/High severity
3. โœ”๏ธ **Combine with static analysis tools** โ€“ Slither, 4naly3er, Certora run in parallel
4. โœ”๏ธ **Test with multiple models** โ€“ GPT-4, Claude, etc. for cross-validation
5. โœ”๏ธ **For production contracts** โ€“ hire professional audit firms (Trail of Bits, Consensys, etc.)

---

## ๐Ÿ“š Resources

- ๐Ÿค– **CrewAI Framework**: https://github.com/joaomdmoura/crewai
- ๐Ÿ“– **Solidity Security**: https://docs.soliditylang.org/en/latest/security-considerations.html
- ๐Ÿ”’ **OWASP Smart Contracts**: https://owasp.org/www-project-smart-contract-top-10/
- ๐Ÿ† **Trail of Bits Audits**: https://trailofbits.com/
- โœ… **Consensys Diligence**: https://consensys.net/diligence/

---

## ๐Ÿ’ก Ideas & Feedback

Have ideas for improvements? Found a bug? Feel free to:

- ๐Ÿ› **Open an Issue**: https://github.com/baties/smartcontract_security_crewai/issues
- ๐Ÿ’ฌ **Start a Discussion**: https://github.com/baties/smartcontract_security_crewai/discussions
- ๐Ÿš€ **Submit a Pull Request**: https://github.com/baties/smartcontract_security_crewai/pulls

---

## ๐Ÿ™ Acknowledgments

This project builds on the excellent work of:
- โญ **CrewAI**: Multi-agent AI orchestration framework
- ๐Ÿง  **Anthropic/OpenAI**: Large language models powering the agents
- ๐Ÿ” **Security Research Community**: OWASP, Trail of Bits, Consensys, Echidna teams

---

**Made with โค๏ธ for the Solidity & Web3 security community**

<div align="center">

  [![Twitter](https://img.shields.io/badge/Follow%20Us-Twitter-1DA1F2?style=flat&logo=twitter)](https://twitter.com/Batis13Ab)
  [![GitHub](https://img.shields.io/badge/GitHub-Repo-black?style=flat&logo=github)](https://github.com/baties/smartcontract_security_crewai)

  โญ **Star us on GitHub if you find this useful!** โญ

</div>

*Last Updated: 2025-12-15*

About

Open-source Solidity security auditing framework with a 6-agent CrewAI pipeline for adversarial analysis, attack modeling, verification, and audit reporting.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Contributors

Languages