Skip to content
Bitzsoft.Integrationsbitzsoft.integrations

Guide

SBOM 与安全审计

CycloneDX SBOM 生成、漏洞审计和依赖供应链安全。

Last updated

连接器库生成 CycloneDX SBOM(软件物料清单)并执行依赖漏洞审计。这确保发布前全部依赖无已知漏洞。

漏洞审计

Terminal window
# ① 扫描全部包的已知漏洞(含传递依赖)
dotnet list package --vulnerable --include-transitive

审计脚本 scripts/vulnerability-audit.mjs 执行 dotnet list package --vulnerable 并输出 artifacts/package-audit.json

{
"scanDate": "2026-08-01T...",
"projectsScanned": 190,
"vulnerabilitiesFound": 0,
"projects": [
{ "path": "src/Bitzsoft.Integrations.Payment/...", "vulnerabilities": [] },
// ... 190 个项目
]
}

最新审计结果:190 个项目扫描,0 个漏洞。

NuGet 审计

Directory.Build.props 启用 NuGet 内置审计:

<NuGetAudit>true</NuGetAudit>
<NuGetAuditMode>all</NuGetAuditMode>
<NuGetAuditLevel>low</NuGetAuditLevel>

警告作为错误处理:

<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsAsErrors>NU1605;NU1901;NU1902;NU1903;NU1904</WarningsAsErrors>

NU1901-NU1904 覆盖 Low / Moderate / High / Critical 四个级别的漏洞警告。

SBOM 生成

Terminal window
# ① 生成 CycloneDX 1.5 SBOM
dotnet CycloneDX ...

输出 artifacts/sbom.cdx.json

{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"metadata": {
"component": {
"type": "library",
"bom-ref": "pkg:nuget/Bitzsoft.Integrations@workspace",
"name": "Bitzsoft.Integrations",
"purl": "pkg:nuget/Bitzsoft.Integrations@workspace"
}
},
"properties": [
{ "name": "cdx:asset-file-count", "value": "146" }
],
"components": [
{
"type": "library",
"name": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.10",
"purl": "pkg:nuget/Microsoft.Extensions.DependencyInjection.Abstractions@10.0.10"
}
// ... 全部传递依赖
]
}

CPM 漏洞修复

当发现传递依赖有漏洞时,在 Directory.Packages.props 中显式固定安全版本:

<!-- 修复 CVE-2026-40021:log4net 传递依赖漏洞 -->
<PackageVersion Include="log4net" Version="3.3.1" />

net5.0 的条件版本:

<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.1" Condition="'$(TargetFramework)' == 'net5.0'" />

相关脚本

脚本用途
scripts/vulnerability-audit.mjs执行 dotnet list package --vulnerable 并输出 JSON
scripts/generate-sbom.sh生成 CycloneDX SBOM
scripts/check-tfm-policy.mjsTFM 策略合规性

相关

100%

滚轮或按钮缩放 · 放大后拖动画面 · 双击切换 100% / 200%