You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2022中如何更新NuGet包依赖库以修复安全漏洞

解决RimDev.Stuntman依赖的JwtBearer安全漏洞问题

问题说明

项目里用的RimDev.Stuntman(3.0.0版)依赖的Microsoft.AspNetCore.Authentication.JwtBearer版本老旧,存在GHSA-q7cg-43mg-qp69安全漏洞。目前JwtBearer已有安全更新版本,但RimDev.Stuntman官方暂无适配更新。尝试执行Install-Package RimDev.Stuntman -Version 3.0.0 -IgnoreDependencies命令安装后,仍会自动引入不安全的JwtBearer版本,暂未找到有效更新方法。

解决办法

1. 强制指定JwtBearer的安全版本(最直接)

直接在项目的.csproj文件中手动添加JwtBearer的引用,明确指定安全版本号,NuGet会自动用该版本覆盖依赖链中的旧版本:

<ItemGroup>
  <!-- 把x.x.x替换为符合安全要求的最新稳定版本,需匹配你的.NET框架版本 -->
  <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="x.x.x" />
</ItemGroup>

保存文件后,右键项目→「管理NuGet程序包」,确认JwtBearer已更新至指定的安全版本即可。

2. 忽略版本冲突警告并强制替换

若添加上述引用后出现版本冲突警告,可给Stuntman的引用配置忽略警告,确保安全版本的JwtBearer正常生效:

<ItemGroup>
  <PackageReference Include="RimDev.Stuntman" Version="3.0.0" NoWarn="NU1605" />
  <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="x.x.x" />
</ItemGroup>

3. 自行编译修改后的Stuntman包

如果前两种方法无效,可尝试手动修改源码编译:

  • 找到RimDev.Stuntman的开源源码仓库
  • 将仓库内项目的JwtBearer依赖版本替换为安全版本
  • 编译生成自定义NuGet包,替换项目中原有的Stuntman引用

漏洞修复验证

更新完成后,可通过以下方式确认漏洞已修复:

  • 在Visual Studio的NuGet包管理器中,查看Microsoft.AspNetCore.Authentication.JwtBearer的版本是否为安全版本
  • 使用Visual Studio内置的漏洞检测工具扫描项目,确认GHSA-q7cg-43mg-qp69漏洞已消失

内容的提问来源于stack exchange,提问作者asap_coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 09:15:33