gpt4 book ai didi

c# - 修复 .NET Core App 3.1 开源依赖漏洞

转载 作者:行者123 更新时间:2023-12-05 06:00:05 25 4
gpt4 key购买 nike

最近,我运行了一个 Whitesource Bolt在 Azure DevOps 上扫描以 .NET Core 3.1 API 项目为目标。

结果如下

Screenshot of OSS vulnerability report

为了方便起见,我将报告与该问题相关的内容

  • CVE-2021-26701 影响 system.text.encodings.web.4.5.0.nupkg 根据 Microsoft 的说法,建议 升级到版本 System.Text.Encodings.Web - 4.5.1,4.7.2,5.0.1
  • CVE-2018-8292 影响 system.net.http.4.3.0.nupkg 并且可以通过 升级到版本 System.Net.Http - 4.3.4;Microsoft 来修复。 PowerShell.Commands.Utility - 6.1.0-rc.1

我与我们的开发人员进行了交谈,他们进行了详分割析。这些依赖关系不是直接依赖关系。 .NET Framework 3.1 依赖于这些。

他们还说生产机器已经用最新版本的.NET Core打了补丁(截图无可访问版本)

.NET Installed

.csproj 文件确实将 netcoreapp31 引用为目标平台,并且基本上没有其他方法可以强制使用特定版本的框架。

为了完整起见,这里是完整的.csproj 文件

<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DocumentationFile>xxx.API.xml</DocumentationFile>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="8.1.0" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.15.0" />
<PackageReference Include="Microsoft.ApplicationInsights.NLogTarget" Version="2.15.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.9">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.9" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NLog" Version="4.7.5" />
<PackageReference Include="NLog.Web.AspNetCore" Version="4.9.3" />
<PackageReference Include="xxx.yyy" Version="0.2.7" />
<PackageReference Include="xxx" Version="0.8.6" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.6.3" />
<PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="5.6.3" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\xxx.Mappers\xxx.Mappers.csproj" />
<ProjectReference Include="..\xxx.Services\xxx.Services.csproj" />
</ItemGroup>

<ItemGroup>
<Folder Include="Properties\PublishProfiles\" />
</ItemGroup>

<ItemGroup>
<None Update="xxx.API.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>


</Project>

有几个私有(private)依赖项,但我检查了它们并且没有直接依赖于受影响的包。

此外,构建应用程序表明受影响的依赖项没有出现在最终的 zip 文件中,因此它们肯定是提供的依赖项。

提问时间

这真的是博尔特的误报吗?我可以确认吗

是否可以将任何内容提交到存储库以便修复警报?例如。从报告中消失?

最佳答案

我最近遇到了与 WhiteSource 相同的问题 - 它会拾取与我的项目完全无关的依赖项 - 一些 .Net Core 的东西,而我使用 .Net Framework。我研究了日志,发现 NugetDependencyResolver 以某种方式进入 \.nuget\packages\ NuGet 缓存文件夹并开始从那里获取包。因为我在构建代理上运行它,所以那里有各种各样的东西。

解析器是 runPreStepCommand 的一部分。由于我在构建步骤后运行分析器,因此我设置了 nuget.runPreStep=false

现在它只挑选属于我的项目的包,运行时间大大减少。

希望对大家有所帮助!

关于c# - 修复 .NET Core App 3.1 开源依赖漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67870042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com