vamshiganesh/Consensiz-FZ

GitHub: vamshiganesh/Consensiz-FZ

Consensiz-FZ 是一个整合了 fuzz 测试、AI 辅助分析、跨合约验证和链上凭证的智能合约全栈安全审计平台,旨在解决传统合约测试中发现的孤立的、难以复现的安全问题。

Stars: 0 | Forks: 0

# Consensiz-FZ **AI 辅助的智能合约审计、持续 fuzzing 以及链上安全凭证。** Consensiz-FZ 是一个为 **Epoch '26 Hackathon** **区块链与网络安全**赛道构建的全栈网络安全平台。 该平台帮助团队摆脱孤立的智能合约检查,通过将合约摄取、AI 辅助分析、持续 fuzz 测试、失败案例持久化、跨合约验证、资金流监控、异常检测和可审计报告整合到一个工作流程中。 Consensiz-FZ 不再将失败的 fuzz 测试视为不可读的终端日志,而是将其转化为可执行的安全记录:什么失败了,哪个输入序列触发了它,涉及了哪些合约,资金是如何流动的,以及如何验证结果。 ## 问题所在 智能合约漏洞很少孤立存在。 一个合约在单独测试时可能是安全的,但在与外部合约、特权角色、预言机依赖、流动性池或意外的交易序列交互时可能会失败。传统的 fuzzing 工具可以生成失败案例,但安全团队仍然需要手动调查日志、重现序列、评估影响并记录证据。 Consensiz-FZ 通过提供一个统一的工作空间来解决这个问题,该工作空间用于: - 从源文件或已验证的合约地址摄取 Solidity 合约 - 运行持续 fuzz 测试活动 - 捕获完整的“输入到失败”链 - 存储可重现的回归案例 - 映射跨合约依赖关系和交互风险 - 监控可疑资金流 - 生成审计报告和密码学可验证凭证 ## 功能概述 ### 合约摄取与分析 上传 Solidity 源文件或使用链上地址导入已验证的合约。平台在一个工作空间中展示源代码、合约元数据、分析状态、安全评分、检测到的漏洞和补丁建议视图。 ### 持续 Fuzzing 引擎 针对选定的合约配置并运行 fuzzing 活动。该引擎旨在探索意外的输入和执行路径,同时展示失败情况、覆盖率信号、执行活动和实时审计日志。 ### 失败案例库 每个检测到的失败都会作为可重用的回归案例保存。 失败记录包括: - 失败案例标识符 - 严重性分类 - 被破坏的 invariant 或意外行为 - 输入 payload 和调用上下文 - 时间戳 - 重测控件 - 用于技术调查的上下文审查 这使得安全发现是可重现的,而不是一次性的。 ### 跨合约验证 Consensiz-FZ 对合约间的依赖关系和交互路径进行建模,以识别难以通过孤立测试检测到的风险。 跨合约工作空间包括: - 依赖关系和交互映射 - 内部调用和外部 delegate 关系 - 交互矩阵 - 冲突检测工作流 - AI 辅助安全洞察面板 - 用于多合约验证的全局分析触发器 ### 资金流追踪器 资金流追踪器将价值在合约、池、金库和钱包之间的流动可视化。 它旨在帮助用户发现: - 异常的合约到钱包转账 - 可疑的交易路径 - 高风险或未经验证的目标地址 - 与预期资金路由行为的偏差 - 交易级别的严重性信号 ### 告警与风险时间线 告警模块随时间跟踪漏洞信号,并提供安全状况的时间视图。 它包括: - 严重、高和中风险告警流 - 漏洞密度可视化 - 风险类别分布 - 系统健康指标 - 报告导出和过滤控件 ### 审计报告与凭证验证 审计报告按严重性整合发现,并提供已完成安全分析的结构化视图。 报告工作流支持: - 严重性细分 - 详细审计视图 - JSON 导出 - 报告共享 - PDF 下载工作流 - 凭证验证界面 - 用于完整性检查的 Root-hash 可见性 ### AI 引擎设置 Consensiz-FZ 通过以下方式支持可配置的 AI 辅助分析: - 基于本地 Ollama 的语言模型 - 云端 AI 提供商配置 - 模型选择 - 连接测试 - 用于合约导入的 Explorer API key 配置 这允许该平台支持注重隐私的本地工作流,同时保持对基于云的模型的可扩展性。 ## 核心工作流 ``` 1. Upload Solidity code or import a verified contract address 2. Analyze contract structure, metadata, and potential risk areas 3. Configure and start a fuzz-testing campaign 4. Capture crashes, invariant failures, and unexpected behavior 5. Store the input-to-failure chain in the Failure Case Vault 6. Inspect cross-contract relationships and dependency conflicts 7. Trace suspicious fund movement through the Fund Flow Tracker 8. Review alerts, timeline signals, and audit findings 9. Generate a report and attach verification evidence ``` ## 平台模块 | 模块 | 用途 | |---|---| | Dashboard | 已扫描合约、漏洞、告警、追踪资金、活动和严重发现的高级视图 | | Contracts | Solidity 上传、合约地址导入、元数据检查、漏洞审查和补丁建议 | | Fuzz Testing | 持续 fuzzing 控制、执行指标、实时日志和失败发现 | | Failure Vault | 用于可重现崩溃、invariant 违规和回归案例的持久化存储 | | Cross-Contract | 依赖映射、交互矩阵、冲突检测和全局多合约分析 | | Fund Tracker | 实体级别的资金流可视化、交易追踪和异常检测 | | Alerts | 实时异常反馈、漏洞演变、风险分布和系统健康监控 | | Reports | 审计结果摘要、导出、报告共享和凭证验证工作流 | | Settings | AI 提供商配置、本地模型支持、云提供商选项和 Explorer API 设置 | ## 架构 ``` %%{init: { "theme": "base", "look": "handDrawn", "fontFamily": "\"Segoe Print\", \"Comic Sans MS\", \"Bradley Hand\", \"Chalkboard SE\", cursive", "flowchart": { "curve": "basis", "nodeSpacing": 42, "rankSpacing": 50, "padding": 20, "htmlLabels": true }, "themeVariables": { "background": "#ffffff", "mainBkg": "#ffffff", "secondBkg": "#f8fafc", "tertiaryColor": "#fefce8", "primaryColor": "#eff6ff", "primaryTextColor": "#0f172a", "primaryBorderColor": "#94a3b8", "lineColor": "#94a3b8", "secondaryColor": "#ffffff", "clusterBkg": "#ffffff", "clusterBorder": "#e2e8f0", "edgeLabelBackground": "#ffffff", "fontSize": "16px" }, "themeCSS": " .mermaid svg { background: #ffffff !important; border: 1px solid #e5e7eb; border-radius: 20px; padding: 24px; box-sizing: border-box; } .node rect, .node polygon, .node path, .node circle { filter: drop-shadow(0 1px 1px rgba(15,23,42,0.05)); } .label, .nodeLabel, .edgeLabel, foreignObject div { font-family: 'Segoe Print', 'Comic Sans MS', 'Bradley Hand', 'Chalkboard SE', cursive !important; color: #0f172a !important; font-weight: 600; } .edgeLabel { background: #ffffff !important; border-radius: 8px; padding: 2px 6px; } " }}%% flowchart TB UI("Web Dashboard
Contracts, Fuzzing, Vault, Fund Flow,
Alerts, Reports, Settings") ORCH("Analysis Orchestrator
AI-assisted security workflow") INGEST("Contract Ingestion and Analysis
Source upload, address import,
metadata and risk review") FUZZ("Continuous Fuzzing Engine
Input generation, execution logs,
invariant failures and crashes") VAULT("Failure Case Vault
Reproducible findings, input-to-failure
chains and regression cases") CROSS("Cross-Contract Verification
Dependency mapping, interaction matrix
and conflict detection") FLOW("Fund Flow Monitoring
Transaction tracing, entity flow mapping
and anomaly detection") ALERTS("Alerts and Risk Timeline
Severity signals, temporal evolution
and system health") REPORTS("Reports and Evidence
Audit summaries, exports, root hashes,
proof verification and on-chain records") AI("AI Engine Layer
Ollama or cloud models
analysis and patch suggestions") CHAIN("Blockchain and Evidence Layer
Sepolia-compatible audit logging
and verification workflow") UI --> ORCH ORCH --> INGEST ORCH --> FUZZ ORCH --> AI INGEST --> FUZZ FUZZ --> VAULT VAULT --> CROSS VAULT --> FLOW VAULT --> ALERTS VAULT --> REPORTS CROSS --> REPORTS FLOW --> ALERTS ALERTS --> REPORTS AI --> VAULT AI --> REPORTS REPORTS --> CHAIN classDef interface fill:#eff6ff,stroke:#60a5fa,color:#0f172a,stroke-width:1.5px,rx:18,ry:18; classDef engine fill:#ffffff,stroke:#94a3b8,color:#0f172a,stroke-width:1.5px,rx:18,ry:18; classDef security fill:#fff7ed,stroke:#fbbf24,color:#0f172a,stroke-width:1.5px,rx:18,ry:18; classDef evidence fill:#ecfdf5,stroke:#34d399,color:#0f172a,stroke-width:1.5px,rx:18,ry:18; class UI interface; class ORCH,INGEST,FUZZ,AI engine; class VAULT,CROSS,FLOW,ALERTS security; class REPORTS,CHAIN evidence; ``` ## 核心差异化优势 ### 超越孤立的 Fuzzing Consensiz-FZ 的设计理念是:真正的协议故障通常源于交互,而不是单个功能。该平台将 fuzzing、依赖关系映射和资金流上下文引入到同一个调查工作流中。 ### 作为可重用安全资产的失败案例 检测到的失败将被保留为结构化的回归案例,而不是消失在控制台日志中。这提高了可重现性、调试、未来测试和审计的可追溯性。 ### 每个发现的安全上下文 一个发现不仅仅是一个严重性标签。Consensiz-FZ 将其与受影响的合约、交互路径、输入上下文、风险时间线和潜在的资金流动联系起来。 ### AI 辅助、可人工审查的工作流 AI 功能被定位为一个分析层,可以帮助识别风险区域、总结发现并支持调查,同时为审计人员和开发人员保留清晰的审查工作流。 ### 面向验证的报告 该平台包含凭证验证工作流和 Root-hash 可见性,以支持防篡改报告和链上审计记录概念。 ## 技术领域 Consensiz-FZ 汇集了以下领域: - 智能合约安全 - Solidity 合约摄取与分析 - Fuzz 测试和 invariant 驱动测试 - 跨合约依赖分析 - AI 辅助漏洞分析 - 通过 Ollama 提供本地 LLM 支持 - 区块链审计跟踪 - 面向 ZK-proof 的凭证工作流 - 兼容 Sepolia 的链上日志概念 - 资金流可视化 - 安全仪表板和报告 ## 截图 将截图添加到存储库文件夹中,例如 `docs/screenshots/`,然后保留或更新下面的路径。 | Dashboard | 合约摄取与分析 | |---|---| | ![仪表板概览](https://static.pigsec.cn/wp-content/uploads/repos/cas/f1/f143f42d935929992a5e36aca16824c8c8825c056a8ef368e68fd1d12428a90a.jpg) | ![合约摄取与分析](https://static.pigsec.cn/wp-content/uploads/repos/cas/5d/5d770bf23d2bef66312c38aaf8fc072af49308a6fb1c0f58a017810c6be63338.jpg) | | 持续 Fuzzing 引擎 | 失败案例库 | |---|---| | ![持续 fuzzing 引擎](https://static.pigsec.cn/wp-content/uploads/repos/cas/ef/ef72a127f64c17332f70fc1d38c4881412e1db64578f845743adca9cd3d1b41d.jpg) | ![失败案例库](https://static.pigsec.cn/wp-content/uploads/repos/cas/fb/fb15f22e6ae9fe3d395346262f85921243af20b48eac4a0ed29c8d68b6bff06c.jpg) | | 跨合约验证 | 资金流追踪器 | |---|---| | ![跨合约验证](https://static.pigsec.cn/wp-content/uploads/repos/cas/c6/c60ee539af2ed21dd1d35036f22df17e8eb844302c25cc756feea12599d0471d.jpg) | ![资金流追踪器](https://static.pigsec.cn/wp-content/uploads/repos/cas/b5/b5fe1e0f960f6f88666bfee606f5e198f2c77258505551dbfd7fa6a8155274f0.jpg) | | 异常告警与时间线 | 审计报告与凭证验证 | |---|---| | ![异常告警与时间线](https://static.pigsec.cn/wp-content/uploads/repos/cas/65/6512461c42678dc828d3a0534c3cfeddbb0dffdd10de71b788e315adb2d4596b.jpg) | ![审计报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/9b/9b75b7d8a9e449506166e8b207cd100b43d0492a0abb8d6a885d4b07c9acf077.jpg) | | AI 引擎设置 | |---|| | ![AI 引擎设置](https://static.pigsec.cn/wp-content/uploads/repos/cas/81/812c1e1bf377d1904c740570fbca0d6cc5141f56a8d05937492ecd8791df651a.jpg) | ## 快速开始 ### 前置条件 - Node.js 18 或更高版本 - npm、pnpm 或 yarn - Git - Ollama(如果使用本地 AI 模型) - Ethereum RPC endpoint 和 explorer API key(如果导入已验证的链上合约) - 可选的区块链钱包和测试网配置,用于凭证或审计日志锚定 ### 安装 ``` git clone https://github.com//consensiz-fz.git cd consensiz-fz npm install ``` ### 环境配置 在项目根目录中创建一个 `.env` 文件。 ``` VITE_OLLAMA_URL=http://localhost:11434 VITE_OLLAMA_MODEL=llama3:8b-instruct VITE_ETHERSCAN_API_KEY=your_etherscan_api_key VITE_RPC_URL=your_rpc_url VITE_SEPOLIA_RPC_URL=your_sepolia_rpc_url VITE_AUDIT_REGISTRY_ADDRESS=your_deployed_contract_address ``` 请勿提交 `.env` 文件或泄露私钥、提供商 token 或 API 密钥。 ### 本地运行 ``` npm run dev ``` 应用程序应该可以通过以下地址访问: ``` http://localhost:5173 ``` ### 本地 AI 设置 如果您使用 Ollama 进行本地 AI 辅助分析: ``` ollama serve ollama pull llama3:8b-instruct ``` 然后通过 **Settings** 页面配置 Ollama 服务器 URL 和选定的模型。 ## 推荐演示流程 简明演示流程: 1. 打开 **Dashboard** 以了解当前的安全状况。 2. 导航到 **Contracts** 并导入或上传 Solidity 合约。 3. 从 **Fuzz Testing** 开始运行。 4. 在 **Failure Vault** 中打开发现的测试结果。 5. 展示如何保留输入和被破坏的 invariant 以进行重测。 6. 转到 **Cross-Contract Verification** 解释交互级别的风险。 7. 打开 **Fund Flow Tracker** 展示异常流动。 8. 审查 **Alerts** 时间线和严重性分布。 9. 最后以 **Reports** 和凭证验证工作流结束。 ## 路线图 - 为上传的合约提供引导式的 invariant 生成 - 通过验证循环改进自动化补丁建议 - 更深入的基于 fork 的测试网和主网状态模拟 - 扩展的跨合约攻击序列生成 - 更丰富的时间风险建模 - 根据失败库记录自动生成回归测试套件 - 增强的凭证生成和验证工作流 - 带有不可篡改凭证参考的公开审计报告共享 - 更多的链和 Explorer 集成 ## 团队 **团队名称:** VASHIng machine **团队编号:** CB-110 - Sri Varshini B - Vamshi Ganesh B ## 黑客松 为 **Epoch '26 Hackathon** 构建 赛道:**网络安全与区块链** ## 免责声明 Consensiz-FZ 是一个黑客松项目,不应被视为专业智能合约审计、形式化验证、独立安全审查或生产事件监控的替代品。请将其用作安全辅助和调查平台,并在将更改部署到生产系统之前验证所有发现。
标签:AI风险缓解, IPFS, MITM代理, Web3, 区块链安全, 智能合约审计, 自动化攻击, 零知识证明