Mamori.xyz:基于机器学习的区块链价值提取系统

Mamori.xyz 是一个基于机器学习的自动化区块链价值提取系统,其开创一种通用路径查找器,该工具可用于检测和防御潜在的未知安全风险,Mamori.xyz 也将其称为“未知的未知”,即智能合约中的零日漏洞和新出现的与区块链相关的软件问题,以更低成本、更精准的降低智能合约安全隐患。同时,Mamori.xyz 的系统还有望在 MEV、意图解决等领域深入的拓展与应用。

据悉,该项目在 7 月初获得了一笔规模为 500 万美元的种子轮融资,本轮融资由 Blockchain Capital 领投,Velocity.Capital 和 Web3.com 等知名机构也参与了对该项目的投资。

合约安全审计存在局限性

在链上世界,智能合约是链上应用的重要自动执行组件,其本质上是一种具备执行交易逻辑能力的特殊账户地址,扮演资金池的角色。而一些存在潜在漏洞的合约地址,通常会因网络攻击而引发资金安全事件。

据悉,安全审计机构 Certik 在 2023 记录了 751 起链上安全事件(损失超过 18 亿美元),其47 起安全事件归因于私钥泄露,这些损失约占上述总损失的一半左右。而其余损失则是由于技术漏洞和经济风险的利用所导致。其中技术风险是指利用代码和基础设施中的漏洞,而经济风险则是操纵协议的经济设计,通常通过多重函数调用和智能合约状态操纵来利用这些风险。其中一些典型的事件包括 Euler Finance,因合约逻辑缺陷导致 2 亿美元损失,以及 BonqDAO,因预言机操纵受损 1.2 亿美元。这些令人震惊的安全事件,被认为是链上应用、加密货币大规模采用的基本障碍。

事实上,目前主流的检测智能合约漏洞的方式包括静态分析器和动态分析器(模糊测试)。

其中静态分析器通常是使用一系列的规则和模式匹配技术来检查代码,识别不符合最佳实践或存在已知漏洞的模式。这可能会产生大量的误报(错误的警告),因为静态分析无法完全理解代码的上下文,并且对于依赖于运行时状态的漏洞,如经济风险或逻辑错误,静态分析可能不够有效。

对于动态分析器,则是指在代码实际运行时对其进行监控和分析,以检测漏洞和异常行为。
例如,Trail of Bits 开发的 Echidna 使用基于属性的测试,并需要定义合约应始终保持的精确属性。但其只能检测到在测试期间执行的代码路径,可能遗漏未被执行的代码部分。同时其需要创建和维护测试环境,定义测试用例,这可能需要大量的时间和资源。

图为 Zhang 等人在 2023 年揭露智能合约中可利用的漏洞,来源:mamori.xyz 白皮书

所以整体而言,现有的审计工具和方法,通常是基于历史数据,无法满足快速创新和涉及数十亿美元的行业所需的预防性安全需求。

加密行业为什么需要 Mamori.xyz?

Mamori.xyz 是一个基于机器学习的自动化区块链价值提取系统,其采用了一种支持机器学习的路径查找器(ML-enabled Pathfinder)方案,是一种自动化的价值提取系统,旨在应对 Web3 安全领域中的可扩展性、自动化、漏洞检测的相关性和有效性等挑战,并应用跨学科技术,防范“未知的未知”漏洞。

在这里插入图片描述

事实上,现有的技术,包括 ML 模型和静态分析器,已经逐步覆盖了“已知的未知”区域,并试图消除反复出现的漏洞。然而,在 Mamori.xyz 前仍旧没有单一算法能够完美覆盖所有类型的经济漏洞。Mamori.xyz 正在利用多样化的技术,保护系统免受“未知的未知”漏洞的威胁,为智能合约领域的创新特性提供一个促进环境。

Mamori.xyz 目前利用算法解析技术建立智能合约序列,采用可重复的状态计算技术,并融入创新和可定制的算法反馈机制,以改善智能合约安全领域的空白、现有技术的局限性,推动智能合约审计的新标准。

凭借其创新的框架,改进了许多细节,包括:

一种高级的状态计算结构。
通过算法解析实现减少寻找有效函数的设置成本。
一种创新的跨学科反馈机制和序列初始化。
一种可定制的特性,作为 MEV 搜索器。

Mamori.xyz 的技术特点

算法解析方案:

Mamori.xyz 的算法解析技术旨在通过深入分析智能合约的执行路径和状态转换,发现潜在的技术和经济漏洞。Mamori.xyz 首先通过识别和设置智能合约中功能调用的顺序,构建可能的执行路径图。这些路径图用于优先处理实际操作中的漏洞检测。该过程能够确保合约的各个功能调用序列都能被准确解析和测试,从而发现潜在的风险。

可复现的状态计算:

可复现的状态计算技术是 Mamori.xyz 漏洞检测能力的核心之一。这项技术通过使用高效的状态性模糊测试方法,确保智能合约在各种状态下的行为都能被准确地测试和验证。Mamori.xyz 利用 Rust 实现的 EVM 环境(revm),提供了一个灵活的执行平台,该平台允许在不同状态下执行智能合约功能,同时保持计算的高效性和精确性。

为了实现可复现的状态计算,Mamori.xyz 采用了临时数据库技术,在内存中运行测试,只保留必要的键值对。这不仅减少了内存使用量,还显著提高了测试速度。此外,Mamori.xyz 的执行环境被优化为支持并行执行和异步 I/O,从而进一步增强了其测试效率。

图源:mamori.xyz 白皮书

创新的可定制反馈机制:

可定制反馈机制通过跨学科的技术融合,提供了一个高度灵活和可定制的反馈系统,以提高漏洞检测的准确性和效率。该方案的核心在于,它不仅关注技术漏洞,还特别关注经济风险,通过全面的多功能调用检测来识别潜在的威胁。

该反馈机制通过持续监控智能合约在不同状态下的表现,及时识别并反馈潜在的漏洞和风险。这种动态监控允许系统根据检测到的风险调整测试路径,优化搜索路径,减少假阴性搜索的发生。Mamori.xyz 还利用这种机制支持 MEV(矿工可提取价值)搜索器的功能,最大化其利用率,从而覆盖更多的潜在风险场景。

此外,这一机制的定制化功能允许用户根据特定需求调整算法参数和检测策略,从而提高系统的灵活性和适应性。通过这种方式,Mamori.xyz 不仅能够在合约上线前进行全面的漏洞检测,还可以在合约运行期间持续进行监控和更新,提供持续的安全保障。创新的可定制反馈机制使得 Mamori.xyz 在应对复杂和多变的智能合约环境中,能够更快速、准确地识别和修复漏洞,提升了整体安全性。

经济风险检测:

Mamori.xyz 的经济风险检测机制是其智能合约安全审计的一大特色,旨在识别和防范由于经济漏洞引发的潜在威胁。经济风险检测的核心在于多功能调用序列的综合检测算法,该算法不仅针对单一功能的技术漏洞,还关注由于多功能组合导致的复杂经济风险。

Mamori.xyz 利用其先进的算法解析技术,通过检测合约中的多功能调用序列,构建可能的执行路径图。这些路径图经过优化处理后,用于识别那些可能导致经济损失的复杂交互。特别是,Mamori.xyz 的状态性模糊测试方法,通过生成和变异测试用例,能够系统地测试合约在不同状态下的行为,从而发现隐藏的经济风险。

此外,Mamori.xyz 的创新可定制反馈机制,在检测过程中持续监控智能合约的状态变化,及时反馈潜在的经济风险。这种动态的监控和反馈系统允许实时调整测试策略,确保覆盖所有可能的风险场景。通过结合技术漏洞和经济风险的双重检测,Mamori.xyz 能够提供全面的智能合约安全审计,确保合约在复杂的经济环境中运行时的安全性和可靠性。

高效搜索算法:

Mamori.xyz 的高效搜索算法旨在提高检测速度和覆盖范围。该算法通过结合离散和连续优化技术,全面搜索智能合约的潜在漏洞。Mamori.xyz 的搜索算法包括两层优化结构:上层进行动作序列的离散优化,下层则针对每个动作的输入参数进行连续优化。

上层优化通过预筛选用户可调用函数,确定一个可能导致漏洞的功能子集,然后生成和评估这些功能的动作序列。通过这种方式,Mamori.xyz 能够有效减少需要检测的路径数量,从而加快搜索速度。在连续优化过程中,Mamori.xyz 采用粒子群优化(PSO)算法,通过模拟多个粒子在搜索空间中的移动,找到全局最优解。这种方法不仅提高了优化效率,还能够处理复杂的非凸优化问题。而在状态计算的加持下,Mamori.xyz 能够在短时间内全面检测智能合约的技术和经济风险,提供快速、准确的漏洞识别和修复方案,确保合约在复杂环境中的安全运行。

Mamori.xyz 系统的用例

零日经济漏洞检测

Mamori.xyz 针对智能合约中潜在的零日经济漏洞进行了深入的研究和优化。就像上文提到的那样,传统静态分析工具在检测经济风险方面存在局限性,因为它们往往侧重于技术风险的识别,而忽略了复杂函数调用序列中可能隐藏的经济漏洞。

Mamori.xyz 通过生成并执行一系列测试用例,模拟攻击者可能采取的行动序列,观察智能合约在不同状态下的行为变化。通过优化这些测试用例的输入参数、算法解析技术建立智能合约序列,以及利用可复现的状态计算技术,并结合创新的算法反馈机制,Mamori.xyz 有效地缩小了假阴性搜索范围,提高了对经济漏洞的检测能力,以发现隐藏在复杂交易序列中的经济漏洞,从而保护智能合约免受未知经济攻击的影响。

MEV 价值提取用例

Mamori.xyz 不仅聚焦于智能合约中的零日经济漏洞检测,还识别了传统 MEV 与经济风险之间的共性,将其视为一个同质优化问题,这也使得 Mamori.xyz 的算法能够扩展并服务于 MEV 搜索的角色,最大化其在实际应用中的效用。

Mamori.xyz 的核心优势在于其能够自动化地识别和利用智能合约中的套利机会,这些机会往往隐藏在复杂的交易序列和状态转换之中。Mamori.xyz 本身通过其先进的算法框架,能够模拟不同的市场条件和交易场景,精确计算智能合约中的潜在 MEV 机会。通过分析智能合约的状态依赖性和函数间的相互作用,生成一系列具有高潜在价值的测试用例。这些测试用例旨在探索智能合约在不同市场条件下的行为边界,揭示隐藏的套利机会,精确计算每个潜在交易序列的可提取价值。在连续的输入空间内搜索最大化 MEV 的参数组合,为市场参与者提供精确的 MEV 优化方案。

这对于矿工、交易者和其他市场参与者来说具有重要意义,因为他们可以利用这些 MEV 机会来最大化其交易收益。

跨合约审计与集成

Mamori.xyz 通过其创新的架构和算法设计,能够有效解决了跨合约审计的难题,提供了全面、深入的审计服务。

Mamori.xyz 的跨合约审计功能依赖于先进的静态分析技术,以深入解析智能合约之间的依赖关系,包括函数调用、状态变量共享等。通过构建跨合约依赖图,Mamori.xyz 能够清晰地展示不同合约之间的交互逻辑,为后续的审计测试提供基础。

基于 Mamori.xyz 的高度集成测试环境,系统能够模拟了真实的区块链网络条件,如区块高度、交易顺序和 Gas 消耗等,还支持多合约的并行执行和交互测试。通过在这个环境中部署并执行测试用例,Mamori.xyz 能够全面评估智能合约在跨合约场景下的行为表现和潜在漏洞。

Mamori.xyz 先进的优化算法来生成跨合约测试用例,能够综合考虑了合约间的依赖关系、函数调用序列以及输入参数的不同组合,以最大化漏洞暴露和经济价值的挖掘。同时,Mamori.xyz 还利用反馈机制不断优化测试用例,确保在有限的测试资源下获得最佳的审计效果。

在审计过程中,Mamori.xyz 不仅关注代码覆盖率和功能覆盖率等传统指标,还引入了状态覆盖率和输入空间覆盖率等多维度评估标准。这些指标共同构成了对智能合约跨合约交互行为的全面评估体系,帮助审计师和用户更准确地了解合约的安全状况。

值得一提的是,Mamori.xyz 的跨合约审计与集成功能还具有高度的灵活性和可扩展性。随着 DeFi 生态系统的不断发展和智能合约的持续演进,Mamori.xyz 能够快速适应新的合约类型和交互模式,确保跨合约审计功能的持续有效性和前沿性。

总结

Mamori.xyz 在解决 DeFi 领域面临的安全挑战方面现方面,正在展现出了非凡的潜力与优势。

Mamori.xyz 的 ML 体系,通过融合先进的静态分析技术、动态模拟测试环境、高级优化算法以及多维度评估体系,不仅有效覆盖了传统审计工具的盲点,更在跨合约审计与集成方面取得了突破性进展。

凭借其独特的架构设计和灵活的定制能力,正在构建智能合约的安全审计领域的全新范式。它不仅能够帮助开发者在合约部署前发现并修复潜在漏洞,还能在合约运行期间持续监控和评估其安全性能,为 DeFi 生态系统的稳定性和用户的资金安全提供了坚实的保障。

随着 DeFi 市场的不断扩张和智能合约应用的日益广泛,它不仅是智能合约安全、MEV 等诸多领域的一次重要创新,更是推动链上领域健康、可持续发展的关键力量,Mamori.xyz 的出现无疑将为整个行业注入了新的活力与信心。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode-383.赎金信

题源 383.赎金信 题目描述 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。示例 1&…

Qt Creator:C++与Python混合编程

目录 1.前言 2.调用Python前的准备 3.在Qt Creator中配置Python库 4.在Qt Creator中添加Python代码 5.在Qt Creator中运行Python代码 6.运行效果 前言 在进行软件开发过程中,我们一般都是在特定的环境下特定的开发语言下进行编程。但是在开发中总有特殊情况&#xf…

微调 Florence-2 - 微软的尖端视觉语言模型

Florence-2 是微软于 2024 年 6 月发布的一个基础视觉语言模型。该模型极具吸引力,因为它尺寸很小 (0.2B 及 0.7B) 且在各种计算机视觉和视觉语言任务上表现出色。 Florence 开箱即用支持多种类型的任务,包括: 看图说话、目标检测、OCR 等等。虽然覆盖面…

前缀和算法——部分OJ题详解

(文章的题目解释可能存在一些问题,欢迎各位小伙伴私信或评论指点(双手合十)) 关于前缀和算法 前缀和算法解决的是“快速得出一个连续区间的和”,以前求区间和的时间复杂度是O(N),使用前缀和可…

【精品资料】大数据可视化平台数据治理方案(626页WORD)

引言:大数据可视化平台的数据治理方案是一个综合性的策略,旨在确保大数据的质量、安全性、可访问性和合规性,从而支持高效的数据分析和可视化过程。 方案介绍: 大数据可视化平台的数据治理方案是一个综合性的策略,旨在…

微软的vscode和vs2022快捷键官网链接

vscode官方文档:https://code.visualstudio.com/docs/ vscode快捷键官方文档:https://code.visualstudio.com/docs/getstarted/keybindings vs2022官方文档:https://learn.microsoft.com/zh-cn/visualstudio/ide/?viewvs-2022 vscode快捷键官方文档:https://learn.microsoft.c…

Linux编程(通信协议---udp)

UDP(用户数据报协议)是一种无连接的网络协议,主要用于快速传输数据。以下是UDP协议的一些主要特点: 1. **无连接**:UDP是无连接的协议,这意味着在数据传输之前不需要建立连接。每个UDP数据包都是独立的&am…

Spark的动态资源分配算法

文章目录 前言基于任务需求进行资源请求的整体过程资源申请的生成过程详解资源申请的生成过程的简单例子资源调度算法的代码解析 申请资源以后的处理:Executor的启动或者结束对于新启动的Container的处理对于结束的Container的处理 基于资源分配结果进行任务调度Pen…

win10删除鼠标右键选项

鼠标右键菜单时,发现里面的选项特别多,找一下属性,半天找不到。删除一些不常用的选项,让右键菜单变得干净整洁。 1、按下键盘上的“winR”组合按键,调出“运行”对话框,输入“regedit”命令,点击…

linux后门教程

linux后门教程 alias 用法 系统默认别名:alias 设置别名:alias lsls -laih 删除别名:unalias ls **加参数:**alias ls‘ls -laih;pwd’ 注意 系统启动默认加载的配置文件 /etc/profile 切换用户就会执行/etc/profile /etc/bash…

Python 实验五 高级数据结构

一、实验目的 (1)掌握序列的基本操作 (2)掌握集合、字典的基本操作 二、实验环境 联网计算机一台/每人,内装Windows 7以上操作系统和安装Python 3.7集成开发环境IDLE。 三、实验内容 Sy5-1 列表实现。编写一个…

minIO集成springboot

问题 minIO与spring集成。 步骤 创建桶 创建key 找到创建账号页面,如下图: 点击创建,如下图: 设置如下权限: {"Version": "2012-10-17","Statement": [{"Effect": &q…

codeforces round 948 div2(a,b,c)

题目链接 A #include<bits/stdc.h>using namespace std;#define int long long #define PII pair<int,int>void solve() {int n,m;cin>>n>>m;if(n&1){if((m&1)&&m>1&&m<n)cout<<"YES"<<\n;else…

python的异常

异常 定义 异常是程序执行中发生的错误事件&#xff0c;它可以打断正常的指令流。Python提供了强大的异常处理机制&#xff0c;允许程序在发生错误时执行某些替代指令&#xff0c;而不是直接崩溃。 类型 TypeError&#xff1a;类型错误&#xff0c;比如尝试将字符串和整数相加。…

Jenkins安装nodeJs环境

首先插件市场安装nodeJS插件&#xff0c;我这里已经安装了&#xff0c;没安装的话在 Available plugins 中搜索安装 安装完成后需要下载需要的nodejs版本 新增完成就可以在构建的时候选择当前版本号了

JMeter接口测试之文件上传(参数提取与传递)

参考文档&#xff1a; Jmeter接口测试-文件上传&#xff08;全网最详细的教程&#xff09;_jmeter 文件上传-CSDN博客 1、首先通过fiddler抓取文件上传接口&#xff0c;在Raw的tab页中查看默认请求头以及请求参数 如图所示 2、在jmeter中导入抓取的接口&#xff0c;首先需要配…

新书速览|深入理解Hive:从基础到高阶:视频教学版

《深入理解Hive&#xff1a;从基础到高阶&#xff1a;视频教学版》 本书内容 《深入理解Hive:从基础到高阶:视频教学版》采用“理论实战”的形式编写&#xff0c;通过大量的实例&#xff0c;结合作者多年一线开发实战经验&#xff0c;全面地介绍Hive的使用方法。《深入理解Hiv…

AI算法18-最小角回归算法Least Angle Regression | LARS

​​​ 最小角回归算法简介 最小角回归&#xff08;Least Angle Regression, LAR&#xff09;是一种用于回归分析的统计方法&#xff0c;它在某些方面类似于最小二乘回归&#xff0c;但提供了一些额外的优点。最小角回归由Bradley Efron等人提出&#xff0c;主要用于处理具有…

【Linux】安装PHP扩展-redis

说明 本文档是在centos7.6的环境下&#xff0c;安装PHP7.4之后&#xff0c;安装对应的PHP扩展包redis。 一、下载redis扩展 pecl官方地址:PECL :: The PHP Extension Community Library 下载的版本是&#xff1a;redis-5.3.7.tgz 二、安装redis扩展 1.上传 redis 压缩包到…

【嵌入式DIY实例-ESP8266篇】-LCD ST7789显示DS1307 RTC时间数据

LCD ST7789显示DS1307 RTC时间数据 文章目录 LCD ST7789显示DS1307 RTC时间数据1、硬件准备与接线2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 板和 DS1307 RTC 集成电路构建简单的实时时钟和日历 (RTCC),其中时间和日期打印在 ST7789 TFT 显示模块上。 ST7789 TFT 模块包…