0xJonaseb11/kyros.auditor

GitHub: 0xJonaseb11/kyros.auditor

一个基于多 agent pipeline 的 Solidity 智能合约自主安全审计平台,集成多种静态和动态分析工具,生成可复现的审计报告。

Stars: 1 | Forks: 0

# Kyros Auditor 自主智能合约安全平台。它接收 Solidity 合约,在工具证据上运行由专门 agent 组成的确定性 pipeline,并生成可复现的审计报告。工具优先于 LLM 受到信任;发现的问题必须有证据支持。 ## 包含内容 - 9 个 agent 的审计 pipeline,每次运行均会持久化 `agent_outputs` - 静态和动态分析(Slither、Mythril、Solhint、Foundry、Echidna) - 架构映射和形式化 invariant 检查 - 安全验证、严重性评级标准、攻击模拟、补丁建议 - 通过 Celery 进行异步审计,通过计划任务 cron 进行监控调度 - Supabase PostgreSQL,可选的 JWT auth 和 RBAC - Next.js 工作区 UI,支持聊天、发现和报告下载 - 带有标注语料库的准确性评估测试套件 - API 速率限制和请求体大小防护 - CI:lint、mypy、70 多项测试、评估基线 部署到 Render/Vercel 已在文档中说明,但需要您自己的云账号。 ## 技术栈 | 层级 | 技术 | |-------|------------| | API | Python 3.13, FastAPI, SQLAlchemy, Alembic | | 数据库 | Supabase PostgreSQL | | 队列 | Redis, Celery | | 前端 | Next.js 16, Supabase Auth | | 分析 | Slither, Mythril, Solhint, Foundry, Echidna | ## 审计 pipeline | # | Agent | 角色 | |---|-------|------| | 1 | 合约摄取 | 解析源码、Solidity 版本、依赖项 | | 2 | 架构 | 特权角色、关键路径、信任假设 | | 3 | 形式化验证 | 访问控制、资产保护、供应量 invariant | | 4 | 静态分析 | Slither、Mythril、Solhint、Foundry 编译/测试、Echidna | | 5 | 安全 | 跨工具验证、误报过滤 | | 6 | 严重性 | 基于评级标准的分类 | | 7 | 攻击模拟 | 利用路径、资金/治理/所有权风险 | | 8 | 补丁 | 基于模板的修复建议 | | 9 | 报告 | 执行摘要、发现、架构、验证 | 监控在已启用的项目上单独运行(哈希漂移 + Slither 重新扫描)。 设计原则和 agent 契约:[AGENTS.md](AGENTS.md)。 ## 安全工具 | 工具 | 运行时机 | 备注 | |------|--------------|-------| | Foundry compile | 检测到 Foundry 项目 | 启用项目级别的 Slither | | Forge test | 存在 `test/` 目录 | 失败的测试将作为证据 | | Slither | 每次审计 | 主要的静态分析器 | | Mythril | 每个 Solidity 文件 | 如果缺少 `myth` 则优雅跳过 | | Solhint | 每个 Solidity 文件 | 样式规则由安全 agent 过滤 | | Echidna | 存在 `echidna_`/`invariant_` 属性或 `crytic.toml` | 如果没有 fuzz 目标则跳过 | Docker 镜像(`infrastructure/Dockerfile`)安装了 Slither、Solhint、Foundry、 Mythril 和 Echidna。请在构建后进行验证: ``` docker build -f infrastructure/Dockerfile -t kyros-api . docker run --rm kyros-api python scripts/verify_analyzers.py ``` 对于本地开发,请在宿主机上安装工具;如果缺少二进制文件,则仅依赖 agent 分析。 ## 快速开始 ``` uv sync --extra dev cp .env.example .env cp frontend/env.example frontend/.env.local uv run alembic upgrade head ``` 从 `frontend/` 启动 API + 前端: ``` npm install npm run dev ``` 后端:`http://localhost:8000`。前端:`http://localhost:3000`(代理 `/api/*`)。 Workers(任选其一): ``` # Docker docker compose up -d redis worker # 无 Docker 开发 CELERY_TASK_ALWAYS_EAGER=true # in .env, runs audits synchronously ``` 数据库设置:[docs/supabase-setup.md](docs/supabase-setup.md)。 验证: ``` uv run python scripts/verify_supabase.py curl http://localhost:8000/health/db ``` ## 运行审计 ``` curl -X POST http://localhost:8000/projects \ -H "Content-Type: application/json" -d '{"name": "my-protocol"}' curl -X POST http://localhost:8000/projects/{project_id}/contracts/upload \ -F "file=@Contract.sol" curl -X POST http://localhost:8000/projects/{project_id}/audits curl http://localhost:8000/audits/{audit_run_id} ``` 轮询直到 `status` 变为 `completed` 或 `failed`。启用 auth 后,请在每个请求中发送 `Authorization: Bearer `。 ## 认证 在 `.env` 中设置 `AUTH_ENABLED=true` 和 `SUPABASE_JWT_SECRET`。前端: 在 `frontend/.env.local` 中设置 `NEXT_PUBLIC_AUTH_ENABLED=true`。 用户账号和角色:[docs/user-setup.md](docs/user-setup.md)。 ## API | 方法 | 路径 | |--------|------| | GET | `/health`, `/health/db`, `/announcements` | | POST/GET | `/projects`, `/projects/{id}` | | POST | `/projects/{id}/contracts/upload`, `/projects/{id}/contracts/upload-zip` | | GET | `/projects/{id}/contracts`, `/projects/{id}/audits` | | POST | `/projects/{id}/audits` | | GET | `/audits/{id}` | | GET/POST | `/audits/{id}/chat/messages`, `/audits/{id}/chat` | | GET/POST | `/projects/{id}/monitoring`, `.../enable`, `.../disable`, `.../run` | 速率限制:`RATE_LIMIT_*` 环境变量。请求体上限:`MAX_REQUEST_BODY_BYTES`。`/health` 豁免。 ## 前端 | 路径 | 用途 | |------|---------| | `/` | 落地页 | | `/methodology` | Pipeline 概览 | | `/login` | Supabase 登录 | | `/dashboard` | 项目 | | `/projects/{id}` | 上传、审计、监控 | | `/audits/{id}` | 工作区、聊天、发现、报告 | ## 监控 ``` docker compose up -d redis worker beat # 或手动方式: uv run python scripts/dispatch_monitoring.py ``` ``` MONITORING_CRON_ENABLED=true MONITORING_CRON_INTERVAL_MINUTES=60 ``` ## 准确性评估 ``` uv run python scripts/run_eval.py uv run python scripts/run_eval.py --output evaluation/reports/latest.json \ --enforce-baseline --min-detection-rate 1.0 --max-false-positive-rate 0.5 ``` 语料库:`evaluation/corpus/`(涵盖四类漏洞的 11 个标注案例 以及两个安全对照组)。运行架构、形式化验证和静态分析 agent。外部分析器可以提高分数;agent 基线在没有它们的情况下运行。 CI 会在每次推送时强制执行基线检查。 ## 开发 ``` uv run pytest -q -m "not supabase" uv run ruff check . uv run mypy api agents analyzers config database orchestrator schemas services workers evaluation cd frontend && npm run lint && npm run build ``` ## 仓库结构 ``` agents/ pipeline agents (ingestion through report) analyzers/ slither, mythril, solhint, foundry, echidna wrappers orchestrator/ audit pipeline coordinator api/ FastAPI routes and middleware services/ projects, audits, contracts, monitoring workers/ Celery tasks and beat schedule evaluation/ accuracy harness and labeled corpus frontend/ Next.js UI database/ models and Alembic migrations infrastructure/ Dockerfile ``` ## 文档 - [docs/supabase-setup.md](docs/supabase-setup.md) - 数据库 - [docs/deployment.md](docs/deployment.md) - Render 和 Vercel ## 部署 蓝图:[render.yaml](render.yaml)。指南:[docs/deployment.md](docs/deployment.md)。
标签:AV绕过, FastAPI, LLM代理, 云安全监控, 区块链安全, 对称加密, 搜索引擎查询, 智能合约审计, 自动化审计, 请求拦截, 静态分析