Heisen111/Loupe
GitHub: Heisen111/Loupe
一款基于 LLM 的自动化智能合约审计代理,通过双阶段对抗分析和链上认证,在分钟级时间内完成从漏洞发现到 PoC 生成的全流程审计。
Stars: 0 | Forks: 0
# Loupe
## 问题
专业的智能合约审计费用高达 $10,000–$50,000,且需要数周时间。大多数项目在未经审计的情况下就直接发布。Loupe 能在 60 秒内运行完整的双阶段安全审计 —— 免费、无需注册、无需配置。
## 功能
### 双阶段分析
- **阶段 1** — 标准漏洞扫描:重入攻击、整数溢出、访问控制、tx.origin 身份验证、未检查的返回值、时间戳依赖、抢跑交易(front-running)、DoS、delegatecall、闪电贷(flash loans)、预言机操纵等
- **阶段 2** — 顶级黑客对抗模拟:被破坏的假设、危险的边缘情况、多函数组合漏洞利用、MEV/内存池(mempool)操纵
### Foundry 漏洞利用测试生成
对于每一个严重和高危漏洞,Loupe 都会生成一个完整的 Foundry 测试,用于部署合约、执行漏洞利用并断言攻击成功。
### 链上认证
每次审计结果都会通过部署在 Base Sepolia 上的 `LoupeAttestation.sol` 记录在链上。审计哈希、风险评分和整体风险等级将被不可篡改地存储。整个过程完全自动化 —— 用户无需提供钱包。
### 实时流式进度
审计进度通过 SSE 实时流式传输。状态消息会在每个阶段完成时更新 —— 无需轮询,无需等待单一响应。
### PDF 导出
完整的审计报告可导出为排版精美的 PDF:包含摘要、漏洞分析、攻击场景、阶段 2 发现以及积极发现。
## 技术栈
**前端**
- React 19 + Vite + TypeScript
- Tailwind CSS + shadcn/ui
- Framer Motion
- jsPDF (PDF 导出)
**后端**
- FastAPI + Python 3.11
- httpx (异步 HTTP)
- web3.py (Base Sepolia 认证)
- OpenRouter API (Gemini 2.0 Flash, Qwen3-coder, llama-3.3-70b)
- Groq API (备用)
- Etherscan API V2 (合约源码解析)
**合约**
- Solidity ^0.8.20
- 通过 Remix 部署在 Base Sepolia
- `LoupeAttestation.sol` — 在链上存储审计记录
## 本地设置
### 前置条件
- Node.js 20+
- Python 3.11+
- Git
### 前端
```
cd frontend
npm install
npm run dev
```
运行在 `http://localhost:5173`
### 后端
```
cd backend
python -m venv venv
source venv/Scripts/activate # Windows
# source venv/bin/activate # Mac/Linux
pip install -r requirements.txt
cp .env.example .env # fill in your keys
uvicorn main:app --reload --port 8000
```
运行在 `http://localhost:8000`
### 合约
合约已预部署在 Base Sepolia 上。如需重新部署:
1. 在 [Remix](https://remix.ethereum.org) 中打开 `contracts/LoupeAttestation.sol`
2. 使用 Solidity 0.8.20+ 编译
3. 通过浏览器扩展 (MetaMask) 部署到 Base Sepolia
4. 复制部署后的地址 → 在 `.env` 中设置 `ATTESTATION_CONTRACT_ADDRESS`
## 环境变量
复制 `backend/.env.example` 并填写:
```
# LLM Providers
OPENROUTER_API_KEY= # openrouter.ai
GROQ_API_KEY= # console.groq.com
# Blockchain
ETHERSCAN_API_KEY= # etherscan.io
PRIVATE_KEY= # wallet private key for attestation signing
BASE_SEPOLIA_RPC=https://sepolia.base.org
ATTESTATION_CONTRACT_ADDRESS= # deployed LoupeAttestation address
# Server
ALLOWED_ORIGINS=http://localhost:5173
```
## 架构
```
┌─────────────────────────────────────────────────────┐
│ Frontend (Vercel) │
│ React + Vite + TypeScript │
│ │
│ AuditInput ──► streamAudit() ──► SSE stream │
│ │ │
│ LoadingState (live status) │ │
│ AuditReport │ │
│ ├── RiskScoreCard │ │
│ ├── VulnerabilityCard │ │
│ │ └── Generate Foundry test │ │
│ ├── Phase2Findings │ │
│ └── AttestationBadge │ │
└──────────────────────────────────────┼──────────────┘
│ SSE / HTTP
┌──────────────────────────────────────▼──────────────┐
│ Backend (Railway) │
│ FastAPI + Python 3.11 │
│ │
│ /audit/stream ──► streaming.py │
│ /audit ──► auditor.py │
│ /generate-exploit ──► foundry_generator.py │
│ │
│ etherscan.py ──► Etherscan API V2 │
│ llm.py ──► OpenRouter ──► Groq (fallback) │
│ attestation.py ──► web3.py │
└──────────────────────────────────────┬──────────────┘
│
┌──────────────────────────────────────▼──────────────┐
│ Base Sepolia (Blockchain) │
│ LoupeAttestation.sol │
│ recordAudit(hash, address, risk, score) │
│ getAudit(hash) → AuditRecord │
└─────────────────────────────────────────────────────┘
```
## 在线演示
- **前端:** https://loupe-six.vercel.app
- **后端:** https://loupe-production.up.railway.app
- **合约:** Base Sepolia — `LoupeAttestation.sol`
## 许可证
MIT
标签:AI安全工具, AI智能体, AV绕过, Base网络, CISA项目, DApp安全, DLL 劫持, Etherscan API, FastAPI, Foundry测试, Framer Motion, jsPDF, MEV操纵, OpenRouter, PDF报告生成, Python, React, shadcn/ui, Solidity, SSE, Streamlit, Syscalls, Tailwind CSS, TypeScript, Vite, web3.py, Web3安全, Web3开发, 云安全监控, 代码安全, 以太坊, 区块链安全, 区块链审计工具, 去中心化应用安全, 双阶段分析, 大语言模型, 安全插件, 实时流传输, 对抗模拟, 提示词注入, 整数溢出, 无后门, 智能合约安全工具, 智能合约审计, 智能合约开发, 智能合约扫描, 智能合约漏洞扫描, 智能合约验证, 漏洞枚举, 网络安全, 自动化安全审计, 自动化攻击, 自动漏洞利用生成, 访问控制, 逆向工具, 配置审计, 重入攻击, 链上证明, 闪电贷攻击, 隐私保护, 静态分析, 预言机操纵, 风险评分, 黑盒测试