digitalcoyote/NuGetDefense
GitHub: digitalcoyote/NuGetDefense
NuGetDefense 是一个 MSBuild 任务,在 .NET 项目构建期间自动扫描 NuGet 包及其传递依赖中的已知漏洞,支持按严重程度中断构建。
Stars: 99 | Forks: 20
# [](https://digitalcooyote.github.io/NuGetDefense/)
一个用于检查已知漏洞的 MSBuildTask。灵感来自 [OWASP SafeNuGet](https://github.com/OWASP/SafeNuGet)。
## 文档
在[此处](https://digitalcoyote.github.io/NuGetDefense/)查看 NuGetDefense 的完整文档
5.x 预览版文档可以通过运行 `dotnet /path/to/NuGetDefense.dll -?` 来获取
## 功能
* 使用多种来源检查第三方库(NuGet 包)中的已知漏洞
* [OSS Index](https://ossindex.sonatype.org/)
* [国家漏洞数据库](https://nvd.nist.gov/)(可选自更新)
* 本产品使用了 NVD API,但未获得 NVD 的认可或认证。
* [GitHub 安全公告数据库](https://nvd.nist.gov/)
* 简单的安装/配置:只需安装 [NuGet 包](https://www.nuget.org/packages/NuGetDefense/)即可。
* dotnet 全局工具,适合那些希望手动运行或仅在 CI 中运行的用户
* 传递依赖检查
* 仅支持 SDK 风格的项目(dotnet cli 不支持旧的项目格式)
* 使用构建时由 dotnet cli 解析出的版本
* 项目引用扫描
* 通过将 NuGet Defense 安装到顶层包,扫描层级结构中的所有项目
* 允许根据漏洞的严重程度中断构建。
* 忽略特定的漏洞/包。
* 敏感/内部包过滤
* 不将敏感/内部的包发送到远程漏洞源
* 缓存机制,以防止过度调用并触发 API 的速率限制
* 将 NuGet 包加入黑名单
* 将 NuGet 包加入白名单
* MIT 许可证
* 可用的 NuGet 包,支持将 NuGetDefense 扫描器捆绑到你自己的软件中
## 环境要求
* NuGetDefense v4.x 仅基于 .Net 8.0 构建,因此你需要安装相应的 runtime/SDK。
* NuGetDefense v5.x 仅基于 .Net 10.0 构建,因此你需要安装相应的 runtime/SDK。
## 不受支持的版本
* 官方支持与其底层框架的支持情况保持一致。
* 支持者可以请求对不受支持的版本提供支持(例如在 .Net 5 上运行的 v2.x),但建议使用
受支持的 runtime(以获得更好的整体安全性)
* 只要安装了 .Net 8 runtime,较旧的 .Net 项目就可以使用 4.x 版本。
## 它是如何工作的?
NuGetDefense 是一个打包的 dotnet 工具,它会在你的项目
完成构建后,通过 [MSBuild ExecTask](https://docs.microsoft.com/en-us/visualstudio/msbuild/exec-task?view=vs-2019) 来运行。
## 喜欢它?支持它
你可以在 [Github](https://github.com/sponsors/digitalcoyote)
和 [Patreon](https://www.patreon.com/codingcoyote) 上赞助这个项目。这些资金将用于支付软件许可费用,以及维持我项目运行所需的云服务/硬件成本。
标签:macOS, MSBuild, NuGet, XML 请求, 依赖安全, 安全开发