为什么团队合作很重要?
程式码库的复杂性
随著智能合约的发展,它们往往变得越来越复杂。程式码库由分布在各个模组和库中的数百甚至数千行程式码组成,这种情况并不罕见。独自应对如此复杂的情况可能令人难以承受,并且容易受到监督。
感谢您阅读 Verichains!免费订阅以接收新帖子并支持我的工作。
全面覆盖
为了确保深入检查,必须涵盖程式码库的所有方面。由于涉及多个团队成员,每个成员都带来了自己独特的观点和专业知识,因此忽略关键漏洞的机会会大大降低。
知识共享
协作程式码审查促进团队成员之间的知识分享。透过讨论和批评彼此的发现,团队成员可以加深对安全最佳实践和新出现威胁的理解。
交叉检查不同的观点
不同的人以不同的方式解决问题。透过利用团队的集体智慧,程式码审查可以从不同的角度受益,从而形成更强大的安全措施。
促进协作的工具
智慧合约自动化安全工具
对于使用智慧合约的项目,专门的自动化工具可以检测区块链特定的漏洞。将这些工具的输出整合到程式码审查过程中可以提供额外程度的安全检查。
Slither、Semgrep 和 4naly3er 等常见工具都支援 SARIF 汇出以在其他工具上渲染。
SARIF 格式、资源管理器和查找管理
静态应用程式安全测试 (SAST) 工具通常以静态分析结果交换格式 (SARIF) 产生结果。这种标准化格式允许跨不同工具和平台无缝共享和解析安全结果。
Trailofit 在 VSCode 上的新工具可探索 SARIF 档案和管理错误: https://marketplace.visualstudio.com/items ?itemName=trailofbits.sarif-explorer
该工具的主要功能是能够在表格上呈现结果、描述发现的详细资讯以及标记错误或误报。
利用专门用于管理安全结果的插件或平台可以简化追踪和解决已识别问题的流程。这些工具通常支援分配任务、设定优先顺序和监控进度等功能,以确保及时解决漏洞。
Trailofbit 的另一个工具可以管理结果,也与 SARIF 浏览器整合: https://marketplace.visualstudio.com/items ?itemName=trailofbits.weaudit
主要功能是突出显示以将区域标记为错误或进行注释、管理发现、描述这些发现的详细资讯以及团队成员透过 GitHub 共享。
它在实践中是如何运作的
将自动化工具结果汇出为 SARIF 格式:执行自动安全扫描后,将结果汇出为 SARIF 格式以标准化结果。
在 SARIF Explorer 中呈现结果:使用 SARIF Explorer 视觉化和探索安全结果。团队成员可以浏览调查结果、标记误报并确定问题的优先顺序以进行进一步调查。
将错误转发到查找管理外挂:一旦发现,应立即将安全性错误转发到查找管理外挂程式或平台。这可确保系统化地追踪、分配和处理它们。
描述 WeAudit 插件的调查结果的详细信息,包括严重性、可能性、漏洞类型、利用场景以及修复建议。
与团队成员共用 .vscode 资料夹:为了促进协作,请共用包含工作区设定的.vscode
夹,包括用于安全程式码审查的任何自订配置或扩充功能。
一天结束时,每个团队成员都会记下每日笔记并透过 Github 相互同步 .vscode 资料夹。
改进建议
1. 利用 SARIF 进行管理清单
将 SARIF 的使用扩展到不仅仅将结果视觉化。利用其结构化格式建立和管理安全审查清单,确保系统地遵循所有必要的步骤。
SARIF 浏览器是否允许 make bug,也提供 make 检查列表,审核员可以逐步检查。
2. 每日记笔记,不标示已审查的文件
鼓励团队成员保留每日笔记或日记,记录他们的程式码审查活动和发现。这可以作为追踪进度和与团队分享见解的宝贵参考。
透过采用协作团队合作并利用适当的工具和方法,组织可以提高其安全程式码审查流程的有效性和效率。透过共同责任和集体专业知识,团队可以更好地保护其软体免受潜在的安全威胁和漏洞的影响。