像专家一样使用我们的weAudit VSCode扩展审阅代码
Filipe Casal
2024年3月19日
工具发布
今天我们发布weAudit,这是我们安全审计期间使用的协作代码审查工具。通过weAudit,我们直接在VSCode内记录笔记并跟踪代码库中的错误,更高效地审查代码,减少对外部工具的依赖,确保不会丢失发现的错误,并能够与团队成员共享这些信息。
我们设计了weAudit,包含对我们审计过程至关重要的功能:
- 发现和笔记的书签:标记代码区域以标识发现或添加审计笔记。
- 审计文件的跟踪:将整个文件标记为已审查。
- 协作:与多个用户查看和共享发现。
- 创建GitHub问题:填写关于发现的详细信息,并直接从weAudit创建预格式化的GitHub问题。
您可以通过VSCode市场安装它,并在我们的vscode-weaudit仓库中找到其代码。
为什么我们构建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扩展或任何其他应用程序,请联系我们。
如果您喜欢这篇文章,请分享: Twitter LinkedIn GitHub Mastodon Hacker News