Anuj-9009/smart-contract-auditor
GitHub: Anuj-9009/smart-contract-auditor
一个基于本地 LLM 的零成本智能合约审计平台,解决审计费用高与隐私顾虑问题。
Stars: 0 | Forks: 0
# 智能合约审计 AI 🛡️
[](https://www.python.org/)
[](https://fastapi.tiangolo.com/)
[](https://reactjs.org/)
[](LICENSE)

## ✨ 零成本架构
本项目旨在在不产生大型 API 费用的情况下提供高级 AI 审计,这些费用通常与 LLM 应用程序相关。
- **LLM 引擎**:通过 **[Ollama](https://ollama.com/)** 在本地运行(`qwen2.5-coder` 或 `llama3`),实现绝对零成本和完全隐私。如果本地硬件不足,则回退到 **Groq** 慷慨的免费层进行云推理。
- **数据库**:使用 **[Supabase](https://supabase.com/)** 的免费层(PostgreSQL),提供强大的云数据库而无需托管费用。包含本地 SQLite 回退以实现完全离线能力。
- **后端**:**FastAPI**,设计为在 Render 或 Railway 等平台上免费部署。
- **前端**:**React + Vite** 搭配 Tailwind CSS v4,针对 Vercel 或 Netlify 上的静态托管进行了优化。
## 🎨 UI/UX 审美
我们摒弃了标准的通用 SaaS 模板(“UI 垃圾”),转而采用经过精心策划的高对比度视觉体验:
- **极简赛博朋克**:深邃、临床级的纯黑背景(`#09090b` 虚空)。
- **玻璃态**:半透明深色卡片,搭配背景模糊和细微的 1px 边框。
- **Pinterest 砌墙式布局**:结果以错落有致的动态砌墙网格展示,而非枯燥的垂直表格。
- **霓虹语义**:高对比度、发光点缀决定严重性(例如,'Critical' 使用电光红色,'Medium' 使用霓虹琥珀色)。
## 🚀 快速入门指南
### 1. 后端设置(FastAPI)
```
cd backend
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
# 复制环境模板
cp .env.example .env
```
### 2. 配置零成本 LLM(Ollama)
下载并安装 [Ollama](https://ollama.com/),然后在单独的终端中拉取所需模型:
```
ollama pull qwen2.5-coder
```
*FastAPI 后端将自动检测运行在 `http://localhost:11434` 的 Ollama。*
### 3. 启动后端服务器
```
python main.py
```
*服务器运行在 `http://localhost:8000`(API 文档位于 `/docs`)*
### 4. 前端设置(React/Vite)
打开一个新的终端窗口:
```
cd frontend
npm install
npm run dev
```
*前端运行在 `http://localhost:5173`*
## 🗄️ Supabase SQL 架构
如果选择使用免费的 Supabase 层而不是本地 SQLite 回退,请在 Supabase 项目的 SQL 编辑器中运行以下 SQL:
```
-- Create Audit Jobs Table
CREATE TABLE public.audit_jobs (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
contract_name TEXT DEFAULT 'Unknown',
contract_code TEXT NOT NULL,
status TEXT DEFAULT 'processing',
risk_score INTEGER DEFAULT 0,
total_vulnerabilities INTEGER DEFAULT 0,
critical_count INTEGER DEFAULT 0,
high_count INTEGER DEFAULT 0,
medium_count INTEGER DEFAULT 0,
low_count INTEGER DEFAULT 0,
created_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now())
);
-- Create Vulnerabilities Table
CREATE TABLE public.vulnerabilities (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
audit_job_id BIGINT REFERENCES public.audit_jobs(id) ON DELETE CASCADE,
vulnerability_type TEXT,
severity TEXT,
line_number INTEGER,
description TEXT,
suggested_fix TEXT,
confidence_score INTEGER DEFAULT 0,
created_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now())
);
```
执行完成后,将 `SUPABASE_URL` 和 `SUPABASE_ANON_KEY` 添加到 `backend/.env` 文件中。
## 📄 许可证
MIT 许可证 — 详细信息请参见 [LICENSE](LICENSE)。
标签:AI审计, AI风险缓解, AV绕过, FastAPI, LLM本地推理, LLM评估, Ollama, Python, React, SEO: AI审计平台, SEO: 智能合约审计工具, SQLite, Supabase, Syscalls, Tailwind CSS, Vite, 云免费架构, 前端静态托管, 区块链安全, 无后门, 智能合约审计, 玻璃态 UI, 生产就绪, 离线能力, 网络安全, 逆向工具, 隐私保护, 零成本架构, 霓虹美学