MetaTrust Product Documentation
产品博客新闻
中文
中文
  • 产品介绍
    • MetaTrust 产品
    • MetaScan
      • Security Analyzer
      • Security Prover
      • Open Source Analyzer
      • Code Style
      • IP Analyzer
    • MetaScore
    • MetaScout
    • MPM
  • 快速开始
    • MetaScan 快速上手
      • 注册账号
      • 添加集成
      • 添加项目
      • 扫描漏洞
      • 查看扫描结果
      • 生成并下载扫描报告
  • 产品手册
    • 词汇表
Powered by GitBook
On this page
  1. 产品介绍
  2. MetaScan

Security Prover

简介

Prover是一个动态扫描引擎,能够运行代码并探索其所有执行过程的状态空间。在探索过程中,Prover根据执行特征(如property变化和执行路径)来检测是否存在漏洞。同时,通过一些充分的约束条件,Prover能够证明代码中不包含某些关键漏洞,如 reentrancy。因此,Prover引擎既具有漏洞检测功能,又能验证代码中是否存在某些关键漏洞。

为实现Prover产品,我们构建了基于语义层的符号执行引擎,支持自动生成代码状态空间,并允许用户用Solidity编写Prover脚本以挖掘状态空间。

Prover的漏洞检测功能包括:编译合约文件生成AST树;动态执行语句,记录执行过程;最后依据状态空间、执行路径和内置规则判断是否存在漏洞。

Prover的安全性证明在获取状态空间后,定义各类漏洞的安全证明条件,如重入漏洞,从而证明代码中不会发生相应漏洞。

Prover的property证明通过用户自定义MAIN函数,验证合约执行过程中合约的property不会违反规则。

相比静态引擎,Prover具有更高的可靠性和更低的误报率,因为其分析的代码状态空间是真实可执行的。

PreviousSecurity AnalyzerNextOpen Source Analyzer

Last updated 2 years ago