Built with Google Gemini 3 | Demo | Architecture
DeFi protocols lost $3.8 Billion to hacks in 2023-2024. Traditional security tools find bugs but can't prove they're exploitable.
Current tools fail because:
- Static analyzers produce 90%+ false positives
- Manual auditing is slow and expensive ($50K-$500K per audit)
- No tool validates if a bug can actually steal funds
VulHunters is an autonomous AI agent powered by Gemini 3 that:
- Finds vulnerabilities in smart contracts using AI reasoning
- Writes working exploits automatically
- Proves exploitability by extracting real profit on forked blockchains
Key Innovation: We don't just find bugs - we prove them by stealing money (on test networks).
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β SMART β β ANALYZE β β GENERATE β β PROVE β
β CONTRACT ββββββΆβ + GRAPH ββββββΆβ EXPLOIT ββββββΆβ PROFIT β
β INPUT β β + SLITHER β β CODE β β ON FORK β
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββ
β π Protocol Directory β
β (scope.txt) β
ββββββββββββββββ¬βββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββ
β PHASE 1: Protocol Analysis β
β βββββββββββββββββββββββββββββββββ β
β β’ Parse scope.txt β
β β’ Build dependency graph β
β β’ Identify trust boundaries β
β β’ Map fund flows β
ββββββββββββββββ¬βββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββ
β PHASE 2: Fork Blockchain β
β βββββββββββββββββββββββββββββββββ β
β β’ Start Anvil fork β
β β’ Clone mainnet state β
β β’ Ready for exploit testing β
ββββββββββββββββ¬βββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββ
β PHASE 3: Load Pattern Database β
β βββββββββββββββββββββββββββββββββ β
β β’ 670+ historical DeFi exploits β
β β’ Used for PATTERN MATCHING β
β β’ Suggests similar attack vectors β
ββββββββββββββββ¬βββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β π FOR EACH CONTRACT IN SCOPE β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β STEP 1: Build Contract Graph β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β Contract.sol β β
β β β β β
β β βββ imports: [Token.sol, Oracle.sol] β β
β β βββ calls: Token.transfer(), Oracle.price() β β
β β βββ called_by: [Router.deposit()] β β
β β βββ internal_calls: withdraw() β _update() β β
β β β β
β β This shows ALL RELATED FILES for context β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β STEP 2: Run Slither (Static Analysis) β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β β’ Run slither on contract β β
β β β’ Filter noise (keep High/Medium only) β β
β β β’ Extract: reentrancy, access control, etc. β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β STEP 3: Gemini 3 Analysis β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β Gemini 3 receives: β β
β β βββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β’ Full contract source code β β β
β β β β’ Function call graph β β β
β β β β’ Cross-contract calls (related files) β β β
β β β β’ Slither findings β β β
β β β β’ Pattern matches from 670+ exploits β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β Gemini 3 can use bash to explore related files: β β
β β $ grep -n 'function transfer' ../Token.sol β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β STEP 4: Generate & Test Exploit β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β If vulnerability found: β β
β β 1. Write Exploit.sol (Solidity) β β
β β 2. Compile with Forge β β
β β 3. Run on forked blockchain β β
β β 4. Measure profit extracted β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββ
β PHASE 5: Validate All Exploits β
β βββββββββββββββββββββββββββββββββ β
β β’ Run each exploit on fork β
β β’ Check profit β₯ 0.1 ETH β
β β’ Calculate USD value β
ββββββββββββββββ¬βββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββ
β PHASE 6: Generate Report β
β βββββββββββββββββββββββββββββββββ β
β β’ JSON report with all findings β
β β’ Markdown report with details β
β β’ Profit summary β
βββββββββββββββββββββββββββββββββββββββ
VulHunters uses Gemini 3 as the core AI engine:
| Gemini 3 Feature | How We Use It |
|---|---|
| Gemini 3 Pro | Main reasoning engine - analyzes contracts, finds vulnerabilities |
| Function Calling | Executes bash commands, writes Solidity exploit code |
| Context Caching | Caches contract code - 80% token cost savings |
| Long Context | Analyzes entire protocols (100K+ tokens) |
# ExploitAgent receives full context for each contract
context = {
"source_code": contract_code,
"call_graph": {
"withdraw": ["_updateBalance", "_transfer"],
"deposit": ["_mint", "_updateBalance"]
},
"cross_contract_calls": [
{"to": "Token", "function": "transfer", "line": 45},
{"to": "Oracle", "function": "getPrice", "line": 78}
],
"slither_findings": [
{"type": "reentrancy", "severity": "High", "line": 52}
]
}
# Gemini 3 analyzes and generates exploit
result = await exploit_agent.analyze(context)For each contract, we build a complete relationship map:
Vault.sol Analysis:
βββ Imports: Token.sol, Oracle.sol, Math.sol
βββ External Calls:
β βββ Line 45: Token.transfer(user, amount)
β βββ Line 78: Oracle.getPrice(asset)
β βββ Line 92: Token.balanceOf(address(this))
βββ Called By:
β βββ Router.deposit() β Vault.mint()
βββ Internal Call Graph:
βββ deposit() β _mint() β _updateShares()
βββ withdraw() β _burn() β _transfer()
This helps Gemini 3 understand how contracts interact and find vulnerabilities at trust boundaries.
We maintain a database of 670+ real DeFi hacks for pattern matching:
Contract has: Flash loan + Price oracle
Pattern Match: Similar to Euler Finance hack ($197M)
Suggested Attack: Flash loan price manipulation
We don't just report bugs - we prove they work:
Traditional Tool: VulHunters:
βββββββββββββββββ βββββββββββββββββ
"Possible reentrancy "Reentrancy CONFIRMED
in withdraw()" - Exploit: Exploit.sol
- Profit: 150 ETH ($450,000)
- Tested on forked mainnet"
# Install
git clone https://github.com/yourusername/vulhunters
cd vulhunters
pip install -e .
# Configure
echo "GEMINI_API_KEY=your_key" >> .env
# Run audit
vulhunters audit ./protocol/ --chain ethereum$ vulhunters audit ./defi-protocol/
[*] PHASE 1: Protocol Analysis
βββ Found 5 contracts in scope
βββ Built dependency graph
βββ Identified 3 trust boundaries
[*] PHASE 2: Forking Ethereum mainnet...
βββ Anvil fork ready at localhost:8545
[*] PHASE 3: Loading pattern database...
βββ 670 historical exploits loaded
[*] PHASE 4: Analyzing contracts...
π Vault.sol
βββ Building call graph...
βββ Running Slither...
βββ Gemini 3 analyzing...
βββ Found: 2 vulnerabilities
π Token.sol
βββ Building call graph...
βββ Running Slither...
βββ Gemini 3 analyzing...
βββ Found: 1 vulnerability
[*] PHASE 5: Validating exploits...
βββ Exploit #1: SUCCESS - 50 ETH ($150,000)
βββ Exploit #2: SUCCESS - 25 ETH ($75,000)
[*] PHASE 6: Generating reports...
βββ report.json, report.md saved
ββββββββββββββββββββββββββββββββββββββββ
SUMMARY
ββββββββββββββββββββββββββββββββββββββββ
Vulnerabilities: 3
Working Exploits: 2
Total Profit: 75 ETH ($225,000)
ββββββββββββββββββββββββββββββββββββββββ
vulhunters/
βββ src/vulhunters/
β βββ agents/
β β βββ exploit_agent_v2.py # Gemini 3 powered analysis
β β βββ protocol_analyzer.py # Dependency graph builder
β β βββ contract_analyzer.py # Per-contract analysis + Slither
β β βββ pattern_matcher.py # 670+ exploit pattern matching
β βββ gemini/
β β βββ client.py # Gemini 3 API client
β βββ mcp_servers/
β β βββ anvil_server.py # Blockchain forking tools
β βββ harness/
β β βββ exploit_validator.py # Profit validation
β βββ unified_cli.py # CLI entry point
βββ DeFiHackLabs/ # 670+ historical exploits
βββ tests/ # Test suite
| Metric | Traditional Audit | VulHunters |
|---|---|---|
| Cost | $50K - $500K | ~$100 (API) |
| Time | 2-4 weeks | Minutes |
| False Positives | 90%+ | ~0% (profit validated) |
| Exploit Proof | Manual | Automatic |
| Component | Technology |
|---|---|
| AI Engine | Google Gemini 3 Pro |
| Blockchain | Foundry (Anvil, Forge, Cast) |
| Static Analysis | Slither |
| Language | Python 3.11+, Solidity |
MIT License
VulHunters v2.0 - Finding DeFi vulnerabilities before hackers do.