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

如何在.NET应用中使用Coverity的[Tainted]与[NotTainted]属性?

解决Coverity的[Tainted]/[NotTainted]属性在.NET中的使用问题

Coverity文档提到,.NET中可使用[Tainted]和[NotTainted]这类属性,它们位于Coverity.Attributes命名空间,但在NuGet.org上找不到对应的Coverity包,以下是可行的解决方法:

  • 手动定义对应特性类:Coverity的这类标记属性不需要依赖官方分发的程序集,静态分析工具仅识别属性的名称与结构。你可以在项目中自行创建匹配的类:

    1. 在项目中新建Coverity.Attributes命名空间
    2. 定义继承自System.Attribute的特性类,示例代码如下:
      namespace Coverity.Attributes
      {
          [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.Field, AllowMultiple = false)]
          public class TaintedAttribute : Attribute
          {
          }
      
          [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.Field, AllowMultiple = false)]
          public class NotTaintedAttribute : Attribute
          {
          }
      }
      
  • 注意事项:

    • 确保AttributeUsage的设置与文档描述一致,保证属性能正确应用到参数、返回值或字段上
    • 无需实现额外逻辑,这些属性仅作为Coverity静态分析的标记,运行时无实际功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 03:54:52