ReSharper 2026.3 Help

查找存在漏洞的 NuGet 软件包和 API

ReSharper 会检查项目的 NuGet 依赖项是否存在已知漏洞。 它会高亮显示存在漏洞的软件包引用和已知存在漏洞的方法用法。 为确定漏洞,ReSharper 会使用 Mend.io 上的安全公告列表,其中每条公告都适用于特定软件包及该软件包的特定版本。

以下 代码检查会报告两类问题:

检查

高亮显示的内容

位置

存在漏洞的 API 用法 (VulnerableApi)

对被识别为存在漏洞的方法的引用

C# 代码,通常位于 .cs 文件中

NuGet 软件包存在漏洞 (VulnerablePackage)

具有已知漏洞的软件包引用,包括传递依赖项中的漏洞

MSBuild 文件,例如 .csproj 文件

传递依赖项是另一个软件包所需的软件包。

软件包检查和 API 检查会提供不同的信息。 即使代码中没有高亮显示的 API 引用,软件包也可能存在已知漏洞。

在 C# 代码中查找存在漏洞的 API

存在漏洞的 API 用法检查会高亮显示 Mend.io 识别为存在漏洞的方法引用。 默认情况下,它使用 警告严重性级别。

查看存在漏洞的 API 用法

  1. 在编辑器中打开 C# 文件。

  2. 将鼠标悬停在高亮显示的方法引用上。 工具提示会显示漏洞标识符、CVSS 评分和标题。

  3. 要查看可用操作,请将文本光标置于高亮显示的引用处,然后按 Alt+Enter。 操作可能包括以下内容:

    • 显示 [vulnerability] 的安全公告 会在浏览器中打开安全公告。

    • 如果软件包管理可用, 尝试将 [软件包] 更新到最新版本 会更新受影响的 NuGet 软件包。

    • 指向漏洞数据提供方的链接。

更新操作会选择软件包的最新版本。 阅读安全公告以检查该版本是否解决了漏洞。

查找存在漏洞的软件包引用

NuGet 软件包存在漏洞检查会检查 MSBuild 文件中的 <PackageReference> 声明。 它会报告已声明软件包及其传递依赖项中的漏洞。 如果 ReSharper 可以解析已安装的版本,它还支持版本来自集中软件包管理的引用。

查看存在漏洞的软件包引用

  1. 打开项目文件,例如 .csproj 文件。

  2. 将鼠标悬停在高亮显示的软件包引用上。 工具提示会显示受影响的软件包。

  3. 要阅读安全公告或更新软件包,请将文本光标置于高亮显示的引用处,然后按 Alt+Enter。

对于传递漏洞,更新操作的目标是引入存在漏洞依赖项的已声明软件包。

配置漏洞检查

可以更改 严重性级别 ,针对 存在漏洞的 API 用法 和 NuGet 软件包存在漏洞 检查,或 禁用它们 ,具体可在 代码检查 | 检查严重性 页面(位于 ReSharper 选项 Alt+R, O )中进行。特殊字符。 аднойчы. 使用此页面上的搜索字段按名称查找检查。

还可以在 .editorconfig 文件中配置检查。 例如,以下行会将 存在漏洞的 API 用法检查的严重性更改为 错误 ,并禁用 NuGet 软件包存在漏洞检查:

resharper_vulnerable_api_highlighting=error resharper_vulnerable_package_highlighting=none

可用值为 error、 warning、 suggestion、 hint 和 none。

2026年 11月 6日