name: 变体分析 description: 在代码库的其他部分查找已知错误的“变体”。
变体分析
这个技能帮助您通过在其他地方定位类似的漏洞来倍增单个发现的價值。
1. 转换点
一旦您发现一个错误(例如,“在函数A中缺少使用 checked_add”):
- 抽象模式:“对用户输入的算术操作没有检查”。
- 搜索:使用
grep查找相同模式的其他出现。
2. 常见的 MultiversX 变体
- 缺少支付检查:
- 发现:一个端点接受支付但不检查
call_value()。 - 变体搜索:检查所有
#[payable]端点。
- 发现:一个端点接受支付但不检查
- 无界迭代:
- 发现:在
compute_reward中迭代VecMapper。 - 变体搜索:对所有映射器使用
grep -r "iter()"。
- 发现:在
- 异步回调回滚:
- 发现:回调
X在失败时不回滚状态。 - 变体搜索:检查所有
#[callback]函数。
- 发现:回调
3. 自动化
- 使用
mvx_static_analysis(Semgrep) 为变体创建一个临时规则。