理解当下,塑造未来。

搜索
UTC 12:22 · 2026年6月3日星期三 XIANDAI · Xiandai
2026年6月3日 · 更新于 UTC 12:22
网络安全

安全研究人员警告:.NET 构建流程存在代码执行风险

Tier Zero Security 的研究人员发现了一个潜在漏洞:NuGet 程序包在 Visual Studio 的初始项目加载阶段即可执行任意代码。

Ryan Torres

1 分钟阅读

安全研究人员警告:.NET 构建流程存在代码执行风险
A high-tech server room representing cybersecurity infrastructure.

Tier Zero Security 的安全分析师本周发出警告称,NuGet、Visual Studio 和 MSBuild 之间的集成产生了一个巨大的攻击面,攻击者甚至可以在项目编译之前就执行代码。该公司的调查强调了 CI/CD 流水线的自动化特性是如何被利用来破坏开发环境的。

现代 CI/CD 流水线通过在代码提交时自动运行脚本,简化了单元测试和部署等繁琐任务。虽然这提高了开发效率,但这些流水线往往存储着数据库连接字符串和发布密钥等敏感凭据。Tier Zero Security 指出,.NET 生态系统的设计——特别是 NuGet 与 MSBuild 的交互方式——允许包含自定义构建目标,从而触发命令行执行。

据该机构介绍,NuGet 程序包可以包含 `.targets` 或 `.props` 文件,MSBuild 会在项目还原阶段对这些文件进行解析。这些文件可以利用 MSBuild 的 `exec` 任务,该任务本意是用于运行特定的程序或命令。由于这些操作发生在流水线的早期阶段,恶意代码可以在依赖项被完全验证之前就先行执行。

信任区域与“网络标记”(Mark of the Web)的漏洞

研究人员还深入审查了微软的“网络标记”(MoTW)安全控制机制,该机制旨在提醒用户打开从互联网下载的文件时存在的风险。虽然 Visual Studio 使用“信任区域”来保护开发者免受恶意宏或可执行文件的侵害,但 Tier Zero Security 发现,在直接克隆代码仓库时,这些保护措施往往会被绕过。

当该公司向微软安全响应中心(MSRC)报告这一行为时,微软拒绝将其视为一个紧急漏洞。微软表示,Visual Studio 项目的设计初衷就是支持多种代码执行路径,并指出打开或克隆项目属于用户主动行为,其中可能涉及对构建目标的评估。

这并非此类架构风险首次被提及。Tier Zero Security 报告称,早在 2020 年就曾向 NuGet 团队提出过这一问题。当时团队回应道:“我认为,在没有替代方案的情况下禁用此功能,将会导致许多严重依赖该功能的程序包和工具无法正常工作。”

该公司警告称,随着近期 LiteLLM 事件(通过受损的上游扫描器窃取发布凭据)等供应链攻击日益频繁,开发者必须对构建工具中隐含的隐藏代码执行路径保持高度警惕。

评论