文章
视频
讲堂
百科图谱
线下集训
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
讲堂
线下集训
专栏
活动
工作
文档
集市
搜索
登录/注册
ackeeblockchain
文章
专栏
问答
视频
课程
集市作品
活动
招聘
TA的视频
TA的合集
最佳Solana安全实践
本视频是关于Solana程序(智能合约)安全性的课程,主要内容包括最佳安全实践、常见攻击向量以及安全测试方法。以下是视频的核心内容和关键论据总结: 1. **核心内容概括**: - 本周课程专注于Solana程序的安全性,强调开发者在编写智能合约时应遵循的最佳安全实践。 - 课程内容包括代码质量、测试、模糊测试(fuzzing)和审计等安全支柱,旨在帮助开发者提高智能合约的安全性。 2. **关键论据和信息**: - **代码质量**:开发者需了解常见的安全漏洞(如OWASP 10),并在设计阶段就考虑安全性,采用多层防御策略。 - **测试的重要性**:不仅要测试程序的正确性,还要模拟攻击者的思维,进行全面的安全测试,包括集成测试和模糊测试。 - **模糊测试**:通过输入大量随机数据来发现潜在漏洞,强调其在发现安全问题中的有效性。 - **审计**:建议在完成代码质量和测试后进行审计,以获得独立的安全评估,审计过程应包括对系统整体架构的理解和外部依赖的检查。 - **安全意识**:开发者和团队成员需保持安全意识,定期学习和更新安全知识,以应对不断变化的安全威胁。 总之,视频强调了在Solana智能合约开发中,安全性是一个多层次的过程,开发者需要从代码质量、测试到审计等各个方面进行全面考虑,以确保程序的安全性。
33
0
0
5天前
Solana程序中的常见漏洞向量
在本次Solana审计员训练营的第六课中,讲师Andrej讨论了在Solana区块链上使用Anchor框架时常见的安全漏洞和攻击向量。课程的主要目标是创建一个公共数据库,记录这些攻击向量的示例,以帮助开发者识别和避免潜在的安全问题。 ### 核心内容 1. **常见攻击向量**:课程首先介绍了几种常见的攻击向量,包括签名授权、任意跨程序调用(CPI)、重复可变账户、所有权检查、程序派生地址(PDA)权限等。 2. **高级攻击向量**:随后,讲师提到了一些更复杂的攻击向量,如钓鱼攻击、私钥泄露、三明治攻击、抢跑攻击、闪电贷攻击等。 ### 关键论据和信息 - **签名授权**:确保签名者被授权调用指令,初学者常常忽视这一点,可能导致未授权访问。 - **任意CPI**:在进行跨程序调用时,必须验证目标程序的ID,以防止黑客利用恶意程序。 - **重复可变账户**:确保输入的两个账户地址不同,以避免意外行为。 - **所有权检查**:确保账户的所有者是预期的程序,以防止恶意账户的利用。 - **PDA权限**:确保PDA的权限不被滥用,特别是在涉及资金转移的情况下。 - **钓鱼攻击**:用户应警惕假冒网站和信息,以保护自己的资产。 - **私钥泄露**:开发者需注意在公共代码库中不泄露私钥。 - **三明治攻击和抢跑攻击**:这些攻击利用交易的顺序,可能导致资产损失。 - **整数溢出和精度损失**:开发者需谨慎处理整数运算,以避免潜在的安全漏洞。 课程强调了开发者在编写智能合约时应采取的安全措施,并鼓励参与者贡献新的攻击向量和示例,以丰富公共数据库的内容。
33
0
0
5天前
Solana安全最佳实践
在本视频的第五课中,讲师Andrej探讨了在编写Solana智能合约和Web3应用程序时的安全最佳实践,强调了几个关键的安全支柱。 ### 核心内容概括 视频主要介绍了智能合约开发中的安全原则,包括代码质量、测试、先进的测试方法(如模糊测试)以及审计的重要性。讲师强调,安全性不仅依赖于代码的正确性,还需要开发者具备安全意识,主动预防潜在的安全问题。 ### 关键论据和信息 1. **代码质量**:开发者应了解常见的安全漏洞(如OWASP 10),并在设计阶段就考虑安全性,采用多层防御策略,确保代码结构清晰,便于审计和维护。 2. **测试的重要性**:测试不仅是为了验证功能的正确性,还应模拟攻击者的思维,寻找潜在的漏洞。模糊测试被认为比集成测试更有效,因为它可以覆盖更广泛的输入空间。 3. **审计的必要性**:即使开发者自信于自己的代码,审计仍然是必要的,因为外部审计人员可以提供不同的视角,发现开发者可能忽视的安全问题。 4. **安全透明性**:鼓励开放审计、代码审查和漏洞奖励计划,以提高整体安全性。 5. **社会工程学测试**:教育团队成员识别和防范社会工程攻击,确保人力资源也是安全链中的一部分。 6. **持续学习**:开发者和审计人员都应不断学习最新的安全问题和攻击向量,以保持对安全威胁的敏感性。 总之,视频强调了安全性是一个系统性的问题,涉及代码、测试、审计和团队的整体安全意识。开发者应主动学习和实施最佳实践,以确保智能合约的安全性。
39
0
0
5天前
Solana Anchor程序的模糊测试与Trident II
在本次Solana审计员训练营的第四课中,讲师Andrej深入探讨了Trident工具的模糊测试(fuzzing)功能,特别是其附加特性。以下是本课的核心内容和关键论据总结: 1. **核心内容概括**: 本课主要介绍了Trident在模糊测试中的一些高级功能,包括不变性检查(invariant checks)、指令序列(instruction sequences)、自定义错误处理(custom error handler)、结构化数据(well-structured data)、客户端方法(client methods)以及Trident清单(trident manifest)。这些功能旨在提升模糊测试的效率和准确性。 2. **关键论据和信息**: - **不变性检查**:允许开发者在指令调用前后比较账户状态,以确保程序行为符合预期,特别是在代币转账等操作中。 - **指令序列**:开发者可以定义指令的执行顺序,确保初始化等必要步骤在其他指令之前执行,从而避免随机顺序带来的问题。 - **自定义错误处理**:可以为每个指令指定错误处理逻辑,以便在指令返回错误时进行特定的检查和处理。 - **结构化数据**:允许开发者为指令输入数据设定规则,确保生成的数据符合特定条件,例如时间戳的顺序。 - **客户端方法**:提供了一些方法来定制模糊测试环境,例如在测试开始前添加自定义账户。 - **Trident清单**:通过trident.toml文件,开发者可以配置模糊测试的参数,如迭代次数、运行时间和统计信息等。 此外,Andrej还提到了一些正在开发的新功能,包括轻客户端(light client)以提高模糊测试性能、减少手动工作、增加统计信息等。这些功能的实现将进一步增强Trident的用户体验和测试能力。 最后,讲师通过代码示例展示了如何在实际项目中应用这些功能,强调了模糊测试在发现程序错误和提升代码安全性方面的重要性。
37
0
0
5天前
Solana Anchor程序的模糊测试与Trident I
本视频是Solana审计员训练营的第三课,主要介绍了模糊测试(fuzzing)及其工具Trident。以下是视频的总结: 1. **核心内容概括**: 视频首先解释了模糊测试的概念及其重要性,接着介绍了Trident的功能和架构,最后通过实际示例演示了如何使用Trident进行模糊测试。 2. **关键论据和信息**: - **模糊测试的定义**:模糊测试是一种自动化技术,通过生成随机的有效、无效或意外输入数据来测试程序,以发现潜在的未知漏洞和错误。 - **模糊测试的重要性**: - 提高测试和安全性的信心。 - 覆盖意外的边界情况和错误。 - 低维护成本,一旦设置好可以长时间运行。 - 易于扩展,添加新指令时只需调整输入。 - **Trident的特点**: - 作为引导模糊测试工具,支持自定义生成的数据。 - 能够处理每秒数十到数百条指令,未来目标是提高到数千条。 - 支持跨程序调用(CPI),可以与主网程序进行模糊测试。 - **实际示例**:视频中展示了如何初始化Trident,编写模糊测试,运行测试并分析输出,最终发现了一个由于输入超出范围而导致的程序崩溃。 通过本课,观众能够理解模糊测试的基本原理及其在提高Solana程序安全性方面的应用,同时掌握使用Trident进行模糊测试的基本流程。
32
0
0
5天前
Solana集成测试和单元测试
在本次Solano审计员训练营的第二课中,主要讨论了单元测试和集成测试的重要性及其在Solano程序中的应用。以下是视频的核心内容和关键论据总结: 1. **核心内容概括**: - 本课重点介绍了单元测试和集成测试的定义、区别及其在Solano程序中的应用。讲解了如何使用Rust和TypeScript进行测试,并探讨了Anchor清单的使用、时间前移的测试方法以及最佳测试实践。 2. **关键论据和信息**: - **单元测试与集成测试的区别**: - 单元测试旨在验证单个函数或小组件的正确性,而集成测试则测试多个组件之间的交互。 - 单元测试的执行时间较短,因为只需测试部分指令,而集成测试需要启动Solano环境,执行时间较长。 - **Rust和TypeScript的测试方法**: - Rust测试使用Solana程序测试库,允许开发者手动设置账户和系统变量,提供更高的控制力。 - TypeScript测试通常与Anchor框架结合使用,自动启动Solano测试验证器,但控制力相对较低。 - **Anchor清单的使用**: - Anchor清单(anchor.toml)允许开发者指定要克隆的程序和账户,从而在测试中重用它们。 - **时间前移的测试方法**: - Rust中可以使用`warpToSlot`和`setSysVar`等函数来前移时间,而TypeScript中可以通过减少截止时间或使用Bank Run框架来实现。 - **最佳测试实践**: - 建议开发者编写易于理解的测试结构,测试不幸路径(即无效输入),进行广泛的测试,使用断言检查状态变化,并在测试中添加注释以提高可读性。 通过本次课程,参与者可以更好地理解如何在Solano程序中有效地进行测试,提升程序的安全性和可靠性。
42
0
0
5天前
Solana 审计训练营第一讲 | Anchor 入门与高级
本视频是Solana审计员训练营的第一讲,由Ackee团队的成员Aki和Andrej主讲,介绍了课程内容和高级Anchor框架的相关知识。 ### 核心内容概括 视频主要介绍了Solana审计员训练营的课程结构、目标以及Anchor框架的基本概念。课程旨在提升参与者对Solana区块链安全性的理解,特别是Anchor框架的使用,帮助他们掌握智能合约审计的技能。 ### 关键论据和信息 1. **课程结构**: - 课程将涵盖高级Anchor内容、集成测试和单元测试、模糊测试(fuzzing)、安全最佳实践、常见漏洞向量以及“夺旗赛”(Capture the Flag)活动。 - 课程不包括Rust语言、Solana或区块链的基础知识,参与者需具备一定的相关经验。 2. **Anchor框架的优势**: - Anchor框架通过简化Solana程序的开发过程,提高了安全性,减少了开发者在编写代码时可能遗漏的检查。 - 介绍了Anchor中的几个重要宏(如程序宏、账户宏),这些宏可以自动生成代码,处理账户的序列化和反序列化,确保账户的正确性和安全性。 3. **安全性和工具的重视**: - Aki团队强调了安全审计的重要性,并提到他们正在开发开源工具(如Trident模糊测试器)来支持这一领域。 - 课程还将讨论安全最佳实践和常见的安全漏洞,以帮助参与者在实际工作中应用所学知识。 4. **IDL(接口定义语言)**: - IDL是用于定义与Solana程序交互的标准化JSON架构,能够帮助前端应用程序与智能合约进行有效沟通。 5. **课程目标**: - 通过本课程,参与者将获得对Solana区块链及其安全性的深入理解,掌握使用Anchor框架进行智能合约开发和审计的技能。 总之,本视频为Solana审计员训练营奠定了基础,强调了安全性、工具开发和实用技能的重要性,为参与者提供了清晰的学习路径。
81
0
0
5天前
ackeeblockchain
关注
贡献值: 5
学分: 10
江湖只有他的大名,没有他的介绍。
0 关注
1 粉丝
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容:
提醒
检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
×
编辑封面图
封面预览
取消
确认