マネージ コードの "セキュリティ規則" 規則セット
潜在的なセキュリティ上の問題の検出件数を最大化するために、"Microsoft セキュリティ規則" 規則セットを使用してください。
規則 |
説明 |
---|---|
SQL クエリのセキュリティ脆弱性を確認 |
|
汎用ハンドラーの CLSCompliant でない例外をキャッチします |
|
命令型のセキュリティを確認します |
|
読み取り専用の変更可能な参照型を宣言しません |
|
配列フィールドを読み取り専用にすることはできません |
|
アサートをセキュリティで保護します |
|
拒否および許可のみの使用を確認します |
|
値型での宣言セキュリティを確認します |
|
表示するイベント ハンドラーを確認します |
|
ポインターは参照可能にすることはできません |
|
セキュリティで保護された型はフィールドを公開してはなりません |
|
メソッド セキュリティは型のスーパーセットでなければなりません |
|
ネイティブ リソースを使用しているときには GC.KeepAlive を呼び出します |
|
APTCA メソッドは APTCA メソッドのみを呼び出すことができます |
|
APTCA 型は APTCA 基本型のみを拡張することができます |
|
SuppressUnmanagedCodeSecurityAttribute の使用法を確認してください |
|
プライベート インターフェイスを満たすメソッドをシールします |
|
シリアル化コンストラクターをセキュリティで保護します |
|
静的コンストラクターはプライベートでなければなりません |
|
リンク要求を含むメソッドを間接的に公開しません |
|
オーバーライドのリンク確認要求はベースと同様です。 |
|
脆弱性のある finally 句を外側の try でラップします |
|
型のリンク要求には継承要求が必要です |
|
セキュリティが重要な定数は透過的です。 |
|
セキュリティが重要な型は型の等価性に参加しないことがあります。 |
|
既定のコンストラクターは、基本型の既定コンストラクターと同程度以上、重要であることが必要 |
|
デリゲートは、一貫した透過性でメソッドにバインドしなければなりません |
|
メソッドと基本メソッドをオーバーライドする場合、一貫した透過性を保持する必要があります |
|
レベル 2 アセンブリは LinkDemands を含めることはできません。 |
|
メンバーが矛盾した透過性のある注釈を指定する必要はありません。 |
|
透過的メソッドは、検証可能な IL だけです |
|
透過的メソッドが、SuppressUnmanagedCodeSecurity 属性のメソッドを呼び出すことはできません |
|
透過的メソッドは HandleProcessCorruptingExceptions 属性を使用できない場合もあります。 |
|
透過的なコードではセキュリティが重要な重要項目を参照することはできません。 |
|
透過的メソッドは LinkDemands を満たすことはできません |
|
透過的なコードでは、LinkDemand で保護することはできません。 |
|
透過的メソッドが、セキュリティ確認要求を使用する必要があります。 |
|
透過的なコードでは、バイト配列からアセンブリを読み込むことはできません。 |
|
透過的セキュリティ メソッドは、SuppressUnmanagedCodeSecurityAttribute と修飾しないでください。 |
|
型は、基本型およびインターフェイスと同程度以上、重要でなければならない |
|
透過的メソッドにはセキュリティ アサートを使用できない場合もあります。 |
|
透過的メソッドは、ネイティブ コードを呼び出す必要があります |
|
アセンブリには有効な厳密な名前が必要です |