专业代码审查利器:weAudit VSCode扩展全面解析

本文详细介绍Trail of Bits团队开发的weAudit VSCode扩展,该工具专为安全审计设计,支持代码书签标记、审计笔记记录、团队协作和GitHub问题创建,显著提升代码审查效率。

像专家一样阅读代码: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扩展或任何其他应用程序的帮助,请联系我们。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计