像专家一样阅读代码:weAudit VSCode扩展
Filipe Casal
2024年3月19日 · 工具发布
今天我们发布weAudit——这是我们在安全审计过程中使用的协作式代码审查工具。通过weAudit,我们能够直接在VSCode中记录笔记并跟踪代码库中的错误,从而更高效地审查代码,减少对外部工具的依赖,确保不会遗漏发现的错误,并能与团队成员共享这些信息。
为什么开发weAudit
在审查复杂代码库时,我们经常需要编译关于高级结构和具体低级实现细节的详细笔记,以便与项目团队共享。对于高级笔记,标准文档共享工具绰绰有余。但这些工具并不适合共享低级、代码特定的笔记。我们需要一个能够与代码库本身更紧密耦合的共享笔记工具,就像使用便利贴来浏览复杂书籍一样。具体来说,我们需要一个能够实现以下功能的工具:
- 快速导航代码库中的关注区域
- 可视化高亮代码库的重要区域
- 向代码库的特定部分添加审计笔记
一段时间以来,我使用了一个非常简单的VSCode扩展"Bookmarks",它允许我向代码行添加基本笔记。但我对这个扩展始终不满意,因为它缺少关键功能:
- 高亮代码没有在旁边显示我写的笔记
- 无法与客户或共同审计代码库的工程师共享代码覆盖信息
- 无法共享我的笔记和书签
Trail of Bits的所有工程师都认为我们需要一个更好的工具来实现这个目的。我们意识到,如果想要一个量身定制的扩展,就需要自己创建。这就是我们开发weAudit的原因。
weAudit的主要功能
我们为weAudit构建的功能简化了书签标记、注释、跟踪审计中的代码文件、共享笔记以及为发现的问題创建GitHub问题的流程。
书签
扩展支持两种类型的书签:发现(代表有错误或可疑的代码区域)和笔记(代表关于代码的个人注释)。
您可以通过运行相应的VSCode命令或使用键盘快捷键向当前代码片段选择添加发现和笔记:
- “weAudit: New Finding from Selection”(快捷键:Cmd + J)
- “weAudit: New Note from Selection”(快捷键:Cmd + K)
这些命令将在编辑器中高亮代码,并在侧边栏的"发现列表"视图中创建一个新书签。
通过点击"发现列表"视图中的项目,您可以导航到相应的代码区域。
在有发现的文件旁边,VSCode默认"资源管理器"视图的文件树和编辑器上方的标签页都会显示"!“注释,立即清楚哪些文件有发现。
高亮颜色可以在扩展设置中自定义。
跟踪已审计文件
审查文件后,您可以通过运行"weAudit: Mark File as Reviewed"命令或其键盘快捷键Cmd + 7将其标记为已审计。整个文件将被高亮显示,文件树和编辑器上方标签页中的文件名将用✓注释。
高亮颜色可以在扩展设置中自定义。
每日日志
您是否曾经难以记住上周审查了哪些文件?或者您只是非常喜欢无意义的统计数据,比如一天内阅读的代码行数?您可以通过显示每日日志查看这些统计信息,该日志可从"发现列表"面板访问。
您还可以通过运行命令面板中的"weAudit: Show Daily Log"命令查看每日日志。
多用户协作
您可以与共同审计人员共享weAudit文件(位于.vscode文件夹中)以共享关于代码的发现和笔记。在"weAudit文件"面板中,您可以通过点击每个条目来切换显示或隐藏每个用户的发现。其他用户和您自己的发现和笔记的颜色可以在扩展设置中自定义。
详细发现
您可以通过点击侧边栏"发现列表"视图中的发现来填写详细信息,在那里您可以添加我们审计报告中包含的所有信息:标题、严重性、难度、描述、利用场景和解决建议。
然后,这些信息用于预填充模板,使您能够快速打开包含发现所有相关详细信息的GitHub问题。
亲自尝试!
如果您使用VSCode浏览大型代码库,我们邀请您尝试weAudit——即使您不是在寻找错误——并告诉我们您的想法!
我们在vscode-weaudit仓库欢迎任何错误报告、功能请求和贡献。
如果您对VSCode扩展安全性感兴趣,请查看我们的"逃离配置错误的VSCode扩展"和"逃离配置良好的VSCode扩展(为了利益)“博客文章。
如果您需要保护VSCode扩展或任何其他应用程序的帮助,请联系我们。