Crytic:智能合约的持续保障 - Trail of Bits博客
注意:本博客文章转载自Truffle Suite博客。
我们很荣幸宣布推出全新的智能合约安全产品:https://crytic.io/。Crytic为智能合约提供持续保障。该平台会在每次提交时报告构建状态,并运行一系列安全分析以提供即时反馈。
测试版即将开放。关注我们的Twitter账号即可获得通知并尽快享受服务!前三个月免费。
Crytic如何保护您的智能合约
连接到您的GitHub仓库后,Crytic将持续:
- 运行我们的静态分析器Slither,检测最常见的智能合约漏洞,避免严重错误
- 运行您的Truffle测试,确保开发过程中不会引入功能性问题
Slither将分析您的代码库中60多种安全缺陷,包括重入攻击、整数溢出、竞争条件等。其中一半的缺陷检测器是私有版本,此前从未公开。它们能够检测公众认知有限且其他工具无法发现的缺陷。最近的GridLock漏洞如果使用Crytic就能提前检测到!
我们为开发者构建了这个平台,因此将其与GitHub集成。它会监控每次提交和分支,确保开发过程中不会引入错误。此外,Crytic会在每个PR上运行检查,方便代码审查。
对于发现的每个安全问题,Crytic将:
-
显示包含源代码高亮的详细错误报告
-
支持结果分类,让您决定需要修复的内容
快速入门
将Crytic添加到系统非常简单:只需连接到您的GitHub仓库。我们对Truffle提供一流支持,开箱即用!同时支持大多数其他智能合约平台,包括Embark、Dapp和Etherlime。添加仓库后,仪表板(图1)将显示项目摘要,如crytic-demo所示:
图1:Crytic仪表板
从此,您将享受持续安全分析带来的好处。
问题报告
发现问题只是第一步。Crytic将提供修复漏洞所需的详细信息:
图2:报告提供理解和修复问题所需的详细信息
细心的读者会注意到这里的漏洞:function constuctor(存在拼写错误!)创建了一个任何人都可调用的公共函数,而不是仅在初始化时运行。Crytic会立即检测到这类关键错误。
问题分类
发现错误后,用户可以选择:
- 或忽略该问题
Crytic会跟踪代码修改,仅报告新引入的错误。每个新PR都将自动分析:
图4:Crytic与GitHub Pull Requests完全集成
Crytic的未来规划
我们持续改进Crytic。预计未来将推出新的错误检测器和功能。我们计划添加:
- Echidna和Manticore集成:确保代码检查自定义安全属性
- 自动错误修复:Crytic将提议补丁来修复发现的问题
- Slither打印机集成:帮助可视化代码的底层细节
- Delegatecall代理检查器:防止在可升级过程中犯下关键且常见的错误
有问题?
请来TruffleCon向我们提问,在我们的展位或周五的自动化漏洞检测工具研讨会上与我们交流!
无论您是否能参加TruffleCon,都可以加入我们的slack频道(#crytic)获取支持,并关注@CryticCI以便在测试版开放时第一时间获知。
如果您喜欢这篇文章,请分享至: Twitter | LinkedIn | GitHub | Mastodon | Hacker News