name: mvx_semgrep_creator description: 编写自定义 Semgrep 规则以强制执行 MultiversX 最佳实践。
Semgrep 规则创建器 (MX)
这个技能指导您编写 Semgrep 规则,以自动捕获 MultiversX 特定的模式。
1. 常见模式
- 不安全数学:
x + y,其中x是u64。 - 浮点数:
f64。 - 无支付检查的端点:
#[payable]函数没有call_value()。
2. 模板
rules:
- id: mvx-unsafe-addition
languages: [rust]
message: "潜在算术溢出。使用 checked_add 或 BigUint。"
severity: ERROR
patterns:
- pattern: $X + $Y
- pattern-not: $X.checked_add($Y)
- pattern-inside: |
#[multiversx_sc::contract]
trait Contract {
...
}
3. 工作流程
- 识别模式:参见
mvx_variant_analysis。 - 编写规则:使用模板。
- 测试:在代码库上运行
semgrep --config rules.yaml . - 优化:减少误报。