查找存在漏洞和恶意的依赖项
大型复杂项目通常包含多个第三方依赖项,通过扩展常用库和框架的功能来提高开发效率。
然而,依赖第三方代码可能带来安全隐患,因为项目中可能使用了存在漏洞的依赖项。
捆绑的 GoLand 程序包检查器 插件由 https://www.mend.io/jetbrains-lp/?utm_source=JetBrains 提供支持。 该插件会分析依赖项是否存在已知漏洞。 您可以通过获取有关存在漏洞的依赖项的信息,并将其更新至最新发布版本来处理此类情况。

存在漏洞的依赖项
在编辑器中修复存在漏洞的依赖项
在编辑器中打开 go.mod 。
IDE 会高亮显示被视为存在漏洞的依赖项。
将光标置于高亮依赖项上,然后按 Alt+Enter 查看建议的修复方案。 建议可能包括更新为安全版本、访问 Mend.io 网站以了解特定漏洞的更多信息,或 忽略 该漏洞。

导航至存在漏洞的包的声明位置
GoLand 现在不仅会在 go.mod 文件中高亮显示具有已知安全问题的包导入语句,也会在常规 Go 文件中高亮显示。
将鼠标悬停在高亮导入项上查看有关安全问题的信息。
点击 导航到依赖项声明 链接。 或者,点击高亮依赖项,按下 Alt+Enter ,然后选择 导航到依赖项声明。

分析代码以查找所有存在漏洞的依赖项
另外,您可以运行检查以显示项目中所有声明和导入的存在漏洞的依赖项列表。
在主菜单中,导航至 。
结果将显示在 易受攻击的依赖项 工具窗口的 问题 选项卡中( 或 Alt+6)。

对于每个漏洞,您可以看到其严重程度的指示信息。 点击特定依赖项可查看该依赖项中发现的漏洞的详细信息。
忽略漏洞
被忽略的漏洞将被添加至检查设置中的列表。 如有需要,您可以将包含该列表的配置文件与团队中的其他成员分享。
在编辑器中打开 go.mod ,将光标置于高亮依赖项上,然后按 Alt+Enter。
在建议列表中选择 忽略存在漏洞的 <依赖项名称和版本> ,在打开的对话框中选择忽略该依赖项的原因。 点击 忽略。

要访问被忽略漏洞的列表,请按 Ctrl+Alt+S 打开 IDE 设置,然后选择 。 展开 安全性 节点并点击 易受攻击的声明依赖项。 该列表位于检查详细信息中的 选项 部分。
了解如何从 在多台计算机之间同步配置文件 共享检查配置文件。
报告误报项
如果您认为被标记为存在漏洞的依赖项是安全的,您可以报告误报。
在 问题 工具窗口( 或 Alt+6 )的 易受攻击的依赖项 选项卡上单击某个依赖项以打开其说明。
定位要报告的漏洞并点击 报告误报。
您会看到一条确认通知。

恶意依赖项
程序包检查器 插件提供了一项 恶意依赖项 检查 功能,可识别项目中声明的恶意 NPM 和 PyPI 依赖项。 修复报告的问题可防止您的软件被攻击者攻击。
显示恶意依赖项
打开包含 NPM 或 PyPI 依赖项声明的文件。
IDE 会高亮显示被视为恶意的依赖项。
建议您移除检测到的依赖项。 恶意依赖项数据由 Mend.io 提供。
在提交时查找恶意依赖项
按 Alt+0 打开 提交 工具窗口并点击 显示提交选项
。
启用 检查恶意依赖项 选项。

配置安全检查
您可以更改 severity ,启用或禁用 安全性 检查,并在设置中配置问题高亮显示。
按 Ctrl+Alt+S 打开设置,然后选择 。
在右侧选项中选择 安全性 节点并选择检查名称。
根据需要更改 severity 、作用域和 highlighting。 单击 确定 保存更改。