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)将显示项目摘要,如下所示:
图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