web3审计学习笔记2

Author Avatar
Xzhah 12月 16, 2023
  • 在其它设备中阅读本文章

web3代码审计学习笔记

1.空间分配

1.对于String,Vec\等类型,size_of返回的是固定值:24。但是在Anchor中要求String的长度应该是4+string_len,Vec\的长度应该是4+(space(String)*amount)。因为size_of返回的是内存布局,不涉及堆上的动态空间(比如字符串内容真正所在的地方)

2.zero copy

1.如果账户没开zero copy,那么账户的空间上限只有10kb,开了上限则有10mb。这个知识点通常涉及到考虑账户里有Vec<>成员变量时,引用相关index是否会带来溢出。

3.try_from

1.整数类型转换时,使用try_from可以避免整数溢出和整数截断的情况。

4.nft的verified

1.如果要更新verified,需要creators和authorities去手动触发

2.一般是candy machine一开始设置好