版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
区块链智能合约审计辅助技师考试试卷及答案一、填空题(共10题,每题1分)1.Solidity中用于定义合约的关键字是______2.ERC20标准中查询账户余额的函数是______3.审计工具Slither的开发语言是______4.重入攻击利用的是转账与余额更新的______问题5.Solidity______版本默认开启整数溢出检查6.ERC721是______代币标准7.审计报告核心部分包括______(举1例)8.限制函数仅所有者调用的修饰符是______9.MythX属于______类型的审计工具10.未检查外部调用返回值可能导致______漏洞二、单项选择题(共10题,每题2分)1.以下不是Solidity基本数据类型的是?A.uint256B.stringC.addressD.mapping2.重入攻击核心原理是?A.执行顺序B.函数可见性C.变量作用域D.循环条件3.属于动态分析工具的是?A.SlitherB.MythrilC.EchidnaD.Solhint4.ERC20中授权转账的函数是?A.transferB.approveC.transferFromD.balanceOf5.Solidity0.8.0前避免整数溢出的方法是?A.自动检查B.SafeMath库C.不用uintD.增加长度6.属于访问控制漏洞的是?A.重入B.整数溢出C.权限缺失D.拒绝服务7.Slither主要功能是?A.模糊测试B.静态分析C.动态测试D.代码生成8.call.value()返回值类型是?A.boolB.uint256C.addressD.string9.ERC777的特性是?A.支持转账回调B.仅同质化C.无授权函数D.不能销毁10.高风险漏洞修复优先级是?A.最高B.中等C.最低D.视情况三、多项选择题(共10题,每题2分)1.智能合约常见漏洞包括?A.重入攻击B.整数溢出C.权限缺失D.拒绝服务2.Solidity引用类型包括?A.arrayB.structC.mappingD.string3.审计步骤包括?A.需求分析B.代码审查C.工具测试D.报告编写4.静态分析工具包括?A.SlitherB.SolhintC.MythrilD.Echidna5.ERC20必要函数包括?A.balanceOfB.transferC.approveD.transferFrom6.重入攻击常见场景包括?A.转账前未更新余额B.调用外部合约未限制C.使用send函数D.合约有回调函数7.访问控制修饰符包括?A.onlyOwnerB.onlyWhitelistedC.externalD.public8.MythX支持的分析类型包括?A.静态分析B.动态分析C.模糊测试D.符号执行9.NFT标准包括?A.ERC721B.ERC1155C.ERC20D.ERC77710.审计报告内容包括?A.合约概述B.漏洞清单C.修复建议D.风险等级四、判断题(共10题,每题2分)1.Solidity中contract和interface都是合约定义关键字()2.ERC20可分割,ERC721不可分割()3.重入攻击仅发生在转账操作中()4.Solidity0.8.0后无需使用SafeMath()5.Slither可检测整数溢出()6.call.value()比transfer更安全()7.ERC1155支持同质化和非同质化()8.审计工具可发现所有漏洞()9.external函数只能被外部调用()10.Solidity0.8.0前整数下溢会崩溃()五、简答题(共4题,每题5分)1.简述Solidity0.8.0的主要安全改进2.什么是重入攻击?如何防范?3.简述智能合约审计主要工具及功能4.什么是权限缺失漏洞?如何识别?六、讨论题(共2题,每题5分)1.讨论静态分析与动态分析的优缺点及适用场景2.讨论ERC20合约审计重点关注的点一、填空题答案1.contract2.balanceOf3.Python4.顺序5.0.8.06.非同质化(NFT)7.漏洞清单(或风险等级、修复建议)8.onlyOwner9.静态+动态分析10.未处理的调用失败二、单项选择题答案1.D2.A3.C4.B5.B6.C7.B8.A9.A10.A三、多项选择题答案1.ABCD2.ABCD3.ABCD4.AB5.ABCD6.ABD7.AB8.ABCD9.AB10.ABCD四、判断题答案1.√2.√3.×4.√5.√6.√7.√8.×9.√10.×五、简答题答案1.Solidity0.8.0核心改进:①默认开启整数溢出/下溢检查,溢出抛出Panic异常(此前静默失败);②引入SafeCast库简化安全类型转换;③要求显式检查call.value()返回值;④优化合约继承规则,减少权限冲突;⑤明确函数修饰符行为。这些降低了基础漏洞发生率。2.重入攻击:攻击者利用“先转账后更新余额”的顺序,通过回调函数重复调用转账逻辑,导致余额未更新就重复转币。防范:①“检查-效果-交互”模式(先更新余额再转账);②加ReentrancyGuard锁定合约;③用call.value()并检查返回值(替代send/transfer);④限制外部调用范围。3.主要工具:①静态分析:Slither(检测重入、整数溢出)、Solhint(代码规范);②动态分析:Echidna(模糊测试)、Mythril(符号执行);③混合分析:MythX(集成多方法)。工具结合可提升审计效率。4.权限缺失漏洞:敏感函数(提币、改所有者)未限制访问,非授权用户可执行。识别:①检查是否缺少onlyOwner等修饰符;②分析敏感函数权限;③查看初始化是否正确设所有者;④用Slither检测未受保护函数。六、讨论题答案1.静态分析(Slither):优点是无需执行代码,快速检测已知漏洞,覆盖广;缺点是无法检测运行时逻辑错误。动态分析(Echidna):优点是执行代码发现边界错误;缺点是耗时久,覆盖有限。适用:静态用于初期排查基础漏洞,动态用于核心逻辑深度测试,需结合使用。2.ERC20审计重点:①转账逻辑:是否遵循
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 岁月不负母亲时光留住温柔
- 护理研究工作
- 气胸与水胸患者的引流护理差异
- 电气装置安装工程接地装置施工及验收规范
- 2026年智能手表皮肤油脂分泌监测技术与应用发展报告
- 2026年关于村两委班子运行情况的分析报告
- 影院设备故障伤人应急演练脚本
- 重大动物疫情应急预案
- 防护装置定期检测记录表
- 绿化工程考核办法
- 煤气作业人员资格证考试题库
- 商务信函讲解课件
- 9686教学培训课件
- 2026年中考复习必背初中英语单词词汇表(精校打印)
- 福州三年级期中数学试卷
- 集体备课培训课件
- 老年人骨关节疾病防治与护理
- 山东省工程建设标准《高品质住宅建设标准》DB37T 5319-2025
- 建筑机电安装知识点课件
- 电气防爆管线安装规范
- 2024年河北高中学业水平合格性考试地理试题(含答案)
评论
0/150
提交评论