gabriel-lemelle/layerzero-dvn-security-configurator

GitHub: gabriel-lemelle/layerzero-dvn-security-configurator

一款基于浏览器的 LayerZero V2 DVN 配置构建器,帮助开发者在配置写入前评估验证者集合的结构性风险并导出经过校验的测试网配置文件。

Stars: 1 | Forks: 0

# LayerZero V2 DVN 安全 Configurator ![测试](https://static.pigsec.cn/wp-content/uploads/repos/cas/09/097271ca091990be630ef6043309cc48240faa054413384202036fa2efedb2d2.svg) ![DVN Security Configurator — 构建一个 A+ 评级的 LayerZero V2 验证者堆栈](https://raw.githubusercontent.com/gabriel-lemelle/layerzero-dvn-security-configurator/main/public/readme-hero.png) 一个基于浏览器的配置器,专注于 LayerZero OApp 工作流中的一个特定时刻:在 DVN 堆栈被粘贴到配置之前。 它允许开发者组合必选和可选的 DVN,查看堆栈的结构性风险,并且只有在所选路径存在于官方 LayerZero 元数据中时,才导出完整的 `layerzero.config.ts`。 该项目有意设为只读:没有钱包连接,没有签名,没有合约部署,没有后端,也没有运行时 RPC 调用。 ## 链接 - 在线演示: - 源代码: - 案例研究: ## 为什么开发此工具 LayerZero V2 为 OApp 团队提供了配置 DVN 的真正灵活性。这种灵活性很有用,但这也意味着一个脆弱的验证者集合在代码审查时可能看起来就像普通的 TypeScript 代码。 [KelpDAO 事件](https://www.chainalysis.com/blog/kelpdao-bridge-exploit-april-2026/)让这种失败模式变得具体化:一个 1-of-1 的 DVN 设置使得单一验证者成为关键依赖。该工具并不声称能阻止每一次跨链桥故障。它只做了一件更具体的事:在配置写入之前,让验证者数量和验证者类别的多样性变得可见。 当前 UI 背后的设计说明记录在 `/about` 中。 ## 当前功能 - **DVN 堆栈构建器** - 将 DVN 分配到必选或可选的验证者集合中。 - **阈值建模** - 调整可选 DVN 阈值并查看实际有效的验证者数量。 - **安全评级** - 基于验证者数量和验证模型多样性提供 F / C / A / A+ 级别的确定性信号。 - **教学示例** - 预填一个多样化的测试网堆栈,用于学习和审查,而非部署建议。 - **就绪/探索模式** - 将用于直接复制粘贴的配置生成与用于查看不支持元数据空缺的教育性探索区分开来。 - **配置导出** - 当元数据支持通过验证后,使用 LayerZero 官方的 `generateConnectionsConfig(...)` 结构生成完整的 `layerzero.config.ts`。 - **可共享链接** - 将构建器状态编码到 URL 中,方便团队成员或审计人员审查。 - **安全约束** - 完全在浏览器中运行,不涉及钱包、RPC、签名、托管或部署行为。 ## 安全模型 评级是有意设计得简单且易于解释的: - **F** - 一个或更少的实际有效 DVN,造成单一验证者故障点。 - **C** - 两个或更多实际有效 DVN,但全部使用相同的验证类别。 - **A** - 两个或更多实际有效 DVN,且跨越至少两个验证类别。 - **A+** - 拥有三个或更多实际有效 DVN,且跨越至少三个验证类别的多样性加分。 这不是正式的审计、推荐引擎或生产保证。A+ 级别是针对多样性的加分项,并不代表部署建议,也不保证堆栈在生产环境中是安全的。 对于可选的 DVN,评级采取保守策略:X-of-Y 的可选集合将根据满足阈值条件的最弱子集进行评分,因此拖拽顺序无法提升评级。 ## 产品决策 - **不要以事件为主导** - 提供了 KelpDAO 的背景信息,但主界面聚焦于堆栈和评级。该工具不应看起来像个警报页面。 - **评估结构而非意图** - 该模型评估的是实际有效的 DVN 数量和验证类别的多样性。它不评估运营商质量、延迟、成本或生产就绪情况。 - **阻止不安全的导出** - 除非每个选定的 DVN 都映射到两条选定链上处于活跃状态的官方提供商,否则禁用复制粘贴输出。 - **将评级置于选择器旁** - 评级是针对开发者在修改堆栈时提供的反馈,因此它被放置在固定的侧边栏中。 - **将颜色作为数据** - 红色/琥珀色/翠绿色保留用于表示评级的严重程度。DVN 类别仅使用微小的蓝色/紫色/青色/洋红色圆点。 ## 数据状态 就绪配置导出受限于 2026 年 7 月 16 日检查的本地 LayerZero 官方元数据快照。当前的白名单涵盖 Ethereum Sepolia、Arbitrum Sepolia、Optimism Sepolia 和 Base Sepolia 上的活跃提供商。导出器会拦截同链路径,并在快照超过 45 天时报错关闭,从而防止过时的包继续伪装成就绪状态。 在进行配置部署之前,请务必检查解析后的配置,并在部署后重新运行 LayerZero 的配置检查。 ## 验证 当前公开构建已通过以下检查: - `npm test` - 23 项测试,涵盖评级器、URL 状态和导出器行为。 - `npm ci` - `npm run typecheck` - `npm run build` - 针对 `/` 和 `/about` 的线上冒烟测试。 ## 范围 v0 专注于拥有活跃 LayerZero DVN 元数据的 EVM 测试网: - Arbitrum Sepolia - Optimism Sepolia - Base Sepolia 主网覆盖、非 EVM 链、Gas 模型、延迟建模和实时部署验证在 v0 中被刻意排除在范围之外。 ## 技术栈 - Next.js 16 App Router - React 19 - TypeScript - Tailwind CSS v4 - Radix - shadcn/ui - dnd-kit - node:test ## 本地运行 ``` npm install npm run dev ``` ## 构建检查 ``` npm test npm run typecheck npm run build ``` ## 许可证 MIT
标签:LayerZero, SOC Prime, Web3, 区块链, 安全配置, 开发工具, 自动化攻击, 跨链桥, 配置生成