迷你应用易于上手,信任不易建立:最易被利用的三种迷你应用

  • shutter
  • 发布于 5小时前
  • 阅读 49

本文讨论了Farcaster迷你应用中存在的安全风险,重点关注了三种最容易被利用的应用类型:预测/投票应用、头对头应用和盲盒应用,并提出了使用“提交-揭示阈值加密”技术来解决这些问题。同时,文章也给出了用户如何初步判断迷你应用是否安全的建议。

迷你应用很简单,信任很难:3 个最容易被利用的迷你应用

博客文章与 Samuel Huber, dTech.vision 联合撰写。

在 Farcaster 上构建一个迷你应用曾经听起来像火箭科学。现在它就像打开 ChatGPT 一样简单,输入“为我创建一个预测市场”,然后看着你的想法变为现实。生成式 AI 将曾经需要一个小团队工程师完成的工作变成了一个周末项目。每天,新的迷你应用像雨后春笋般在 feed 上涌现 - 有些令人愉快,有些令人怀疑。

这既是美好之处,也是危险之处。

使应用易于发布的同样速度也使诈骗易于发布。任何人都可以启动一个“社区预测市场”、“神秘包”或“链上竞赛”,收取存款,然后在尘埃落定之前消失。随着 Farcaster 继续其突破时刻,有趣的实验和悄无声息的剥削之间的区别变得模糊。

我们已经看到了一些早期的警告信号。迷你应用承诺参与奖励,但悄悄地重新路由资金,或者“随机”结果的游戏 - 嗯,没那么随机。一些是 memes,另一些则是完全的 rug pull。其中一个,一个所谓的“社交 DeFi 实验”,原来是一个通过模糊的智能合约抽取用户存款的幌子。

那么,你如何区分好坏呢?

dTech.vision 合作,他们构建和审计的生产迷你应用比该领域的任何人都多,我们正在分解 Farcaster 迷你应用中最容易被利用的三个类别 - 以及在信任你的钱包之前应该注意的事项。

因为归根结底,一个精心设计的漏洞看起来与一个精心设计的产品完全一样。

唯一的区别是你能否验证底层发生的事情。

在我们开始之前:迷你应用可以(并且应该)原生做什么

迷你应用是在 Farcaster 客户端中运行的 Web 应用,带有一个 SDK 来访问原生功能(身份验证、钱包、通知、cast composer 等)。它们发布一个 manifest 并嵌入元数据,因此你的体验只需点击一下即可从 feed 中打开 - 无需 OAuth 流程,无需应用商店跳转。

值得关注(和要求)的有用原语:

  • 快速身份验证 / SIWF 以使用 Farcaster 密钥登录,而不是 OAuth 范围。数据已经是公开的,写入通过应用密钥进行。更少的仪式,更少的攻击面。
  • 通过 EIP‑1193 访问钱包 ( getEthereumProvider/@farcaster/miniapp-wagmi-connector ),然后进行类型化的 EVM 调用(我们喜欢 viem 进行枯燥、可靠的合约读取/写入)。
  • SDK 操作 比如 compaseCast, sendToken, swapToken, 和 addMiniApp,加上通知 - 这对于增长循环和重新参与至关重要。

最成功的迷你应用要么 优化一个 KPI(交易),要么充当一个 漏斗顶部,具有巧妙的共享 + 推荐经济学支持。使第一个操作只需点击一下,添加声音/视觉“哇”,并让用户直接从迷你应用炫耀。你甚至可以 与原始发布者分享费用,因为你知道是谁驱动了会话。这就是迷你应用如何复利的。

最容易被利用的 3 个迷你应用类别

1. 预测或多数投票迷你应用

你猜测结果或选择一方的迷你应用很有趣,因为它们移动迅速并且感觉很社交。但是,如果未采取适当的保护措施,这些也很容易被游戏。

几周前,迷你应用游戏 Ponder 背后的团队分享了一份用户调查。“勾结”显示为一个真正的问题。

对于那些不熟悉的人来说,Ponder 是 Farcaster 上的一个预测迷你应用,创作者发布问题,人们投票他们认为哪个答案最受欢迎,获胜者根据人群结果获得报酬。

在这种迷你应用中,勾结可以采取两种主要形式 - 一种显而易见,一种隐藏。

首先,显而易见的风险: 如果足够多的人或虚假帐户涌向一方,他们可以使结果向他们有利的方向倾斜。

其次,隐藏的风险: 你必须相信运行该应用的人 在揭晓之前不会偷看投票。 你还必须相信他们 不会将早期投票结果泄露 给朋友或他们自己,以便他们可以选择获胜的一方。

Ponder 只是此类别的一个示例。这 不是 声称 Ponder 正在做任何错误的事情。我们仅仅是使用它的机制作为一个例子。值得赞扬的是,他们向用户寻求反馈,并且正在努力减少勾结。然而,挑战在于,如果没有一种方法来验证结果是如何通过无需信任或至少轻信任的设计来保护的,你就无法完全知道是否正在发生利用。

2. 面对面迷你应用

另一个容易受到利用的主要迷你应用类别是 同步移动游戏。想想测验和快速挑战,其中两个或更多人同时行动以正确回答或做得更好。

这些游戏只有在每个人都同时使用相同的信息进行游戏时才是公平的。石头、剪刀、布是经典的例子。扑克和 trivia 也适用。

如果一个玩家可以在另一个玩家之前看到一个动作或一张牌,或者可以看到答案,那么游戏立即变得片面。同样的想法适用于运行这些游戏的 Farcaster 迷你应用。

迷你应用 Duel 是该格式的一个很好的参考点。Farcaster 上的人们在基于挑战的游戏中竞争金钱。人们可以玩的两个游戏是“Puzzleword”和“GeoSpot”。

0:00

/0:13

这是核心问题。你必须相信运行该应用的人 在回合结束之前不会偷看玩家的答案,并利用该信息来获胜。你还必须 相信没有人可以提前访问这些答案

Duel 只是这个迷你应用类别中的一个例子 - 并且它不是声称 Duel 正在利用用户。但是你应该非常小心那些具有一些同步移动组件的迷你应用游戏。特别是当涉及代币奖励和支付时,如果没有办法验证。因为利用总是有可能的。

3. 神秘包迷你应用

下一个有风险的迷你应用类别是神秘包。这些应用出售 NFT 或代币包,但在购买时你不知道里面是什么。你购买一个包,等待揭晓,然后看看你抽到了什么。想想链上的交易卡。大多数物品都是常见的。少数价值较高,因为序列号较低、特殊皮肤、独一无二的物品或较高的代币价值。这些特征可以是随机的、用户选择的或其他方法。

RipsVibe.market 是这种格式的流行示例。在此处提及它们是为了展示该类别,而不是对它们的运营方式做出声明。

主要的风险是特征狙击。这是当有人可以预测哪些购买会揭示更高价值的物品或揭示时间可以被游戏。当抽奖是可预测的时候,这成为可能。有时局外人可以做到。在其他情况下,内部人士会这样做。

使用这些应用,你信任两件事。首先,运行该应用的人 不会偷看结果 并为自己或朋友保留最好的包。其次,普通玩家 无法在揭晓之前预测或偷看最好的包。如果你无法判断这些风险是如何处理的,你就会相信运营商的话。

这些迷你应用共有的问题 - 以及如何解决它们

所有这三个类别的迷你应用都可能以相同的方式未能诚实。它们过早地暴露意图或结果。这让人们可以偷看、泄露或引导结果。有时是局外人在游戏流程。有时是具有额外可见性的内部人士。

解决这个问题很简单。这些迷你应用应该实施 commit-reveal 阈值加密。以下是这在实践中的含义:

  • 用户的选择在做出选择的那一刻就被锁定和隐藏。游戏的答案保持加密状态,并且对所有人来说都无法访问。当回合结束或满足明确的规则时,所有内容都会同时揭晓,并且结果是透明的。这使得它们透明,并提供了一种检查驱动诚实结果的方法。
  • 它也尊重去中心化。加密和解密信息的责任在多个参与者之间分配,这些参与者被称为 Keypers。不是依赖单个实体来获取解密密钥,而是必须有一定数量的 Keypers 协同工作才能解锁数据。

Shutter API 是一个即插即用的解决方案,可以集成到迷你应用中,以提供这种有价值的 commit-reveal 阈值加密。

如何验证迷你应用是否安全

这是一个有点挑战,因为你来这里是为了玩和赢,而不是审计代码。尽管如此,快速检查大有帮助。

  1. 搜索迷你应用的创建者。如果没有信息,那可能是一个警告信号。
  2. 看看是否有一种方法可以验证之前的游戏结果。如果没有办法验证,那就有问题了。
  3. 寻找显示信誉良好的组织提供的保护和审计的徽章。注意:紫色 Farcaster Pro 徽章可以供任何人自由购买,而不是潜在声誉的标志!

如果你仍然对可能存在风险的迷你应用有疑问。在 Farcaster 上给我们发消息:dTech.vision ( @samuellhuber.eth) 和 Shutter ( @shutter)。我们将进行查看!

为什么这一切都非常适合迷你应用

迷你应用减少了摩擦:即时身份验证,上下文中的钱包,零安装。这就是为什么 dTech 的客户要么将它们用作 漏斗顶部(捕获、通知、DM、保留),要么用作 最快的交易途径(最少的点击次数,分享哇)。这也是坏人喜欢它们的原因。密码学(commit-reveal + 阈值)在不要求用户成为审计员的情况下,可以公平竞争。

在底层,Farcaster SDK 为你提供原语(身份验证、钱包、操作、通知),manifest + 嵌入 使你的应用在 feed 中可被发现,并且 Farcaster 的开放性质意味着你不需要 OAuth 权限流程来读取公共数据。使用应用密钥以加密方式限定写入范围,你就拥有了一个紧凑、可验证的堆栈。

加强你的迷你应用以防止被利用

如果你的迷你应用属于我们上面提到的三个类别之一,请在 Farcaster 上给我们发消息。我们可以审查你的漏洞,并评估你的迷你应用是否可以从 commit-reveal 阈值加密中受益。

  • 原文链接: blog.shutter.network/min...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
shutter
shutter
江湖只有他的大名,没有他的介绍。