Anuj-9009/smart-contract-auditor

GitHub: Anuj-9009/smart-contract-auditor

一个基于本地 LLM 的零成本智能合约审计平台,解决审计费用高与隐私顾虑问题。

Stars: 0 | Forks: 0

# 智能合约审计 AI 🛡️ [![Python](https://img.shields.io/badge/Python-3.9+-3776AB?logo=python&logoColor=white)](https://www.python.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.104+-009688?logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/) [![React](https://img.shields.io/badge/React-18+-61DAFB?logo=react&logoColor=black)](https://reactjs.org/) [![License](https://img.shields.io/badge/License-MIT-orange)](LICENSE) ![智能合约审计](https://img.shields.io/badge/Status-Production_Ready-brightgreen) ## ✨ 零成本架构 本项目旨在在不产生大型 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, 生产就绪, 离线能力, 网络安全, 逆向工具, 隐私保护, 零成本架构, 霓虹美学