マネージド コードの "セキュリティ規則" 規則セット

レガシ コード分析用の Microsoft の "セキュリティ規則" 規則セットを使用して、報告される潜在的なセキュリティ問題の数を最大化します。

ルール 説明
CA2100 SQL クエリのセキュリティ脆弱性を確認
CA2102 汎用ハンドラーの CLSCompliant でない例外をキャッチします
CA2103 命令型のセキュリティを確認します
CA2104 読み取り専用の変更可能な参照型を宣言しません
CA2105 配列フィールドを読み取り専用にすることはできません
CA2106 アサートをセキュリティで保護します
CA2107 拒否および許可のみの使用を確認します
CA2108 値型での宣言セキュリティを確認します
CA2109 表示するイベント ハンドラーを確認します
CA2111 ポインターは参照可能にすることはできません
CA2112 セキュリティで保護された型はフィールドを公開してはなりません
CA2114 メソッド セキュリティは型のスーパーセットでなければなりません
CA2115 ネイティブ リソースを使用しているときには GC.KeepAlive を呼び出します
CA2116 APTCA メソッドは APTCA メソッドのみを呼び出すことができます
CA2117 APTCA 型は APTCA 基本型のみを拡張することができます
CA2118 SuppressUnmanagedCodeSecurityAttribute の使用法を確認してください
CA2119 プライベート インターフェイスを満たすメソッドをシールします
CA2120 シリアル化コンストラクターをセキュリティで保護します
CA2121 静的コンストラクターはプライベートでなければなりません
CA2122 リンク要求を含むメソッドを間接的に公開しません
CA2123 オーバーライドのリンク要求はベースと同一でなければなりません
CA2124 脆弱性のある finally 句を外側の try でラップします
CA2126 型のリンク要求には継承要求が必要です
CA2130 セキュリティ上重要な定数は透過的である必要がある
CA2131 セキュリティ上重要な型は型等価性に参加してはならない
CA2132 既定のコンストラクターは、基本型の既定コンストラクターと同程度以上、重要であることが必要
CA2133 デリゲートは透過性の整合がとれたメソッドにバインドする必要がある
CA2134 メソッドは、基本メソッドをオーバーライドしている場合、透過性の整合性を保つ必要がある
CA2135 レベル 2 のアセンブリは LinkDemand を含んではならない
CA2136 メンバーには、透過性注釈の競合があってはならない
CA2137 透過的メソッドは、検証可能な IL のみを含まなければならない
CA2138 透過的メソッドは、SuppressUnmanagedCodeSecurity 属性を持つメソッドを呼び出してはならない
CA2139 透過的メソッドは、HandleProcessCorruptingExceptions 属性を使用してはならない
CA2140 透過的コードは、セキュリティ上重要な項目を参照してはならない
CA2141 透過的メソッドは LinkDemand を満たしてはならない
CA2142 透過的コードは、LinkDemand を使用して保護されてはならない
CA2143 透過的メソッドは、セキュリティ確認要求を使用してはならない
CA2144 透過的コードは、バイト配列からアセンブリを読み込んではならない
CA2145 透過的メソッドを SuppressUnmanagedCodeSecurityAttribute で修飾してはならない
CA2146 型は、基本型およびインターフェイスと同程度以上、重要でなければならない
CA2147 透過コードは、セキュリティ アサートを使用してはならない
CA2149 透過的メソッドは、ネイティブ コード内に呼び出しを行ってはならない
CA2210 アセンブリには有効な厳密な名前が必要です
CA2300 安全ではないデシリアライザー BinaryFormatter を使用しないでください
CA2301 最初に BinaryFormatter.Binder を設定しないで BinaryFormatter.Deserialize を呼び出さないでください
CA2302 BinaryFormatter.Deserialize を呼び出す前に BinaryFormatter.Binder が設定されていることを確認します
CA2305 安全ではないデシリアライザー LosFormatter を使用しないでください
CA2310 安全ではないデシリアライザー NetDataContractSerializer を使用しないでください
CA2311 最初に NetDataContractSerializer.Binder を設定しないで逆シリアル化しないでください
CA2312 NetDataContractSerializer.Binder を設定してから逆シリアル化してください
CA2315 安全ではないデシリアライザー ObjectStateFormatter を使用しないでください
CA2321 SimpleTypeResolver を使って JavaScriptSerializer で逆シリアル化しないでください
CA2322 逆シリアル化する前に JavaScriptSerializer が SimpleTypeResolver によって初期化されていないことを確認してください
CA3001 SQL インジェクションの脆弱性のコード レビュー
CA3002 XSS の脆弱性のコード レビュー
CA3003 ファイル パス インジェクションの脆弱性のコード レビュー
CA3004 情報漏えいの脆弱性のコード レビュー
CA3005 LDAP インジェクションの脆弱性のコード レビュー
CA3006 プロセス コマンド インジェクションの脆弱性のコード レビュー
CA3007 オープン リダイレクトの脆弱性のコード レビュー
CA3008 XPath インジェクションの脆弱性のコード レビュー
CA3009 XML インジェクションの脆弱性のコード レビュー
CA3010 XAML インジェクションの脆弱性のコード レビュー
CA3011 DLL インジェクションの脆弱性のコード レビュー
CA3012 RegEx インジェクションの脆弱性のコード レビュー
CA5358 安全ではない暗号モードを使用しないでください
CA5403 証明書をハードコーディングしない