以下のルールは .NET プロジェクトでサポートされています (* が付いているルールは VB.NET の .NET プロジェクトではサポートされません)。
APSC_DV.000160.ACCA - カスタム暗号化アルゴリズムの使用を避ける
APSC_DV.000160.RSAKS - 2048 ビット以上の RSA キーを使用する
APSC_DV.000160.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
APSC_DV.000170.ACCA - カスタム暗号化アルゴリズムの使用を避ける
APSC_DV.000170.RSAKS - 2048 ビット以上の RSA キーを使用する
APSC_DV.000170.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
APSC_DV.000460.UAA - ページおよびコントローラーで authorization 属性を使用する
APSC_DV.000500.AUEP - 昇格された権限の使用を避ける
APSC_DV.000510.ISE - セッション有効期限が適切であるようにする
APSC_DV.000510.UAA - ページおよびコントローラーで authorization 属性を使用する
APSC_DV.000530.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
APSC_DV.000650.ALSI - 機密情報をログに記録しない
APSC_DV.001460.AAM - MVC Core に認可サービスを追加する
APSC_DV.001460.ACCA - カスタム暗号化アルゴリズムの使用を避ける
APSC_DV.001460.ALSI - 機密情報をログに記録しない
APSC_DV.001460.AUEP - 昇格された権限の使用を避ける
APSC_DV.001460.AXSSE - Web.config ファイルで anti-XSS 防御を有効化する
APSC_DV.001460.CSP - Web.config ファイルで Content Security Policy を有効化する
APSC_DV.001460.DNICV - SSL 証明書の検証を無効化しない
APSC_DV.001460.IIDC - NonSerialized フィールドを持つクラスで IDeserializationCallback を実装する
APSC_DV.001460.IIPHEU - セキュリティ上の決定を行う際に逆引き DNS に依存しない
APSC_DV.001460.IREC - 完全性のチェックを行わずに外部コードを実行しない
APSC_DV.001460.ISE - セッション有効期限が適切であるようにする
APSC_DV.001460.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
APSC_DV.001460.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
APSC_DV.001460.NCSAE - 'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける
APSC_DV.001460.NTSAE - 'Exception'、'SystemException'、'AppicationException' をスローしてはならない
APSC_DV.001460.PBRTE - 必ず実行コマンドへの絶対パスを指定する
APSC_DV.001460.PDTDP - DTD 処理を防ぐ
APSC_DV.001460.RSAKS - 2048 ビット以上の RSA キーを使用する
APSC_DV.001460.RSFSS - SecureString から文字列を再作成しない
APSC_DV.001460.SDE - 例外に機密データを含めない
APSC_DV.001460.SSFP - パスワードには String ではなく SecureString を使用する
APSC_DV.001460.UAA - ページおよびコントローラーで authorization 属性を使用する
APSC_DV.001460.UAAMC - 認可属性がコントローラーと一致していることを確認する
APSC_DV.001460.UIS - 標準パターンを使用して ISerializable を実装する
APSC_DV.001460.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
APSC_DV.001460.VAFT - POST メソッドでは anti-forgery 属性を使用する
APSC_DV.001460.VLT - 使用する前にショートカットのターゲット パスを検証する
APSC_DV.001660.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
APSC_DV.001860.ACCA - カスタム暗号化アルゴリズムの使用を避ける
APSC_DV.001860.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
APSC_DV.001995.LOCKSETGET - プロパティの set または get のどちらかをロックする場合、両方をロックする
APSC_DV.002000.ISE - セッション有効期限が適切であるようにする
APSC_DV.002010.ACCA - カスタム暗号化アルゴリズムの使用を避ける
APSC_DV.002010.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
APSC_DV.002290.ACCA - カスタム暗号化アルゴリズムの使用を避ける
APSC_DV.002290.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
APSC_DV.002350.ACCA - カスタム暗号化アルゴリズムの使用を避ける
APSC_DV.002350.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
ARRU.NGLVD* - 非ジェネリック コレクション型のローカル変数を宣言してはならない
BD.API.EQREFL - Object.equals(Object) の実装が再帰的であることを確認する
BD.CO.ITMOD - コレクションを反復処理中に変更しない
BD.EXCEPT.AN - ArgumentNullException を避ける
BD.EXCEPT.NR - NullReferenceException を避ける
BD.PB.ARRAY - 配列の境界を超えてアクセスしてはならない
BD.PB.CC - 常に同じ値に評価される条件式を避ける
BD.PB.CHECKRET - 非 void メソッドの戻り値を必ずチェックする
BD.PB.DEREF - null チェックの前に間接参照しない
BD.PB.DISP - 破棄されたリソースを使用しない
BD.PB.EVIPT -呼び出しパラメーターの型をデリゲートの定義に一致させる
BD.PB.FIN - ファイナライザでマネージド リソースを使用しない
BD.PB.INTOVERF - 整数のオーバーフローを避ける
BD.PB.NOTEXPLINIT - 明示的に初期化する前の使用を避ける
BD.PB.POVR - 使用前にメソッド パラメーターを上書きすることを避ける
BD.PB.SBONE - StringBuilder オブジェクトを適切に使用する
BD.PB.STRNULL - 文字列に null を付加しない
BD.PB.SWITCH - switch 文には到達できないブランチがあってはならない
BD.PB.UGHC - ハッシュ コードが同一であることを根拠として等価であると判断してはならない
BD.PB.VOVR - 未使用の値を避ける
BD.PB.ZERO - ゼロによる除算を避ける
BD.RES.LEAKS - リソースが割り当て解除されていることを確認する
BD.SECURITY.AUTH - 認証に影響を与える可能性がある信頼性のない入力を避ける
BD.SECURITY.CUSTOM - セキュリティ脆弱性を防ぐ (カスタム ルール)
BD.SECURITY.IDENTITY - 偽装されたユーザーのコンテキストを必ず元のユーザーの情報に戻す
BD.SECURITY.SALT - ランダムな salt が使用されていることを確認する
BD.SECURITY.SENS - 機密データの公開を防止する
BD.SECURITY.SENSLOG - ログ ファイルに書き込む関数に機密データを渡さない
BD.SECURITY.TDALLOC - メモリ割り当サイズの決定に使用する前に、汚染されている可能性があるデータを検証する
BD.SECURITY.TDCMD -コマンド インジェクションから防御する
BD.SECURITY.TDCODE - コードを生成するメソッドで使用する前に、汚染されている可能性があるデータを検証する
BD.SECURITY.TDFNAMES - ファイル名インジェクションから防御する
BD.SECURITY.TDINPUT - フォーマット文字列からサニタイズされていないユーザー入力を除外する
BD.SECURITY.TDLDAP - LDAP インジェクションから防御する
BD.SECURITY.TDLOG - ログの偽造から防御する
BD.SECURITY.TDNET - ネットワーク リソース インジェクションから防御する
BD.SECURITY.TDPASSWD - 保護されていない認証情報の使用から保護する
BD.SECURITY.TDRESP - HTTP レスポンス分割から防御する
BD.SECURITY.TDRFL - Reflection インジェクションから防御する
BD.SECURITY.TDSQL - SQL クエリー インジェクションから防御する
BD.SECURITY.TDSQLC - SQL 接続インジェクションから防御する
BD.SECURITY.TDXSS - XSS 脆弱性から防御する
BD.SECURITY.USXRS - セキュアな XmlResolver プロパティでオブジェクトを使用する
BD.TRS.DIFCS - 変数は単一のクリティカル セクションのコンテキストで使用するべきである
BD.TRS.INSTLOCK - 共有の静的データを保護するためにインスタンス ロックを使用しない
BD.TRS.MUTEX - 未解放の mutex を放棄しない
BD.TRS.ORDER - 異なる順序でロックを獲得しない
BRM.BOOLNEGNAME* - ブール型を返すプロパティ/メソッドの名前には、否定ではなく肯定を使用する
BRM.CMT.MSC - メンバーにはコメントを付けるべきである
BRM.CMT.TSC - 型にはコメントを付けるべきである
BRM.COLLPLURALNAME* - コレクション/配列型のプロパティ名は複数形を使用する。名前に collection/array を使用しない
BRM.HBCM - 基底クラスのメソッドを隠蔽することを避ける
BRM.HBCP - 基底クラスのプロパティを隠蔽することを避ける
BRM.ISPREFIX* - boolean を返すメソッドだけに is で始まる名前を付ける
BRM.LINUPPERCASE - long 型整数定数を表すには 'l' ではなく 'L' を使用する
BRM.MLL - 1 行の桁数は定義済みのパラメーター値を超えてはならない
BRM.SFH - 必ず著作権情報などの適切なファイル ヘッダーを記述する
BRM.SFT - タブ/インデントにはスペースを使用する
CDD.DUPC - コードの重複を避ける
CDD.DUPM - メソッドの重複を避ける
CDD.DUPS - 文字列リテラルの重複を避ける
CDD.DUPT - 型の重複を避ける
CLS.ACAC* - プロパティのアクセシビリティとアクセサーのアクセシビリティを同一にする
CLS.CONV* - 変換演算子を提供する場合は、代替の変換方法も提供する
CLS.ENTY* - 列挙体の基になる型を整数型にする
CLS.NOOO* - CLS に準拠する場合は演算子のオーバーロードを使用しない
CLS.NOPT* - CLS に準拠する場合は、ポインター型を使用しない
CLS.PRMT* - CLS 準拠 プリミティブ型だけを使用する
CLS.TYPR* - 型指定された参照を使用してはならない
CMUG.MU.AUPM - 未使用の private メソッドを避ける
CMUG.MU.VALRETURN* - メソッドまたはプロパティから値を返すのに値型を使用しない
CMUG.PRU.DPAV* - nHibernate を使用するクラスから派生するクラスのプロパティを virtual として宣言する
CS.BRM.AIBA - as の前に is を使用しない
CS.BRM.BEB - 空のブロック ステートメントを避ける
CS.BRM.CCB - if および else の本文を必ず括弧で囲む
CS.BRM.CPEB - 内容が空の checked、unchecked、fixed および unsafe 文を避ける
CS.BRM.ES - 空の文字列には string.Empty を使用する
CS.BRM.ETK - 頭文字が大文字のメンバーにアクセスする場合、明示的に this キーワードを使用する
CS.BRM.ICB - 反復文の本文を必ず括弧で囲む
CS.BRM.IDOU - 他の式の中でインクリメント/デクリメント演算子を使用しない
CS.BRM.IEB - 内容が空の初期化文を避ける
CS.BRM.KFATNC - ファイル名と型名の一貫性を保持する
CS.BRM.RFINE - 大きな if 句と共に return 文のある小さな else 句を使用しない
CS.BRM.SCHR - C# のコードでは Strings.Chr() および Strings.ChrW() メソッドを使用しない
CS.BRM.SWDEFLAST - switch 文の最後の case として default を配置する
CS.BRM.UCB - using 文の本文を必ず括弧で囲む
CS.BRM.UCO - 条件演算子 ('?') ではなく、null 結合演算子 ('??') を使用する
CS.CDD.DUPU - using 文の重複を避ける
CS.CMUG.PRU.FSPP - プロパティ アクセサーの標準パターンに従う
CS.EU.VZS - すべての列挙型に値が 0 のメンバーがあることを確認する
CS.IFD.DNPTHIS - デストラクターまたは dispose メソッドの内側から this への参照を渡してはならない
CS.INTER.ITT - 文字列リテラルを国際化するべきである
CS.MCI* - 1つのファイルで複数のクラスやインターフェイスを定義しない
CS.MLC - 非常に大きいメソッドを使用しない
CS.NG.VAR.PNCFV - メソッドの変数および定数の適切な命名規則に従う
CS.OOM.CAST2CONCRETE - 具象 Collection 型にキャストしない
CS.OOM.MI - 保守性指標を指定した値以上に保つ
CS.PB.ANIL - 繰り返し不可能なループを避ける
CS.PB.AWC - 条件の中で代入しない
CS.PB.BITBOOL - オペランドがブール型の場合はビット演算子を使用しない
CS.PB.CCA - コンストラクター引数への混乱する代入を避ける
CS.PB.CEB - 内容が空の条件文を避ける
CS.PB.CNFA - as 演算子を使用したら null チェックを行う
CS.PB.DEFSWITCH - 各 switch 文に default: を用意する
CS.PB.EEB - 内容が空の try、catch、finally および using 文を避ける
CS.PB.FPLI - ループのインデックスとして浮動小数点型の変数を使用しない
CS.PB.IDNE - 効果のないインクリメント文およびデクリメント文を避ける
CS.PB.IEB - 内容が空の反復文を避ける
CS.PB.IVFLC - for ループの条件で初期化子の変数を使用する
CS.PB.IVFLI - for ループのイテレーター セクションで初期化子変数を使用する
CS.PB.MCO - '?:' 演算子が誤って使用されていないかどうかを確認する
CS.PB.NACC - アクセスできないクラスおよび構造体を避ける
CS.PB.NSIVFLB - for ループの初期化子変数を for ループの本文で変更しない
CS.PB.NSIVFLN - 複数のネストされた for ループ文で同じ変数をインクリメントまたはデクリメントしない
CS.PB.PUO - 単項演算子 + を使用しない
CS.PB.SHIFT - [0, 31] の範囲外の整数をシフトの量として使用してはいけない
CS.PB.USC.CC - 条件内の到達できないコードを避ける
CS.PB.USC.UC - 到達できないコードを避ける
CS.PB.VTNV - 値型と null を比較してはならない
CS.PB.WIBS - ブロックのないステートメントを誤ってインデントしない
CS.PE.VFFP - FileDialog フィルタ パターンを検証する
CS.PFEL - for ループではなく foreach ループを使用する
CS.PROTC - const ではなく readonly を使用する
CS.SC - 単純式だけをキャストする
CS.SEC.AUK - 'unsafe' キーワードを避ける
CS.SEC.RSFSS - SecureString から文字列を再作成しない
CS.SEC.SSFP - パスワードには String ではなく SecureString を使用する
CS.SERIAL.IIDC - NonSerialized フィールドを持つクラスで IDeserializationCallback を実装する
CS.SERIAL.SOIS - シリアライズ可能ではないオブジェクトをセッションに格納しない
CS.SERIAL.UIS - 標準パターンを使用して ISerializable を実装する
CS.SMC - case 文が多すぎる/少なすぎる switch 文を避ける
CS.TRS.LCB - lock 文の本文を必ず括弧で囲む
CS.TRS.LEB - 内容が空の lock 文を避ける
CS.TRS.LOCKSETGET - プロパティの set または get のどちらかをロックする場合、両方をロックする
CS.USO - using 文をアルファベット順に記述する
CT.ECLSII - データの損失または予期しない結果が発生する可能性がある場合、データ型の間の明示的な変換を避ける
CT.ECLTS - データの損失または予期しない結果が発生する可能性がある場合、データ型の間の明示的な変換を避ける
CWE.120.AUK - 'unsafe' キーワードを避ける
CWE.131.AUK - 'unsafe' キーワードを避ける
CWE.1386.VLT - 使用する前にショートカットのターゲット パスを検証する
CWE.190.AIOAC - 代入および比較式で整数オーバーフローが発生する可能性を避ける
CWE.190.AIWIL - ループでのインデクサーのラップアラウンドを避ける
CWE.191.AIOAC - 代入および比較式で整数オーバーフローが発生する可能性を避ける
CWE.191.AIWIL - ループでのインデクサーのラップアラウンドを避ける
CWE.197.ECLSII - データの損失または予期しない結果が発生する可能性がある場合、データ型の間の明示的な変換を避ける
CWE.200.SDE - 例外に機密データを含めない
CWE.209.SDE - 例外に機密データを含めない
CWE.250.AUEP - 昇格された権限の使用を避ける
CWE.287.AAM - MVC Core に認可サービスを追加する
CWE.287.IIPHEU - セキュリティ上の決定を行う際に逆引き DNS に依存しない
CWE.287.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
CWE.287.UAAMC - 認可属性がコントローラーと一致していることを確認する
CWE.295.DNICV - SSL 証明書の検証を無効化しない
CWE.307.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
CWE.316.RSFSS - SecureString から文字列を再作成しない
CWE.316.SSFP - パスワードには String ではなく SecureString を使用する
CWE.326.RSAKS - 2048 ビット以上の RSA キーを使用する
CWE.327.ACCA - カスタム暗号化アルゴリズムの使用を避ける
CWE.329.ACCA - カスタム暗号化アルゴリズムの使用を避ける
CWE.350.IIPHEU - セキュリティ上の決定を行う際に逆引き DNS に依存しない
CWE.352.VAFT - POST メソッドでは anti-forgery 属性を使用する
CWE.362.LOCKSETGET - プロパティの set または get のどちらかをロックする場合、両方をロックする
CWE.391.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
CWE.396.NCSAE - 'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける
CWE.397.NTSAE - 'Exception'、'SystemException'、'AppicationException' をスローしてはならない
CWE.426.PBRTE - 必ず実行コマンドへの絶対パスを指定する
CWE.476.CNFA - as 演算子を使用したら null チェックを行う
CWE.480.PUO - 単項演算子 + を使用しない
CWE.481.AWC - 条件の中で代入しない
CWE.494.IREC - 完全性のチェックを行わずに外部コードを実行しない
CWE.502.IIDC - NonSerialized フィールドを持つクラスで IDeserializationCallback を実装する
CWE.502.UIS - 標準パターンを使用して ISerializable を実装する
CWE.532.ALSI - 機密情報をログに記録しない
CWE.546.TODO - コメントにタスク タグが含まれていないことを確認する
CWE.561.UC - 到達できないコードを避ける
CWE.59.VLT - 使用する前にショートカットのターゲット パスを検証する
CWE.595.REVT - ReferenceEquals() を値型で使用しない
CWE.611.PDTDP - DTD 処理を防ぐ
CWE.613.ISE - セッション有効期限が適切であるようにする
CWE.617.ATA - 運用コードで Trace.Assert() メソッドを使用しない
CWE.64.VLT - 使用する前にショートカットのターゲット パスを検証する
CWE.676.APDM - 潜在的に危険なメソッドの使用を避ける
CWE.681.ECLTS - データの損失または予期しない結果が発生する可能性がある場合、データ型の間の明示的な変換を避ける
CWE.770.UHCF - HttpClient オブジェクトを作成することで HttpClient クラスをインスタンス化しない
CWE.780.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
CWE.79.AXSSE - Web.config ファイルで anti-XSS 防御を有効化する
CWE.79.CSP - Web.config ファイルで Content Security Policy を有効化する
CWE.827.PDTDP - DTD 処理を防ぐ
CWE.835.IVFLC - for ループの条件で初期化子の変数を使用する
CWE.835.IVFLI - for ループのイテレーター セクションで初期化子変数を使用する
CWE.835.NSIVFLN - 複数のネストされた for ループ文で同じ変数をインクリメントまたはデクリメントしない
CWE.838.AIHUE - HttpResponse メソッドで不適切な HTML または URL エンコーディングを使用しない
CWE.862.UAA - ページおよびコントローラーで authorization 属性を使用する
CWE.863.AAM - MVC Core に認可サービスを追加する
CWE.863.UAAMC - 認可属性がコントローラーと一致していることを確認する
EXCEPT.NCSAE - 'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける
EXCEPT.NTSAE - 'Exception'、'SystemException'、'AppicationException' をスローしてはならない
IFD.DDFODB - 'Dispose(bool)' メソッドでは、入力パラメーターを使用して本当に破棄するかどうかをチェックする
IFD.IDDR - 破棄可能なリソースを使用する型では IDisposable を実装する
INTER.RI - *.resx ファイルのすべての文字列を必ず国際化する
OOM.LNDM* - 1 クラスあたりのデータ メンバーの数を多くしない
OOM.LNMM* - 1 クラスあたりのメソッドの数を多くしない
OOM.LNPBD* - 1 クラスあたりの public データ メンバーの数を多くしない
OOM.LNPBM* - 1 クラスあたりの public メソッドの数を多くしない
OOM.LNPM* - 1 メソッドあたりのパラメーターの数を多くしない
OOM.LNPTD* - 1 クラスあたりの protected データ メンバーの数を多くしない
OOM.LNPTM* - 1 クラスあたりの protected メソッドの数を多くしない
OOM.LNPVD* - 1 クラスあたりの privateデータ メンバーの数が多い
OOM.LNPVM* - 1 クラスあたりの private メソッドの数を多くしない
OOM.MLCI* - クラスの継承レベルを深くしすぎない
OPU.CPTEQ - Equals(Object) メソッドのパラメーターと null を比較する
OPU.CPTEQ - Equals(Object) メソッドのパラメーターの型を比較する
OPU.NOREFEQUAL* - ReferenceEquals() メソッドをオーバーライドしない
OPU.NOSTATICEQUAL* - 静的な Object.Equals() メソッドをオーバーライドしない
OPU.REVT - ReferenceEquals() を値型で使用しない
OWASP_ASVS_403.V1_5_2.IIDC - NonSerialized フィールドを持つクラスで IDeserializationCallback を実装する
OWASP_ASVS_403.V1_5_2.UIS - 標準パターンを使用して ISerializable を実装する
OWASP_ASVS_403.V1_11_2.LOCKSETGET - プロパティの set または get のどちらかをロックする場合、両方をロックする
OWASP_ASVS_403.V5_5_1.IIDC - NonSerialized フィールドを持つクラスで IDeserializationCallback を実装する
OWASP_ASVS_403.V5_5_1.UIS - 標準パターンを使用して ISerializable を実装する
OWASP2017.A10.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
OWASP2017.A2.ISE - セッション有効期限が適切であるようにする
OWASP2017.A2.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
OWASP2017.A3.ACCA - カスタム暗号化アルゴリズムの使用を避ける
OWASP2017.A3.ALSI - 機密情報をログに記録しない
OWASP2017.A3.DNICV - SSL 証明書の検証を無効化しない
OWASP2017.A3.RSFSS - SecureString から文字列を再作成しない
OWASP2017.A3.SDE - 例外に機密データを含めない
OWASP2017.A3.SSFP - パスワードには String ではなく SecureString を使用する
OWASP2017.A3.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
OWASP2017.A4.PDTDP - DTD 処理を防ぐ
OWASP2017.A5.AAM - MVC Core に認可サービスを追加する
OWASP2017.A5.AUEP - 昇格された権限の使用を避ける
OWASP2017.A5.UAA - ページおよびコントローラーで authorization 属性を使用する
OWASP2017.A5.UAAMC - 認可属性がコントローラーと一致していることを確認する
OWASP2017.A5.VAFT - POST メソッドでは anti-forgery 属性を使用する
OWASP2017.A6.NCSAE - 'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける
OWASP2017.A6.NTSAE - 'Exception'、'SystemException'、'AppicationException' をスローしてはならない
OWASP2017.A7.AXSSE - Web.config ファイルで anti-XSS 防御を有効化する
OWASP2017.A7.CSP - Web.config ファイルで Content Security Policy を有効化する
OWASP2017.A8.IIDC - NonSerialized フィールドを持つクラスで IDeserializationCallback を実装する
OWASP2017.A8.UIS - 標準パターンを使用して ISerializable を実装する
OWASP2019.API10.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
OWASP2019.API2.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
OWASP2019.API2.RSFSS - SecureString から文字列を再作成しない
OWASP2019.API2.SSFP - パスワードには String ではなく SecureString を使用する
OWASP2019.API3.ACCA - カスタム暗号化アルゴリズムの使用を避ける
OWASP2019.API3.ALSI - 機密情報をログに記録しない
OWASP2019.API3.ATA - 運用コードで Trace.Assert() メソッドを使用しない
OWASP2019.API3.SDE - 例外に機密データを含めない
OWASP2019.API3.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
OWASP2019.API4.UHCF - HttpClient オブジェクトを作成することで HttpClient クラスをインスタンス化しない
OWASP2019.API5.AAM - MVC Core に認可サービスを追加する
OWASP2019.API5.ISE - セッション有効期限が適切であるようにする
OWASP2019.API5.UAA - ページおよびコントローラーで authorization 属性を使用する
OWASP2019.API5.UAAMC - 認可属性がコントローラーと一致していることを確認する
OWASP2019.API7.DNICV - SSL 証明書の検証を無効化しない
OWASP2019.API7.ECLTS - データの損失または予期しない結果が発生する可能性がある場合、データ型の間の明示的な変換を避ける
OWASP2019.API7.NCSAE - 'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける
OWASP2019.API7.NTSAE - 'Exception'、'SystemException'、'AppicationException' をスローしてはならない
OWASP2019.API8.AIHUE - HttpResponse メソッドで不適切な HTML または URL エンコーディングを使用しない
OWASP2019.API8.AUK - 'unsafe' キーワードを避ける
OWASP2019.API8.IREC - 完全性のチェックを行わずに外部コードを実行しない
OWASP2019.API8.PBRTE - 必ず実行コマンドへの絶対パスを指定する
OWASP2019.API8.PDTDP - DTD 処理を防ぐ
OWASP2021.A1.AAM - MVC Core に認可サービスを追加する
OWASP2021.A1.AUEP - 昇格された権限の使用を避ける
OWASP2021.A1.DNICV - SSL 証明書の検証を無効化しない
OWASP2021.A1.UAA - ページおよびコントローラーで authorization 属性を使用する
OWASP2021.A1.UAAMC - 認可属性がコントローラーと一致していることを確認する
OWASP2021.A1.VAFT - POST メソッドでは anti-forgery 属性を使用する
OWASP2021.A1.VLT - 使用する前にショートカットのターゲット パスを検証する
OWASP2021.A2.ACCA - カスタム暗号化アルゴリズムの使用を避ける
OWASP2021.A2.RSAKS - 2048 ビット以上の RSA キーを使用する
OWASP2021.A2.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
OWASP2021.A3.AXSSE - Web.config ファイルで anti-XSS 防御を有効化する
OWASP2021.A3.CSP - Web.config ファイルで Content Security Policy を有効化する
OWASP2021.A4.RSFSS - SecureString から文字列を再作成しない
OWASP2021.A4.SDE - 例外に機密データを含めない
OWASP2021.A4.SSFP - パスワードには String ではなく SecureString を使用する
OWASP2021.A5.NCSAE - 'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける
OWASP2021.A5.NTSAE - 'Exception'、'SystemException'、'AppicationException' をスローしてはならない
OWASP2021.A5.PDTDP - DTD 処理を防ぐ
OWASP2021.A7.IIPHEU - セキュリティ上の決定を行う際に逆引き DNS に依存しない
OWASP2021.A7.ISE - セッション有効期限が適切であるようにする
OWASP2021.A7.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
OWASP2021.A8.IIDC - NonSerialized フィールドを持つクラスで IDeserializationCallback を実装する
OWASP2021.A8.IREC - 完全性のチェックを行わずに外部コードを実行しない
OWASP2021.A8.PBRTE - 必ず実行コマンドへの絶対パスを指定する
OWASP2021.A8.UIS - 標準パターンを使用して ISerializable を実装する
OWASP2021.A9.ALSI - 機密情報をログに記録しない
OWASP2021.A9.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
PB.ACDE - Application.DoEvents() メソッドを呼び出さない
PB.AIHUE - HttpResponse メソッドで不適切な HTML または URL エンコーディングを使用しない
PB.AIOAC - 代入および比較式で整数オーバーフローが発生する可能性を避ける
PB.CFF - 複合書式機能の引数の数を検証する
PB.DNCF - 浮動小数点型の等価を比較しない
PB.EMPTYMETHODS - 空のメソッドを避ける
PB.II.TODO - コメントにタスク タグが含まれていないことを確認する
PB.INOE - String.IsNullOrEmpty を使用して string が null または empty かどうかをチェックする
PB.OCTESC* - 疑わしい 8 進数エスケープを避ける
PB.STATICFLD - static でないメソッドから static フィールドに書き込まない
PB.THROWFIN - finally ブロックで throw 文を使用しない
PCIDSS32.6510.ISE - セッション有効期限が適切であるようにする
PCIDSS32.6510.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
PCIDSS32.652.AUK - 'unsafe' キーワードを避ける
PCIDSS32.653.ACCA - カスタム暗号化アルゴリズムの使用を避ける
PCIDSS32.653.RSFSS - SecureString から文字列を再作成しない
PCIDSS32.653.SSFP - パスワードには String ではなく SecureString を使用する
PCIDSS32.653.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
PCIDSS32.654.RSFSS - SecureString から文字列を再作成しない
PCIDSS32.654.SSFP - パスワードには String ではなく SecureString を使用する
PCIDSS32.655.ATA - 運用コードで Trace.Assert() メソッドを使用しない
PCIDSS32.655.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
PCIDSS32.655.NCSAE - 'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける
EXCEPT.NTSAE - 'Exception'、'SystemException'、'AppicationException' をスローしてはならない
PCIDSS32.657.AXSSE - Web.config ファイルで anti-XSS 防御を有効化する
PCIDSS32.657.CSP - Web.config ファイルで Content Security Policy を有効化する
PCIDSS32.658.AAM - MVC Core に認可サービスを追加する
PCIDSS32.658.AUEP - 昇格された権限の使用を避ける
PCIDSS32.658.PBRTE - 必ず実行コマンドへの絶対パスを指定する
PCIDSS32.658.UAA - ページおよびコントローラーで authorization 属性を使用する
PCIDSS32.658.UAAMC - 認可属性がコントローラーと一致していることを確認する
PCIDSS32.659.VAFT - POST メソッドでは anti-forgery 属性を使用する
PCIDSS40.6242.AIWIL - ループでのインデクサーのラップアラウンドを避ける
PCIDSS40.6242.AUK - 'unsafe' キーワードを避ける
PCIDSS40.6243.ACCA - カスタム暗号化アルゴリズムの使用を避ける
PCIDSS40.6243.RSFSS - SecureString から文字列を再作成しない
PCIDSS40.6243.SSFP - パスワードには String ではなく SecureString を使用する
PCIDSS40.6243.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
PCIDSS40.6244.ATA - 運用コードで Trace.Assert() メソッドを使用しない
PCIDSS40.6244.AXSSE - Web.config ファイルで anti-XSS 防御を有効化する
PCIDSS40.6244.CSP - Web.config ファイルで Content Security Policy を有効化する
PCIDSS40.6244.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
PCIDSS40.6244.NCSAE - 'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける
PCIDSS40.6244.NTSAE - 'Exception'、'SystemException'、'AppicationException' をスローしてはならない
PCIDSS40.6244.SDE - 例外に機密データを含めない
PCIDSS40.6245.AAM - MVC Core に認可サービスを追加する
PCIDSS40.6245.AUEP - 昇格された権限の使用を避ける
PCIDSS40.6245.DNICV - SSL 証明書の検証を無効化しない
PCIDSS40.6245.IIPHEU - セキュリティ上の決定を行う際に逆引き DNS に依存しない
PCIDSS40.6245.ISE - セッション有効期限が適切であるようにする
PCIDSS40.6245.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
PCIDSS40.6245.PBRTE - 必ず実行コマンドへの絶対パスを指定する
PCIDSS40.6245.UAA - ページおよびコントローラーで authorization 属性を使用する
PCIDSS40.6245.UAAMC - 認可属性がコントローラーと一致していることを確認する
SEC.ACCA - カスタム暗号化アルゴリズムの使用を避ける
SEC.ACWNS - 名前空間のないクラスがあるべきではない
SEC.AFNRO* - readonly として宣言された配列フィールドを検査する
SEC.AIWIL - ループでのインデクサーのラップアラウンドを避ける
SEC.ALSI - 機密情報をログに記録しない
SEC.APDM - 潜在的に危険なメソッドの使用を避ける
SEC.APTIF* - 信頼性のないクラスからアクセスされる可能性がある protected インスタンス フィールドを使用しない
SEC.ASNRF* - readonly でない static フィールドを検査し、readonly にすることを検討する
SEC.ATA - 運用コードで Trace.Assert() メソッドを使用しない
SEC.AUEP - 昇格された権限の使用を避ける
SEC.AUIC* - 信頼性のないクラスからのアクセスを防ぐため public 内部クラスを使用しない
SEC.AUSD - System.DateTime 型の変数の使用がセキュリティ ホールの原因にならないかどうかを検査する
SEC.HPTR* - ポインター型フィールドを private にする
SEC.IREC - 完全性のチェックを行わずに外部コードを実行しない
SEC.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
SEC.MCMF* - セキュリティ確保のため、 Clone( ) メソッドを virtual にしない
SEC.PBRTE - 必ず実行コマンドへの絶対パスを指定する
SEC.SMIII* - internal インターフェイスを実装するメソッドをシールする
SEC.RSAKS - 2048 ビット以上の RSA キーを使用する
SEC.SDE - 例外に機密データを含めない
SEC.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
SEC.VLT - 使用する前にショートカットのターゲット パスを検証する
SEC.WEB.AAM - MVC Core に認可サービスを追加する
SEC.WEB.AXSSE - Web.config ファイルで anti-XSS 防御を有効化する
SEC.WEB.CSP - Web.config ファイルで Content Security Policy を有効化する
SEC.WEB.DNICV - SSL 証明書の検証を無効化しない
SEC.WEB.IIPHEU - セキュリティ上の決定を行う際に逆引き DNS に依存しない
SEC.WEB.ISE - セッション有効期限が適切であるようにする
SEC.WEB.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
SEC.WEB.UAA - ページおよびコントローラーで authorization 属性を使用する
SEC.WEB.UAAMC - 認可属性がコントローラーと一致していることを確認する
SEC.WEB.UHCF - HttpClient オブジェクトを作成することで HttpClient クラスをインスタンス化しない
SEC.WEB.VAFT - POST メソッドでは anti-forgery 属性を使用する
SEC.XXE.PDTDP - DTD 処理を防ぐ
SERIAL.GETOBJ* - ISerializable.GetObjectData を実装する場合は WriteObjectdata を呼び出す
SERIAL.XML.SOAFAP - XmlElementAttribute で使用される型と、シリアライズされるフィールド/プロパティの型が必ず互換性を持つようにする
SPR.HARDCONN* - 接続文字列をハードコーディングしない
SPR.SELSPLAT* - select * 文を使用しない
VB.BRM.ES - 空の文字列には string.Empty を使用する
VB.BRM.PNPT - プリミティブ型に対して推奨される名前を使用する
VB.PB.DEFSWITCH - 各 Select Case 文には Case Else を用意する
VVSG.11_1_B.ALSI - 機密情報をログに記録しない
VVSG.11_3_1_A.AAM - MVC Core に認可サービスを追加する
VVSG.11_3_1_A.UAA - ページおよびコントローラーで authorization 属性を使用する
VVSG.11_3_1_A.UAAMC - 認可属性がコントローラーと一致していることを確認する
VVSG.11_4_A.AUEP - 昇格された権限の使用を避ける
VVSG.11_4_A.UAA - ページおよびコントローラーで authorization 属性を使用する
VVSG.11_5_A.ISE - セッション有効期限が適切であるようにする
VVSG.11_5_C.LUAFLA - ログインの試行が失敗したあとにユーザーをロックアウトする
VVSG.13_3_C.RSAKS - 2048 ビット以上の RSA キーを使用する
VVSG.13_3_C.UOWR - RSA アルゴリズム暗号化を使用して OAEP を使用する
VVSG.14_2_G.AUPM - 未使用の private メソッドを避ける
VVSG.14_2_G.NACC - アクセスできないクラスおよび構造体を避ける
VVSG.14_2_G.UC - 到達できないコードを避ける
VVSG.14_2_G.USCCC - 条件内の到達できないコードを避ける
VVSG.2_5_2_A.IREC - 完全性のチェックを行わずに外部コードを実行しない
VVSG.2_5_2_A.VAFT - POST メソッドでは anti-forgery 属性を使用する
VVSG.2_5_2_A.VLT - 使用する前にショートカットのターゲット パスを検証する
VVSG.2_5_4_C.AUK - 'unsafe' キーワードを避ける
VVSG.2_5_4_F.AIOAC - 代入および比較式で整数オーバーフローが発生する可能性を避ける
VVSG.2_5_4_F.AIWIL - ループでのインデクサーのラップアラウンドを避ける
VVSG.2_5_4_I.CNFA - as 演算子を使用したら null チェックを行う
VVSG.2_5_4_J.DDFODB - 'Dispose(bool)' メソッドでは、入力パラメーターを使用して本当に破棄するかどうかをチェックする
VVSG.3_1_1_C.MSC - メンバーにはコメントを付けるべきである
VVSG.3_1_1_C.TSC - 型にはコメントを付けるべきである
VVSG.5_2_B.ITT - 文字列リテラルを国際化するべきである