卡拉卡尔是Starknet智能合约的SIERRA表示的静态分析工具。
特征
-
检测器检测脆弱的开罗代码
-
打印机报告信息
-
污点分析
-
数据流分析框架
-
易于在Scarb项目中运行
安装:
预编译二进制文件:
预编译的二进制文件可以在我们的发布页面上找到。如果您使用Cairo编译器,则1.x.x使用二进制v0.1.x,否则,如果您使用Cairo编译器,则2.x.x使用v0.2.x。
从源生成
你需要Rust编译器和Cargo。 从git构建:
一 | 探测器 | 它检测到什么 | 冲击 | 信心 | 开罗 |
---|---|---|---|---|---|
1 | controlled-library-call |
具有用户控制的类哈希的库调用 | 高 | 中等 | 1 & 2 |
2 | unchecked-l1-handler-from |
检测 L1 处理程序,无需从地址检查 | 高 | 中等 | 1 & 2 |
3 | felt252-unsafe-arithmetic |
使用felt252型检测用户控制的操作,该类型不是溢出/下溢安全的 | 中等 | 中等 | 1 & 2 |
4 | reentrancy |
检测存储变量何时在外部调用之前读取,何时写入外部调用后写入 | 中等 | 中等 | 1 & 2 |
5 | read-only-reentrancy |
检测视图函数何时读取外部调用后写入的存储变量 | 中等 | 中等 | 1 & 2 |
6 | unused-events |
已定义但未发出的事件 | 中等 | 中等 | 1 & 2 |
7 | unused-return |
未使用的返回值 | 中等 | 中等 | 1 & 2 |
8 | unenforced-view |
函数具有视图装饰器,但修改状态 | 中等 | 中等 | 1 |
9 | unused-arguments |
未使用的参数 | 低 | 中等 | 1 & 2 |
10 | reentrancy-benign |
检测存储变量何时在外部调用后写入,但之前未读取 | 低 | 中等 | 1 & 2 |
11 | reentrancy-events |
检测在外部调用导致无序事件后发出事件的时间 | 低 | 中等 | 1 & 2 |
12 | dead-code |
从未使用过的私人功能 | 低 | 中等 | 1 & 2 |
13 | array-use-after-pop-front |
删除元素后检测数组的使用情况 | 低 | 中等 | 1 & 2 |
下载地址:https://github.com/crytic/caracal
欢迎添加微信进行业务咨询:
承接以下业务:
原文始发于微信公众号(网络安全交流圈):卡拉卡尔-Starknet智能合约静态分析器
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论