查找漏洞和恶意依赖项
大型复杂的项目通常有许多第三方依赖项,通过扩展常见库和框架的功能来提高生产力。
然而,依赖第三方代码会引发安全问题,因为这可能涉及在项目中使用存在漏洞的依赖项。
捆绑的 IntelliJ IDEA 软件包检查器 插件由 OSV 提供支持。 该插件分析 Gradle、Maven、NPM、PyPI 和 NuGet 依赖项的已知漏洞。 它允许您通过检索有关易受攻击依赖项的信息并将其更新到最新发布版本来处理此类情况。
启用 Package Checker 插件
此功能依赖于 Package Checker插件,该插件默认在 IntelliJ IDEA 中捆绑并启用。 如果相关功能不可用,请确保您没有禁用插件。
按 Ctrl+Alt+S 打开设置,然后选择
。打开 已安装 选项卡,找到 Package Checker插件,并选中插件名称旁边的复选框。
易受攻击的依赖项
在编辑器中显示易受攻击的依赖项
在编辑器中打开 pom.xml 或 build.gradle 。
IDE 会高亮显示被认为存在漏洞的软件包。
请将文本光标定位在突出显示的包上,然后按 Alt+Enter 以查看建议的修复。 它们可能建议更新到安全版本,访问 OSV 网站以了解特定漏洞的更多信息,或 忽略该漏洞。

分析代码以查找所有易受攻击的依赖项
此外,您可以运行检查以显示项目中所有已声明和导入的易受攻击依赖项列表。
在主菜单中,导航到
。或者,在 项目 工具窗口 Alt+1 中右键点击一个文件夹或文件(例如, pom.xml 或 build.gradle ),然后选择 。
结果显示在 易受攻击的依赖项 选项卡的 问题 工具窗口中( 或 Alt+6)。

您可以看到每个漏洞的严重程度指示。 点击特定依赖项,以查看在该依赖项中发现的漏洞的详细信息。
忽略漏洞
忽略的漏洞会被添加到检查设置中的列表中。 如有需要,您可以与团队中的其他成员共享此列表中的配置文件。
打开 pom.xml 或 build.gradle 在编辑器中,将文本光标放在高亮显示的包上,然后按 Alt+Enter。
从建议列表中选择 忽略存在漏洞的<package name and version> ,在打开的对话框中选择忽略此依赖项的原因。 点击 忽略。
要访问忽略漏洞的列表,请按 Ctrl+Alt+S 打开 IDE 设置,然后选择 安全性 节点并点击 易受攻击的声明依赖项。 列表位于检查详情的 选项 部分。
。 展开了解如何从 在电脑之间同步配置文件 共享检查配置文件。
查找漏洞 API
易受攻击的API 用法 检查会在您的代码中自动突出显示易受攻击的 API 和开源库。 您也可以 手动运行检查以获取项目中所有易受攻击的 API 和开源库的报告。
在编辑器中显示易受攻击的 API
将鼠标悬停在编辑器中检测到的问题上。
弹出窗口显示漏洞详情。
将光标放在问题上,按下并选择 转到具有声明的依赖项的文件。
您将被带到定义依赖项的文件中。
请将文本光标定位在突出显示的包上,然后按 Alt+Enter 以查看建议的修复。 它们可能建议更新到安全版本,访问 OSV 网站以了解特定漏洞的更多信息,或 忽略该漏洞。
分析代码以查找所有脆弱的 API
按 Ctrl+Alt+Shift+I 或转到主菜单中的
。在
Vulnerable API usage
中键入并双击检查以打开带有设置的对话框。选择您要分析的文件范围。
文件掩码(K) 选项有助于减少将要检查的文件数量。 指定一个由字符和通配符组成的模式,用于匹配您要分析的文件名。 使用逗号分隔多个文件掩码。
点击 确定 运行检查。
结果显示在 问题 工具窗口中( 或 Alt+6 ),您可以从中导航到声明存在漏洞依赖的文件、抑制检查或 生成报告。
报告误报
如果您认为被识别为漏洞的依赖项是安全的,您可以报告误报。
在 易受攻击的依赖项 选项卡中点击 问题 工具窗口 ( 或 Alt+6) 上的依赖项以打开其描述。
找到您要报告的漏洞,然后点击 报告误报。
您将看到一条确认通知。

恶意依赖项
软件包检查器 插件具有 恶意依赖项 检查功能,可检测项目中声明的恶意 NPM 和 PyPI 依赖项。 修复报告的问题可以防止您的软件被攻击者破坏。
显示恶意依赖项
打开一个声明了 NPM 或 PyPI 依赖项的文件。
IDE 会突出显示被认为是恶意的依赖项。
建议您删除检测到的依赖项。 恶意依赖项数据由 OSV.dev提供。
在提交时查找恶意依赖项
按 Alt+0 打开 提交 工具窗口,然后点击 显示提交选项
。
启用 检查恶意依赖项 选项。

配置安全检查
您可以更改 严重性 ,启用和禁用 安全性 检查,并在设置中配置问题突出显示。