C#


CSHARP.INSEC.SAC : Security Annotation Conflict (C#)

要旨

Detected possible security annotation conflict.

プロパティ

クラス名 Security Annotation Conflict (C#)
日本語クラス名 Security Annotation Conflict (C#)
クラス分類 セキュリティ (security)
ニーモニック CSHARP.INSEC.SAC
カテゴリー
CWE CWE:749 Exposed Dangerous Method or Function
OWASP-2017 OWASP-2017:A2 Broken authentication
  OWASP-2017:A5 Broken access control
OWASP-2021 OWASP-2021:A1 Broken access control
  OWASP-2021:A7 Identification and authorization failures
対応言語 C# で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Security Annotation Conflict (C#)"

                                         // Security Annotation Conflict (C#) warning issued here
                                         // - conflicting [SecuritySafeCritical] and [SecurityCritical] annotations
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security;
using System.Web;
using System.Web.Mvc;

namespace UnsafeSecurityAnnotationExample
{

    [SecuritySafeCritical]
    public class SecurityAnnotationConflict
    { 

        [SecurityCritical]
        public void UnsafeMethod(String s) {

            //Do something

        }
        
    }
    
    public class UnableInputValidation : Controller
    { 

        [ValidateInput(false)]
        public void MyMethod(String s) { // Disabled Input Validation (C#) warning issued here 

            //Do something

        }
        
        ...
        
    }
}

解決法

Parameterize it in a configuration file.

Use safer protocols.

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。