以下のルールは CQA モードで有効にできます。
BD.API.ARGWRITE - write() メソッドが 0 から 255 の範囲外の整数を出力すると信頼してはならない
BD.API.EQNULL - Object.equals(Object) の実装が null 値を適切に処理していることを確認する
BD.API.EQREFL - Object.equals(Object) の実装が再帰的であることを確認する
BD.CO.ITMOD - コレクションを反復処理中に変更しない
BD.EXCEPT.NP - NullPointerException を避ける
BD.OPT.INEFCOL - Collection 要素の非効率な削除を防止する
BD.OPT.INEFMAP - Map エントリの非効率な反復を防止する
BD.OPT.INEFMAPRM - Map エントリの非効率な削除を防止する
BD.PB.ARRAY - 配列の境界を超えてアクセスしてはならない
BD.PB.ARRAYINP - 未検証の入力を配列インデックスとして使用しない
BD.PB.BADSHIFT - 誤ったシフト演算を避ける
BD.PB.CC - 常に同じ値に評価される条件式を避ける
BD.PB.CHECKRET - 非 void メソッドの戻り値を必ずチェックする
BD.PB.DEREF - null チェックの前に間接参照しない
BD.PB.EXCEPT - 例外を常にキャッチする
BD.PB.GETPERM - ユーザー定義のクラス ローダーが適用される場合、getPermission() メソッドの呼び出しが想定される
BD.PB.INFREC - 無限の再帰を避ける
BD.PB.INTOVERF - 整数のオーバーフローを避ける
BD.PB.MULBUF - 単一のバイト ストリームまたは文字ストリームに複数のバッファー付きラッパーを作成してはならない
BD.PB.NOTEXPLINIT - 明示的に初期化する前の使用を避ける
BD.PB.NOTINITCTOR - コンストラクターおよび静的イニシャライザーで初期化する前にフィールドを使用しない
BD.PB.PBIOS - 外部プロセスが入力および出力ストリームをブロックするのを防ぐ
BD.PB.POVR - 使用前にメソッド パラメーターを上書きすることを避ける
BD.PB.RECFUN - メソッドは直接的にも間接的にも自分自身を呼び出してはならない
BD.PB.REVOBJ - メソッドが失敗したときに元のオブジェクトの状態を復元する
BD.PB.SBONE - StringBuilder/StringBuffer オブジェクトを適切に使用する
BD.PB.STRNULL - 文字列に null を付加しない
BD.PB.SWITCH - switch 文には到達できないブランチがあってはならない
BD.PB.VOVR - 未使用の値を避ける
BD.PB.VREADOB - JreadObject() メソッドからオーバーライド可能なメソッドを呼び出さない
BD.PB.ZERO - ゼロによる除算を避ける
BD.RES.FREE - 解放されたリソースを使用してはならない
BD.RES.LEAKS - リソースが割り当て解除されていることを確認する
BD.SECURITY.BUFEXP - バッファーによってラップされたデータを信頼されていないコードに公開しない
BD.SECURITY.CANPATH - パスを標準化してから検証するべきである
BD.SECURITY.CUSTOM - セキュリティ脆弱性を防ぐ (カスタム ルール)
BD.SECURITY.EACM - 危険なメソッドの引数を検証メソッドでカプセル化する
BD.SECURITY.FPEXC - 例外値がないか浮動小数点値の入力をチェックする
BD.SECURITY.LOG - 未検証のバイナリ データをログ記録メソッドに渡さない
BD.SECURITY.PRIVIL - 特権付きのブロックで汚染されたデータを処理するのを避ける
BD.SECURITY.REMTMP - 終了の前に一時ファイルを削除する
BD.SECURITY.SENS - 機密データの公開を防止する
BD.SECURITY.SIGCLASS - URLClassLoader および java.util.jar が提供するデフォルトの自動シグニチャ検証に依存しない
BD.SECURITY.SSSD - 機密データを安全にシリアライズする
BD.SECURITY.TDALLOC - メモリ割り当サイズの決定に使用する前に、汚染されている可能性があるデータを検証する
BD.SECURITY.TDCMD - コマンド インジェクションから防御する
BD.SECURITY.TDCODE - コードを生成するメソッドで使用する前に、汚染されている可能性があるデータを検証する
BD.SECURITY.TDDIG - Jakarta Digester インジェクションから防御する
BD.SECURITY.TDENV - 環境に対するインジェクションから防御する
BD.SECURITY.TDFILES - ファイルに対するインジェクションから防御する
BD.SECURITY.TDFNAMES - ファイル名インジェクションから防御する
BD.SECURITY.TDINPUT - フォーマット文字列からサニタイズされていないユーザー入力を除外する
BD.SECURITY.TDJXPATH - JXPath インジェクションから防御する
BD.SECURITY.TDLDAP - LDAP インジェクションから防御する
BD.SECURITY.TDLIB - ライブラリ インジェクションから防御する
BD.SECURITY.TDLOG - ログの偽造から防御する
BD.SECURITY.TDNET - ネットワーク リソース インジェクションから防御する
BD.SECURITY.TDPASSWD - 保護されていない認証情報の使用から保護する
BD.SECURITY.TDRESP - HTTP レスポンス分割から防御する
BD.SECURITY.TDRFL - Reflection インジェクションから防御する
BD.SECURITY.TDSESSION - 信頼されていないデータを HTTP セッションに格納しない
BD.SECURITY.TDSQL - SQL インジェクションから防御する
BD.SECURITY.TDXML - XML データ インジェクションから防御する
BD.SECURITY.TDXPATH - XPath インジェクションから防御する
BD.SECURITY.TDXSS - XSS 脆弱性から防御する
BD.SECURITY.VPPD - すべての危険なデータを検証する
BD.SECURITY.XMLVAL - 信頼されていない XML を読み取る前にスキーマまたは DTD を使用して検証する
BD.TRS.DIFCS - 変数は単一のクリティカル セクションのコンテキストで使用するべきである
BD.TRS.DLOCK - 二重ロックを避ける
BD.TRS.INSTLOCK - 共有の静的データを保護するためにインスタンス ロックを使用しない
BD.TRS.LOCK - 解放されていないロックを放棄してはならない
BD.TRS.ORDER - 異なる順序でロックを獲得しない
BD.TRS.TSHL - ロックを保持しているときにブロッキング メソッドを使用してはならない
BEAN.BLNC - JavaBean クラスでリスナー メソッド名のシグニチャを推進する
BEAN.EQUALS - JavaBean クラスは常に Object.equals () をオーバーライドする
BEAN.JDBC - JavaBean クラスで JDBC コードを使用することを避ける
BEAN.NFM - インスタンス フィールドは get および set メソッドを持たなければならない
BEAN.SERIALIZABLE - JavaBean クラスは java.io.Serializable を実装しなければならない
CDD.DFI - コンストラクターでフィールド初期化の重複を避ける
CDD.DUPC - コードの重複を避ける
CDD.DUPI - 重複した import ステートメントを避ける
CDD.DUPM - メソッドの重複を避ける
CDD.DUPS - 文字列リテラルの重複を避ける
CDD.DUPT - クラスの重複を避ける
CODSTA.BP.ABCL - ラベル付きの break または continue を避ける
CODSTA.BP.AMRO - Object を返すメソッドを宣言しない
CODSTA.BP.ARM - リフレクション メソッドを使用しない
CODSTA.BP.ARN - 配列および特定の型に対して null を返すのを避ける
CODSTA.BP.AULS - ラベルを使用してはいけない
CODSTA.BP.AUML - 複数のロガーの使用を避ける。代わりにロギング レベルを使用する
CODSTA.BP.AWRT - メソッドの戻り値の型にワイルドカードを使用しない
CODSTA.BP.BLK - 条件文で '{}' ブロックを使用する
CODSTA.BP.BLOCK - 不要なネストされたブロックを避ける
CODSTA.BP.CFNF - すべての大文字のフィールドは final として宣言する
CODSTA.BP.CMUTA - 不変クラスで public または protected コンストラクターを使用しない
CODSTA.BP.CONTINUE - break 文または continue 文を使用しない
CODSTA.BP.CS - 比較式では適切な側に定数を置く
CODSTA.BP.DLSF - ロガーを static final フィールドとして宣言する
CODSTA.BP.EXIT - Java 仮想マシンを終了するメソッドを呼び出してはならない
CODSTA.BP.FPF - すべての仮引数を final とする
CODSTA.BP.FQNIC - インターフェイス定数を参照する場合は、定数を宣言しているインターフェイス名を付ける
CODSTA.BP.HTV - Hashtable と Vector を使用しないようにする
CODSTA.BP.IMPTD - import 文でのワイルドカード (*) の使用を避けるまたは推進する
CODSTA.BP.NRVA - 可変個引数メソッドに具体化できない型を渡さない
CODSTA.BP.NTX - CODSTA.BP.NTX一般的または非チェック例外型を throw するメソッドの宣言を避ける
CODSTA.BP.OCMA - オーバーロードされたコンストラクターまたはメソッドのアクセシビリティをすべて同じにする
CODSTA.BP.PCF - private コンストラクターだけを持つクラスは final として宣言する
CODSTA.BP.PPAC - 匿名クラスに public または protected メンバーを宣言しない
CODSTA.EPC.AFP - メソッド引数に代入しない
CODSTA.EPC.AGBPT - パラメーター化された型から RAW 型への変換を避ける
CODSTA.EPC.CLNC - clone() メソッドでコンストラクターを使用しない
CODSTA.EPC.COMT - 数値の型が一致しない条件演算子を使用しない
CODSTA.EPC.IBS - 変数宣言では、byte または short 型の代わりに int 型を使用し、float 型の代わりに double 型を使用する
CODSTA.EPC.MSF - 多数の非 final static フィールドを使用してはならない
CODSTA.EPC.NCAC - abstract クラスのコンストラクターから abstract メソッドを呼び出さない
CODSTA.EPC.NCE - 一般的な型の例外や非チェック例外をキャッチしてはいけない
CODSTA.EPC.NCNFC - コンストラクターの実行中に予想外の NullPointerExceptions を引き起こす可能性があるメソッドを使用してはいけない
CODSTA.EPC.OVERLOAD - 適切にオーバーロードする
CODSTA.EPC.SCLONE - すべての clone() メソッドで super.clone() を呼び出す
CODSTA.EPC.STA - 同じジェネリック型変数を複数のメソッド引数で使用してはならない
CODSTA.EPC.UST - 文字列の構文解析には、indexOf() や substring() ではなく StringTokenizer を使用する
CODSTA.EPC.WSIM - static でないメソッドから static フィールドに書き込まない
CODSTA.OIM.AMMO - 抽象メソッドを使ってペアレント クラスの非抽象メソッドをオーバーライドしてはいけない
CODSTA.OIM.CLONE - final ではない Cloneable クラスの clone() メソッドが必ず CloneNotSupportedException を throw するようにする
CODSTA.OIM.CLONE2 - clone() メソッドを使用するのは、Cloneable インターフェイスの実装のためだけにする
CODSTA.OIM.CLONET - final ではない Cloneable クラスの clone() メソッドが必ず CloneNotSupportedException を throw するようにする
CODSTA.OIM.DVOM - toString() をオーバーライドする enum 型に、static な valueOf() メソッドを定義する
CODSTA.OIM.OTOSM - toString() をオーバーライドする
CODSTA.OIM.OVERRIDE - Object.equals() と Object.hashCode() は常に一緒にオーバーライドする
CODSTA.OIM.OVOTS - 列挙型で toString() をオーバーライドしてはいけない
CODSTA.ORG.AMOC - 1 つのファイルに複数の型を入れてはいけない
CODSTA.ORG.ASSERT - 運用コード内でアサーションを使用しない
CODSTA.ORG.DCI - インターフェイスで定数を定義する
CODSTA.ORG.DINT - インナー クラスではないクラスからインナー クラスのメソッドを呼び出さない
CODSTA.ORG.FO - クラス要素を適切な順序で並べる
CODSTA.ORG.IMP - 特定のクラスまたはパッケージをインポートするのを避ける
CODSTA.ORG.OGM - メソッドを名前別に編成する
CODSTA.ORG.ORCU - コンパイル単位要素を適切な順序で並べる
CODSTA.ORG.ORFIM - public メソッドと protected メソッドの間に finalize メソッドを置く
CODSTA.ORG.ORIMP - import 文をアルファベット順に並べる
CODSTA.ORG.PML - main () を最後に置く
CODSTA.ORG.TODOJAVA - コメントにタスク タグが含まれていないことを確認する
CODSTA.ORG.TODOPROP - コメントにタスク タグが含まれていないことを確認する
CODSTA.ORG.TODOXML - コメントにタスク タグが含まれていないことを確認する
CODSTA.ORG.UNDPN - すべての型がデフォルト以外のパッケージ名を持つようにする
CODSTA.POD.ACIAP - 定数インターフェイス アンチパターンを避ける
CODSTA.POD.ASM - 宣言しているクラスが引数の型の場合、static メソッドを避ける
CODSTA.POD.AUVT - 疎結合を実現するために、具体性がより低い型を使用する
CODSTA.POD.CHAIN - 複数のコンストラクターを持つクラスではチェーンコンストラクターを使用する
CODSTA.POD.CIOC - instanceof 比較のチェーンを避ける
CODSTA.POD.DCTOR - 可能なかぎりデフォルト コンストラクターを定義する
CODSTA.POD.IASM - static メンバーに間接的にアクセスしてはいけない
CODSTA.POD.ISACF - インターフェイスに定数を定義しない
CODSTA.POD.SMC - case 文が多すぎる/少なすぎる switch 文を避ける
CODSTA.POD.UET - 一連の static final の代わりに enum 型を使用する
CODSTA.POD.UPT - パラメーター化された型を使用する
CODSTA.READ.ABUB - プリミティブ型の自動的なボックス化/ボックス化解除に依存しない
CODSTA.READ.ACCS - 制御構造 文での複雑な条件式の使用は避ける
CODSTA.READ.AEFS - 拡張された for ループの使用を避ける/推奨する
CODSTA.READ.AFD - getter/setter メソッドを使用するのではなく、宣言している型で直接フィールドのアクセス/設定を行う
CODSTA.READ.AFQN - 完全修飾型名を使用しない
CODSTA.READ.AIC - 無名のインナー クラスを避ける
CODSTA.READ.ANL - if-else 文での負論理の使用を避ける
CODSTA.READ.ASIS - static なインポート文を使用しない
CODSTA.READ.AUTS - 不要な toString() の呼び出しを避ける
CODSTA.READ.CCB - 制御構造の末尾にコメントを付ける
CODSTA.READ.CEB - 空のブロックにコメントを付ける
CODSTA.READ.CID - ネストされた式で加算演算子または減算演算子を使用してはいけない
CODSTA.READ.CLV - ローカル変数にコメントを付ける
CODSTA.READ.CTA - 常に空の定数配列で Collection.toArray() を呼び出す
CODSTA.READ.CX - 条件演算子の使用を推進する/しない
CODSTA.READ.DOWHILE - do-while の使用を避ける
CODSTA.READ.DUN - 単一メソッドで多数の否定演算子 \"!\" を使用しない
CODSTA.READ.DVCU - 変数はできるだけ使用される場所の近くで宣言する
CODSTA.READ.ECSC - すべてのコンストラクターからスーパークラスのコンストラクターの 1 つを明示的に呼び出す
CODSTA.READ.FF - private 定数フィールドを final 宣言する
CODSTA.READ.FLV - 定数ローカル変数を final 宣言する
CODSTA.READ.HBE - 16 進の 2 進指数を避ける
CODSTA.READ.LONG - long 型の定数の最後に小文字の\"l\" または数字の \"1\" を使用しない
CODSTA.READ.MTBS - try ブロックの大きさを最小にする
CODSTA.READ.MVOS - 1 つのステートメントで複数の変数を宣言しない
CODSTA.READ.NEA - ネストされた代入または他の式に埋め込まれた代入を避ける
CODSTA.READ.NMUC - 変更されない Collection を明確にするため unmodifiable として宣言する
CODSTA.READ.NSI - static ではないイニシャライザーの使用を避ける
CODSTA.READ.PCIF - イニシャライザー、条件文、更新文のある for ループを宣言する
CODSTA.READ.PCTOR - public ではないクラスに public コンストラクターを宣言しない
CODSTA.READ.PDBB - 宣言はブロックの先頭にだけ書く
CODSTA.READ.PFL - for ループまたは while ループの使用を義務付ける
CODSTA.READ.SIE - size() と 0 を比較するのではなく、Collection および Map の isEmpty() を使用する
CODSTA.READ.UATS - this と super の使用を避けるまたは推進する
CODSTA.READ.UBL - Integer.parseInt() メソッドを使用して 2 進表記から整数値を作成してはならない
CODSTA.READ.ULIT - 数値リテラルでアンダースコア文字 (_) を使用する
CODSTA.READ.USN - リテラル定数は使用しない
CODSTA.READ.VDT - 型が異なる複数の変数を 1 つのステートメントで宣言しない
CODSTA.READ.VIFS - for ループでの初期化と更新の数を制限する
CWE.1004.SCHTTP - cookie を HttpOnly としてマークする
CWE.102.DFV - validation.xml でフォームの重複を避ける
CWE.103.CSVFV - ActionForm クラスの検証メソッドから必ず super.validate() メソッドを呼び出すこと
SECURITY.IBA.AEAF - DStruts クラスの ActionForm および DynaActionForm を継承してはいけない
CWE.106.PLUGIN - struts-config.xml にプラグインが追加されていることを確認する
CWE.109.EV - Struts の struts-config.xml でバリデーターが有効であることを確認する
CWE.111.NATIW - ネイティブ メソッドを安全にするためにラッパーを使用する
CWE.111.NATV - ユーザー定義の native メソッドを使用しない
CWE.113.TDRESP - HTTP レスポンス分割から防御する
CWE.114.APIBS - セキュリティを迂回する標準 API 呼び出しの使用を検査する
CWE.114.TDLIB - ライブラリ インジェクションから防御する
CWE.117.TDLOG - ログの偽造から防御する
CWE.119.ARRAY - 配列の境界を超えてアクセスしてはならない
CWE.119.ARRAYINP - 未検証の入力を配列インデックスとして使用しない
CWE.119.BSA - [0, 31] の範囲を超える整数をシフト量として使用しない
CWE.119.BUSSB - 外部プロセスが出力またはエラー ストリームをブロックするのを防ぐ
CWE.119.FREE - 解放されたリソースを使用してはならない
CWE.125.ARRAY - 配列の境界を超えてアクセスしてはならない
CWE.125.ARRAYINP - 未検証の入力を配列インデックスとして使用しない
CWE.129.ARRAY - 配列の境界を超えてアクセスしてはならない
CWE.129.ARRAYINP - 未検証の入力を配列インデックスとして使用しない
CWE.129.CAI - 配列にアクセスする前に、使用するパラメーターをチェックする
CWE.131.ARRAY - 配列の境界を超えてアクセスしてはならない
CWE.131.TDINPUT - フォーマット文字列からサニタイズされていないユーザー入力を除外する
CWE.15.SYSP - システム プロパティにアクセスまたは値を設定してはならない
CWE.15.UCO - Context Object を使って HTTP リクエスト パラメーターを管理する
CWE.185.REP - String.replaceAll() および String.replaceFirst() の正規表現として "." を使用しない
CWE.190.BSA - [0, 31] の範囲を超える整数をシフト量として使用しない
CWE.190.CACO - オーバーフローの原因となるかもしれない場合は複合代入演算子の使用を避ける
CWE.190.CLP - 基本データ型を精度の低い型にキャストしない
CWE.190.ICO - オーバーフローまたは NaN になる計算を避ける
CWE.190.INTOVERF - 整数のオーバーフローを避ける
CWE.190.IOF - オーバーフローの可能性がある場合、除算ではなく符号なしの右シフトを使用する
CWE.191.BSA - [0, 31] の範囲を超える整数をシフト量として使用しない
CWE.191.INTOVERF - 整数のオーバーフローを避ける
CWE.193.AOBO - ループ条件で「1 つずれる」エラーを避ける
CWE.20.AEAF - DStruts クラスの ActionForm および DynaActionForm を継承してはいけない
CWE.20.APIBS - セキュリティを迂回する標準 API 呼び出しの使用を検査する
CWE.20.ARRAY - 配列の境界を超えてアクセスしてはならない
CWE.20.ARRAYINP - 未検証の入力を配列インデックスとして使用しない
CWE.20.ARXML - ただのテキストではなくライブラリで XML および HTML を処理する
CWE.20.ASAPI - scripting API が信頼性のないコードを実行するのを防ぐ
CWE.20.BSA - [0, 31] の範囲を超える整数をシフト量として使用しない
CWE.20.BUSSB - 外部プロセスが出力またはエラー ストリームをブロックするのを防ぐ
CWE.20.CACO - オーバーフローの原因となるかもしれない場合は複合代入演算子の使用を避ける
CWE.20.CAI - 配列にアクセスする前に、使用するパラメーターをチェックする
CWE.20.CDBV - 検証の前にすべてのデータを正規化する
CWE.20.CLP - 基本データ型を精度の低い型にキャストしない
CWE.20.CSVFV - ActionForm クラスの検証メソッドから必ず super.validate() メソッドを呼び出すこと
CWE.20.DCEMSL - Seam Logging API を使用してメッセージをログに記録する場合、信頼されていない入力を使用しない
CWE.20.DFV - validation.xml でフォームの重複を避ける
CWE.20.EACM - 危険なメソッドの引数を検証メソッドでカプセル化する
CWE.20.EV - Struts の struts-config.xml でバリデーターが有効であることを確認する
CWE.20.FREE - 解放されたリソースを使用してはならない
CWE.20.ICO - オーバーフローまたは NaN になる計算を避ける
CWE.20.INTOVERF - 整数のオーバーフローを避ける
CWE.20.IOF - オーバーフローの可能性がある場合、除算ではなく符号なしの右シフトを使用する
CWE.20.NATIW - ネイティブ メソッドを安全にするためにラッパーを使用する
CWE.20.NATV - ユーザー定義の native メソッドを使用しない
CWE.20.PLUGIN - struts-config.xml にプラグインが追加されていることを確認する
CWE.20.SYSP - システム プロパティにアクセスまたは値を設定してはならない
CWE.20.TDCMD -コマンド インジェクションから防御する
CWE.20.TDCODE - コードを生成するメソッドで使用する前に、汚染されている可能性があるデータを検証する
CWE.20.TDDIG - Jakarta Digester インジェクションから防御する
CWE.20.TDINPUT - フォーマット文字列からサニタイズされていないユーザー入力を除外する
CWE.20.TDJXPATH - JXPath インジェクションから防御する
CWE.20.TDLDAP - LDAP インジェクションから防御する
CWE.20.TDLIB - ライブラリ インジェクションから防御する
CWE.20.TDLOG - ログの偽造から防御する
CWE.20.TDNET - ネットワーク リソース インジェクションから防御する
CWE.20.TDRESP - HTTP レスポンス分割から防御する
CWE.20.TDRFL - Reflection インジェクションから防御する
CWE.20.TDSQL - SQL インジェクションから防御する
CWE.20.TDXML - XML データ インジェクションから防御する
CWE.20.TDXPATH - XPath インジェクションから防御する
CWE.20.TDXSS - XSS 脆弱性から防御する
CWE.20.UCO - Context Object を使って HTTP リクエスト パラメーターを管理する
CWE.20.UPS - createStatement ではなく prepareCall または prepareStatement を使用する
CWE.20.VPPD - すべての危険なデータを検証する
CWE.20.VRD - すべてのリダイレクトおよびフォワード URL を検証メソッドでカプセル化する
CWE.20.XPIJ - XPath クエリーの評価での XPath インジェクションを防ぐ
CWE.200.ACPST - Throwable オブジェクトの printStackTrace() メソッドを呼び出さない
CWE.200.CONSEN - 機密情報をログに記録しない
CWE.200.EWSSEC - Spring Security フレームワークからのデバッグ情報をログに記録しない
CWE.200.FT - シリアライズ可能ではないクラスに transient フィールドを宣言しない
CWE.200.PEO - 機密情報のリークを防ぐため、例外メッセージを出力に渡してはならない
CWE.200.SENS - 機密データの公開を防止する
CWE.200.SIO - System.err または System.out の print メソッドの呼び出しを避ける
CWE.209.ACPST - Throwable オブジェクトの printStackTrace() メソッドを呼び出さない
CWE.209.PEO - 機密情報のリークを防ぐため、例外メッセージを出力に渡してはならない
CWE.209.SENS - 機密データの公開を防止する
CWE.209.SIO - System.err または System.out の print メソッドの呼び出しを避ける
CWE.212.FT - シリアライズ可能ではないクラスに transient フィールドを宣言しない
CWE.213.CONSEN - 機密情報をログに記録しない
CWE.215.EWSSEC - Spring Security フレームワークからのデバッグ情報をログに記録しない
CWE.22.TDFNAMES - ファイル名インジェクションから防御する
CWE.245.JDBCTEMPLATE - ネイティブ JDBC の使用を避ける
CWE.246.AUS - EJB でソケットを使用しない
CWE.246.NSF - Web コンポーネントで Socket.setSocketImplFactory() または URL.setURLStreamHandlerFactory() を呼び出さない
CWE.246.SS - Web コンポーネントでソケットを使用しない
CWE.250.LDP - 1 クラスあたりの AccessController.doPrivileged の呼び出しの数を制限する
CWE.250.PCL - 「特権付き」コード ブロックの行数を制限する
CWE.252.CHECKRET - 非 void メソッドの戻り値を必ずチェックする
CWE.252.CRRV - 読み込みまたはスキップを行うメソッドの戻り値を確認する
CWE.256.PCCF - Castor の jdo-conf.xml でユーザー名およびパスワードをプレーン テキストに保存しない
CWE.256.PLAIN - パスワード情報がプレーンテキストでプロパティ ファイルに含まれていてはならない
CWE.256.PTPT - Axis の wsdd ファイルでプレーン テキストのパスワードを使用しない
CWE.256.PWDPROP - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.256.PWDXML - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.256.TDPASSWD - 保護されていない認証情報の使用から保護する
CWE.256.UPWD - 暗号化されていない Hibernate ユーザ名およびパスワードを web.xml ファイルに保存しない
CWE.256.UTAX - Axis2 構成ファイルでプレーン テキストのパスワードを使用しない
CWE.256.WCPWD - WebSphere の ibm-webservicesclient-ext.xmi ファイルの設定でパスワードを暗号化する
CWE.256.WPWD - WebSphere の ibm-webservices-ext.xmi ファイルの設定でパスワードを暗号化する
CWE.258.PWDPROP - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.260.UTAX - Axis2 構成ファイルでプレーン テキストのパスワードを使用しない
CWE.261.CKTS - 短すぎる暗号化キーを避ける
CWE.269.DPANY - ANYONE ロールに EJB のアクセス パーミッションを与えない
CWE.269.LDP - 1 クラスあたりの AccessController.doPrivileged の呼び出しの数を制限する
CWE.269.PCL - 「特権付き」コード ブロックの行数を制限する
CWE.287.CAM - すべての認証メソッドを集中化して一貫性を徹底する
CWE.287.CKTS - 短すぎる暗号化キーを避ける
CWE.287.DNSL - 意思決定のための DNS ルックアップを避ける
CWE.287.HCCK - ハード コーディングされた暗号化キーの使用を避ける
CWE.287.HCCS - ハードコーディングされたユーザー名/パスワード/URL をデータベース接続メソッドに渡すことを避ける
CWE.287.HV - HostnameVerifier.verify() メソッドが証明書を検証していることを確認する
CWE.287.MLVP - validation.xml ファイルのパスワード フィールドに minlength バリデーターを使用する
CWE.287.PCCF - Castor の jdo-conf.xml でユーザー名およびパスワードをプレーン テキストに保存しない
CWE.287.PLAIN - パスワード情報がプレーンテキストでプロパティ ファイルに含まれていてはならない
CWE.287.PTPT - Axis の wsdd ファイルでプレーン テキストのパスワードを使用しない
CWE.287.PWDPROP - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.287.PWDXML - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.287.SSM - 適切なセキュリティ マネージャーを設定する
CWE.287.TDPASSWD - 保護されていない認証情報の使用から保護する
CWE.287.UOSC - getSecure() および setSecure() メソッドを使ってセキュアな Cookie の使用を推進する
CWE.287.UPWD - 暗号化されていない Hibernate ユーザ名およびパスワードを web.xml ファイルに保存しない
CWE.287.USC - 可能であれば SSL を利用できるクラスを使用する
CWE.287.UTAX - Axis2 構成ファイルでプレーン テキストのパスワードを使用しない
CWE.287.VSI - サーバー識別子を適切に検証する
CWE.287.WCPWD - WebSphere の ibm-webservicesclient-ext.xmi ファイルの設定でパスワードを暗号化する
CWE.287.WPWD - WebSphere の ibm-webservices-ext.xmi ファイルの設定でパスワードを暗号化する
CWE.295.HV - HostnameVerifier.verify() メソッドが証明書を検証していることを確認する
CWE.297.VSI - サーバー識別子を適切に検証する
CWE.306.CAM - すべての認証メソッドを集中化して一貫性を徹底する
CWE.306.SSM - 適切なセキュリティ マネージャーを設定する
CWE.306.UOSC - getSecure() および setSecure() メソッドを使ってセキュアな Cookie の使用を推進する
CWE.306.USC - 可能であれば SSL を利用できるクラスを使用する
CWE.309.MLVP - validation.xml ファイルのパスワード フィールドに minlength バリデーターを使用する
CWE.311.HTTPS - axis2.xml 構成ファイルの transportReceiver および transportSender で http ではなく https を使用する
CWE.311.PLAIN - パスワード情報がプレーンテキストでプロパティ ファイルに含まれていてはならない
CWE.311.PWDPROP - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.311.PWDXML - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.311.SENS - 機密データの公開を防止する
CWE.311.USC - 可能であれば SSL を利用できるクラスを使用する
CWE.312.PWDPROP - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.313.PLAIN - パスワード情報がプレーンテキストでプロパティ ファイルに含まれていてはならない
CWE.315.PLC - 機密データを cookie にプレーンテキストで格納してはならない
CWE.319.HCNA - IP アドレスとポート番号をハード コーディングしてはいけない
CWE.321.HCCK - ハード コーディングされた暗号化キーの使用を避ける
CWE.325.MCMDU - MessageDigest オブジェクトは 'update' メソッドでデータを処理する必要がある
CWE.325.SIKG - KeyGenerator インスタンスを初期化する
CWE.326.AISSAJAVA - Spring でのデータ暗号化で、セキュアではない暗号化アルゴリズムを使用しない
CWE.326.AISSAXML - Spring XML 設定ファイルで、セキュアではない暗号化アルゴリズムを使用しない
CWE.326.AUNC - 非テスト クラスでの javax.crypto.NullCipher クラスの使用を避ける
CWE.326.CKTS - CWE.326.CKTS - 短すぎる暗号化キーを避ける
CWE.326.ICA - 安全でないアルゴリズムを暗号化のために使用しない
CWE.326.MDSALT - ハッシュ関数は salt とともに使用する
CWE.326.SRD - java.util.Random または Math.random() の代わりに java.security.SecureRandom を使用する
CWE.327.ACMD - MessageDigest のカスタム実装の使用を避ける
CWE.327.AISSAJAVA - Spring でのデータ暗号化で、セキュアではない暗号化アルゴリズムを使用しない
CWE.327.AISSAXML - Spring XML 設定ファイルで、セキュアではない暗号化アルゴリズムを使用しない
CWE.327.AUNC - 非テスト クラスでの javax.crypto.NullCipher クラスの使用を避ける
CWE.327.ICA - 安全でないアルゴリズムを暗号化のために使用しない
CWE.327.SRD - java.util.Random または Math.random() の代わりに java.security.SecureRandom を使用する
CWE.328.AISSAJAVA - Spring でのデータ暗号化で、セキュアではない暗号化アルゴリズムを使用しない
CWE.328.AISSAXML - Spring XML 設定ファイルで、セキュアではない暗号化アルゴリズムを使用しない
CWE.328.AUNC - 非テスト クラスでの javax.crypto.NullCipher クラスの使用を避ける
CWE.328.ICA - 安全でないアルゴリズムを暗号化のために使用しない
CWE.328.MDSALT - ハッシュ関数は salt とともに使用する
CWE.328.SRD - java.util.Random または Math.random() の代わりに java.security.SecureRandom を使用する
CWE.329.ENPP - 特定のメソッドに渡される引数が事前に定義されたメソッドのリストからきていることを確認する
CWE.329.IVR - IvParameterSpec を使用する際はランダムではない byte[] を避ける
CWE.336.ENPP - 特定のメソッドに渡される引数が事前に定義されたメソッドのリストからきていることを確認する
CWE.337.ENPP - 特定のメソッドに渡される引数が事前に定義されたメソッドのリストからきていることを確認する
CWE.338.SRD - java.util.Random または Math.random() の代わりに java.security.SecureRandom を使用する
CWE.347.VJFS - 必ず JarFile シグニチャを検証する
CWE.350.DNSL - 意思決定のための DNS ルックアップを避ける
CWE.352.DCSRFJAVA - CSRF 防護を無効にしない
CWE.352.DCSRFXML - CSRF 防護を無効にしない
CWE.352.EACM - 危険なメソッドの引数を検証メソッドでカプセル化する
CWE.352.REQMAP - @RequestMapping アノテーションがあるメソッドに呼び出す HTTP メソッドが指定されていることを確認する
CWE.352.TDRESP - HTTP レスポンス分割から防御する
CWE.352.TDXSS - XSS 脆弱性から防御する
CWE.352.UOSC - getSecure() および setSecure() メソッドを使ってセキュアな Cookie の使用を推進する
CWE.352.VPPD - すべての危険なデータを検証する
CWE.359.CONSEN - 機密情報をログに記録しない
CWE.362.DCL - 安全ではない「ダブルチェック ロッキング」パターンの実装を避ける
CWE.366.TSHL - ロックを保持しているときにブロッキング メソッドを使用してはならない
CWE.367.TOCTOU - Time-of-check Time-of-use (TOCTOU) 競合状況を避ける
CWE.369.ZERO - ゼロによる除算を避ける
CWE.375.RA - 配列や他の可変フィールドの返却によって内部表現を公開するかもしれないメソッドは避ける
CWE.377.ATF - テンポラリ ファイルを使用しない
CWE.382.EXIT - Java 仮想マシンを終了するメソッドを呼び出してはならない
CWE.382.JVM - Web コンポーネントで JVM を停止しない
CWE.383.THR - Web コンポーネントでスレッドを使用しない
CWE.384.ISL - LoginContext.login() の前に必ず HttpSession.invalidate() を呼び出すこと
CWE.390.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
CWE.391.AECB - 空の try、catch、finally ブロックを避ける
CWE.395.NCNPE - NullPointerException をキャッチしてはいけない
CWE.396.NCE - 一般的な型の例外や非チェック例外をキャッチしてはいけない
CWE.397.NTERR - 一般的な例外または非チェック例外を throw しない
CWE.397.NTX - CODSTA.BP.NTX一般的または非チェック例外型を throw するメソッドの宣言を避ける
CWE.401.LML - サーブレットではサイズの制限がない Collection の使用を避ける
CWE.404.COCO - 正しい順序で JDBC オブジェクトをクローズする
CWE.404.CRWD - できるだけ早くリソースをクローズする
CWE.404.ODBIL - ループ中で JDBC 接続をオープン/クローズしてはいけない
CWE.413.LORD - ネストされたロックの順序が正しいことを確認する
CWE.416.FREE - 解放されたリソースを使用してはならない
CWE.426.PBRTE - 必ず実行コマンドへの絶対パスを指定する
CWE.434.TDFNAMES - ファイル名インジェクションから防御する
CWE.456.LV - 宣言文ですべてのローカル変数を明示的に初期化する
CWE.457.NOTEXPLINIT - 明示的に初期化する前の使用を避ける
CWE.457.NOTINITCTOR - コンストラクターおよび静的イニシャライザーで初期化する前にフィールドを使用しない
CWE.457.NP - NullPointerException を避ける
CWE.459.LEAKS - リソースが割り当て解除されていることを確認する
CWE.470.APIBS - セキュリティを迂回する標準 API 呼び出しの使用を検査する
CWE.470.TDRFL - Reflection インジェクションから防御する
CWE.476.DEREF - null チェックの前に間接参照しない
CWE.476.NP - NullPointerException を避ける
CWE.477.DPRAPI - 非推奨の API を使用しない
CWE.478.PDS - 各 switch 文に default: を用意する
CWE.481.ASI - 条件の中で代入しない
CWE.483.BLK - 条件文で '{}' ブロックを使用する
CWE.483.EB - 本体が空の制御文を避ける
CWE.483.EBI - 誤って文をブロックの外に置くのを避ける
CWE.484.DAV - switch 文の case のフォールスルーで同じ変数に代入してはならない
CWE.484.SBC - 不正な case を含む switch 文を避ける
CWE.486.AUG - java.lang.Class オブジェクトの getName() メソッドの使用を検査する
CWE.486.CMP - クラス オブジェクトを名前で比較しない
CWE.487.AF - public/ protected/ package-private フィールドを避ける
CWE.491.CLONE - セキュリティのために clone () を final 宣言する
CWE.495.RA - 配列や他の可変フィールドの返却によって内部表現を公開するかもしれないメソッドは避ける
CWE.496.CAP - フィールドに格納される配列引数を必ず複製する
CWE.497.PEO - 機密情報のリークを防ぐため、例外メッセージを出力に渡してはならない
CWE.497.SENS - 機密データの公開を防止する
CWE.499.SER - クラスはシリアライズ不可にする
CWE.499.SIF - serializable オブジェクトのインスタンス フィールドをチェックして機密データを公開していないことを確認する
CWE.500.SPFF - static final 宣言が意図されていた可能性のある static フィールドを検査する
CWE.501.TDSESSION - 信頼されていないデータを HTTP セッションに格納しない
CWE.502.AUXD - XMLDecoder で信頼されていないデータを解析しない
CWE.502.MASP - serializable クラスの readResolve() と writeReplace() メソッドには、protected アクセシビリティを指定する
CWE.502.RWAF - すべてのフィールドを readObject() メソッドによって代入し writeObject() によって書き出す
CWE.502.SC - LDAP のデシリアライズを無効化する
CWE.502.SSSD - 機密データを安全にシリアライズする
CWE.502.VOBD - デシリアライズの前にオブジェクトを検証する
CWE.506.HCCK - ハード コーディングされた暗号化キーの使用を避ける
CWE.511.RDM - Random オブジェクトまたは Math.random() メソッドを調査して悪意のあるコードがないことを検証する
CWE.521.MLVP - validation.xml ファイルのパスワード フィールドに minlength バリデーターを使用する
CWE.522.PCCF - Castor の jdo-conf.xml でユーザー名およびパスワードをプレーン テキストに保存しない
CWE.522.PLAIN - パスワード情報がプレーンテキストでプロパティ ファイルに含まれていてはならない
CWE.522.PTPT - Axis の wsdd ファイルでプレーン テキストのパスワードを使用しない
CWE.522.PWDPROP - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.522.PWDXML - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.522.TDPASSWD - 保護されていない認証情報の使用から保護する
CWE.522.UPWD - 暗号化されていない Hibernate ユーザ名およびパスワードを web.xml ファイルに保存しない
CWE.522.USC - 可能であれば SSL を利用できるクラスを使用する
CWE.522.UTAX - Axis2 構成ファイルでプレーン テキストのパスワードを使用しない
CWE.522.WCPWD - WebSphere の ibm-webservicesclient-ext.xmi ファイルの設定でパスワードを暗号化する
CWE.522.WPWD - WebSphere の ibm-webservices-ext.xmi ファイルの設定でパスワードを暗号化する
CWE.523.USC - 可能であれば SSL を利用できるクラスを使用する
CWE.532.CONSEN - 機密情報をログに記録しない
CWE.543.IASF - 同期化が必要な可能性のある static フィールドへのアクセスを検査する
CWE.543.ILII - スレッドセーフな遅延初期化にする
CWE.546.TODOJAVA - コメントにタスク タグが含まれていないことを確認する
CWE.546.TODOPROP - コメントにタスク タグが含まれていないことを確認する
CWE.546.TODOXML - コメントにタスク タグが含まれていないことを確認する
CWE.555.PWDXML - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.555.UPWD - 暗号化されていない Hibernate ユーザ名およびパスワードを web.xml ファイルに保存しない
CWE.561.CC - 常に同じ値に評価される条件式を避ける
CWE.561.DEREF - null チェックの前に間接参照しない
CWE.561.PM - 未使用の private メソッドを避ける
CWE.561.SWITCH - switch 文には到達できないブランチがあってはならない
CWE.563.AURV - 決して読まれないローカル変数の使用を避ける
CWE.563.PF - 未使用の private フィールドを避ける
CWE.563.POVR - 使用前にメソッド パラメーターを上書きすることを避ける
CWE.563.UP - 使用されないパラメーターを避ける
CWE.563.VOVR - 未使用の値を避ける
CWE.566.AUSS - SQL クエリ内の "SELECT *" を避ける
CWE.568.FCF - finalize () から必ず super.finalize () を呼び出す
CWE.570.CC - 常に同じ値に評価される条件式を避ける
CWE.570.UCIF - 不要な if 文を避ける
CWE.571.CC - 常に同じ値に評価される条件式を避ける
CWE.571.UCIF - 不要な if 文を避ける
CWE.572.IRUN - java.lang.Thread を拡張するクラスまたは java.lang.Runnable を実装するクラスで run() を直接呼び出さない
CWE.576.JIO - bean クラスで java.io パッケージの型を使用しない
CWE.577.AUS - EJB でソケットを使用しない
CWE.578.ACL - bean クラスでクラス ローダーのアクセス、使用、作成を行わない
CWE.579.SNSO - Serializable ではないオブジェクトを HttpSession 属性として格納しない
CWE.580.SCLONE - すべての clone() メソッドで super.clone() を呼び出す
CWE.581.OVERRIDE - Object.equals() と Object.hashCode() は常に一緒にオーバーライドする
CWE.582.IMM - static final フィールドを不変にする
CWE.582.PSFA - public static final 配列フィールドの使用を避ける
CWE.583.MFP - finalize() メソッドは protected で宣言する
CWE.584.ARCF - try-catch ブロック内に return 文がある場合、 finally ブロックでの return 文の使用を避ける
CWE.585.SNE - 空の synchronized 文を避ける
CWE.586.NCF - finalize () を明示的に呼び出さない
CWE.594.SIVS - @Stateful bean のインスタンス変数を Serializable にする
CWE.595.UEIC - オブジェクト同士の比較に '==' または '!=' を使用しない
CWE.6.SLID - セッション ID の長さが適切であることを確認する
CWE.600.CETS - サーブレット メソッド内で throw されるすべての例外をキャッチする
CWE.601.TDNET - ネットワーク リソース インジェクションから防御する
CWE.601.TDRESP - HTTP レスポンス分割から防御する
CWE.601.UCO - Context Object を使って HTTP リクエスト パラメーターを管理する
CWE.601.VRD - すべてのリダイレクトおよびフォワード URL を検証メソッドでカプセル化する
CWE.605.HCNA - IP アドレスとポート番号をハード コーディングしてはいけない
CWE.607.IMM - static final フィールドを不変にする
CWE.607.RMO - 可変フィールドの間接参照を避ける
CWE.609.DCL - 安全ではない「ダブルチェック ロッキング」パターンの実装を避ける
CWE.611.DXXE - XML 外部エンティティ インジェクションを無効化する
CWE.611.XMLVAL - 信頼されていない XML を読み取る前にスキーマまたは DTD を使用して検証する
CWE.613.RUIM - セッション有効期限が適切であるようにする
CWE.613.STTL - 'web.xml' ファイルでセッションがタイム アウトするよう設定されていることを確認する
CWE.614.UOSC - getSecure() および setSecure() メソッドを使ってセキュアな Cookie の使用を推進する
CWE.617.ASSERT - 運用コード内でアサーションを使用しない
CWE.643.TDJXPATH - JXPath インジェクションから防御する
CWE.643.TDXPATH - XPath インジェクションから防御する
CWE.644.TDRESP - HTTP レスポンス分割から防御する
CWE.647.CDBV - 検証の前にすべてのデータを正規化する
CWE.652.TDXPATH - XPath インジェクションから防御する
CWE.652.XPIJ - XPath クエリーの評価での XPath インジェクションを防ぐ
CWE.662.DIFCS - 変数は単一のクリティカル セクションのコンテキストで使用するべきである
CWE.665.NOTEXPLINIT - 明示的に初期化する前の使用を避ける
CWE.665.NOTINITCTOR - コンストラクターおよび静的イニシャライザーで初期化する前にフィールドを使用しない
CWE.667.CLOSE - 無制限のロック リソース
CWE.667.LOCK - 解放されていないロックを放棄してはならない
CWE.674.FLRC - 無限の再帰呼び出しを行わない
CWE.676.SRD - java.util.Random または Math.random() の代わりに java.security.SecureRandom を使用する
CWE.680.BSA - [0, 31] の範囲を超える整数をシフト量として使用しない
CWE.681.CLP - 基本データ型を精度の低い型にキャストしない
CWE.681.IDCD - 整数の除算の結果を浮動小数点型の変数に代入してはいけない
CWE.690.EAR - void ではないメソッドの戻り値は、空の配列または null であってはいけない
CWE.691.ANL - if-else 文での負論理の使用を避ける
CWE.7.SEP - web.xml で必ずエラー ページを指定する
CWE.704.AGBPT - パラメーター化された型から RAW 型への変換を避ける
CWE.704.CPTS - 空文字列を連結して値を String に変換してはいけない
CWE.732.SCHTTP - cookie を HttpOnly としてマークする
CWE.755.CIET - Thread を拡張するクラス以外で InterruptedException をキャッチしない
CWE.759.MDSALT - ハッシュ関数は salt とともに使用する
CWE.764.DLOCK - 二重ロックを避ける
CWE.77.TDCMD -コマンド インジェクションから防御する
CWE.770.ISTART - Thread クラスのインスタンスに対して直接 'start()' メソッドを呼び出さない
CWE.771.LEAKS - リソースが割り当て解除されていることを確認する
CWE.772.CLOSE - 無制限のロック リソース
CWE.772.LEAKS - リソースが割り当て解除されていることを確認する
CWE.778.ENFL - すべてのセキュリティ関連メソッドの呼び出しを必ずログに記録する
CWE.78.TDCMD -コマンド インジェクションから防御する
CWE.787.ARRAY - 配列の境界を超えてアクセスしてはならない
CWE.787.ARRAYINP - 未検証の入力を配列インデックスとして使用しない
CWE.79.CDBV - 検証の前にすべてのデータを正規化する
CWE.79.EACM - 危険なメソッドの引数を検証メソッドでカプセル化する
CWE.79.TDRESP - HTTP レスポンス分割から防御する
CWE.79.TDXSS - XSS 脆弱性から防御する
CWE.79.VPPD - すべての危険なデータを検証する
CWE.798.HCCS - ハードコーディングされたユーザー名/パスワード/URL をデータベース接続メソッドに渡すことを避ける
CWE.798.PCCF - Castor の jdo-conf.xml でユーザー名およびパスワードをプレーン テキストに保存しない
CWE.798.PTPT - Axis の wsdd ファイルでプレーン テキストのパスワードを使用しない
CWE.798.PWDXML - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
CWE.798.UPWD - 暗号化されていない Hibernate ユーザ名およびパスワードを web.xml ファイルに保存しない
CWE.798.UTAX - Axis2 構成ファイルでプレーン テキストのパスワードを使用しない
CWE.798.WCPWD - WebSphere の ibm-webservicesclient-ext.xmi ファイルの設定でパスワードを暗号化する
CWE.798.WPWD - WebSphere の ibm-webservices-ext.xmi ファイルの設定でパスワードを暗号化する
CWE.8.RR - エンティティ Bean をリモートとして宣言しない
CWE.80.ARXML - ただのテキストではなくライブラリで XML および HTML を処理する
CWE.80.TDDIG - Jakarta Digester インジェクションから防御する
CWE.80.TDXML - XML データ インジェクションから防御する
CWE.806.BUSSB - 外部プロセスが出力またはエラー ストリームをブロックするのを防ぐ
CWE.807.HGRSI -'HttpServletRequest' クラスの 'getRequestedSessionId' メソッドの使用を避ける
CWE.807.PLC - 機密データを cookie にプレーンテキストで格納してはならない
CWE.807.UOSC - getSecure() および setSecure() メソッドを使ってセキュアな Cookie の使用を推進する
CWE.81.ARXML - ただのテキストではなくライブラリで XML および HTML を処理する
CWE.829.TDFILES - ファイルに対するインジェクションから防御する
CWE.829.TDFNAMES - ファイル名インジェクションから防御する
CWE.829.TDLIB - ライブラリ インジェクションから防御する
CWE.829.TDXPATH - XPath インジェクションから防御する
CWE.83.ARXML - ただのテキストではなくライブラリで XML および HTML を処理する
CWE.832.LORD - ネストされたロックの順序が正しいことを確認する
CWE.833.CSFS - デッドロック発生の原因となる synchronized メソッドからの synchronized メソッドの呼び出しを避ける
CWE.833.ORDER - 異なる順序でロックを獲得しない
CWE.833.RLF - finally ブロックでロックを解放する
CWE.833.STR - Object の this 参照で同期化を実行したりセマフォ メソッドを呼び出したりしてはいけない
CWE.833.TSHL - ロックを保持しているときにブロッキング メソッドを使用してはならない
CWE.833.UWNA - ポーリング ループではなく wait () および notifyAll () を使用する
CWE.835.AIL - 無限ループを避ける
CWE.835.PCIF - イニシャライザー、条件文、更新文のある for ループを宣言する
CWE.836.PLAIN - パスワード情報がプレーンテキストでプロパティ ファイルに含まれていてはならない
CWE.838.SEO - エンコーディング オプションの指定できないメソッドやコンストラクターの呼び出しを避ける
CWE.841.PERMIT - セキュリティ アノテーションのない EJB 3 メソッドを避ける
CWE.862.LCA - web.xml ファイルで適切な <login-config> 要素を指定して認証タイプを指定する
CWE.862.PERMIT - セキュリティ アノテーションのない EJB 3 メソッドを避ける
CWE.863.DSR - web.xml ファイルに複数のセキュリティ ロールを同じ名前で定義しない
CWE.863.SRCD - web.xml で参照されるすべてのセキュリティ ロールに対応する定義がなければならない
CWE.89.TDSQL - SQL インジェクションから防御する
CWE.89.UPS - createStatement ではなく prepareCall または prepareStatement を使用する
CWE.9.DPANY - ANYONE ロールに EJB のアクセス パーミッションを与えない
CWE.90.TDLDAP - LDAP インジェクションから防御する
CWE.91.TDXML - XML データ インジェクションから防御する
CWE.94.ASAPI - scripting API が信頼性のないコードを実行するのを防ぐ
CWE.94.DCEMSL - Seam Logging API を使用してメッセージをログに記録する場合、信頼されていない入力を使用しない
CWE.94.TDCODE - コードを生成するメソッドで使用する前に、汚染されている可能性があるデータを検証する
CWE.95.TDCODE - コードを生成するメソッドで使用する前に、汚染されている可能性があるデータを検証する
CWE.99.TDNET - ネットワーク リソース インジェクションから防御する
DBC.CPT - null を返すメソッドで事後条件 $result!=null を指定してはいけない
DBC.IGM - すべての getter メソッドには @invariant タグを使用する
DBC.IMNR - null 以外であることが保証されていない参照でメソッドを呼び出してはいけない
DBC.IPAN - null チェックを行う前に間接参照されているすべての引数に @pre != null タグを付ける
DBC.PKGC - すべての package-private クラスには @invariant タグを使用する
DBC.PKGMPOST - すべての package-private メソッドには @post タグを使用する
DBC.PKGMPRE - すべての package-private メソッドには @pre タグを使用する
DBC.PRIC - すべての private クラスには @invariant タグを使用する
DBC.PRIMPOST - すべての private メソッドには @post タグを使用する
DBC.PRIMPRE - すべての private メソッドには @pre タグを使用する
DBC.PROC - すべての protected クラスには @invariant タグを使用する
DBC.PROMPOST - すべての protected メソッドには @post タグを使用する
DBC.PROMPRE - すべての protected メソッドには @pre タグを使用する
DBC.PUBC - すべての public クラスには @invariant タグを使用する
DBC.PUBMPOST - すべての public メソッドには @post タグを使用する
DBC.PUBMPRE - すべての public メソッドには @pre タグを使用する
DBC.RCC - @pre および @post 条件の再チェックを避ける
DBC.SYNTAX - DbCでは適切なシンタックスを使用する
ECLIPSE.IPMF - MANIFEST.MF で internal パッケージをエクスポートしない
ECLIPSE.PCMF - Eclipse 3.0 の互換性のため MANIFEST.MF 内の Export-Package と Provide-Package の値を一致させる
ECLIPSE.SMF - MANIFEST.MF で Eclipse-AutoStart エントリの不足を避ける
EJB.EJB3.AIA - 無視されたまたは無効なアノテーションを避ける
EJB.EJB3.AISE - トランザクションを使用する場合は IllegalStateException を避ける
EJB.EJB3.BMN - ビジネス メソッドの名前を ejb で開始しない
EJB.EJB3.CMF - EJB Bean でアノテートされたメソッドのシグニチャが不適切
EJB.EJB3.CPIM - @AroundInvoke メソッドから InvocationContext.proceed() を呼び出す
EJB.EJB3.EAII - @AroundInvoke をビジネス インターフェイスのメソッドで公開しない
EJB.EJB3.IDA - 不適切な @Id アノテーションの使用を避ける
EJB.EJB3.IDCS - @IdClass を Serializable にし、equals() および hashCode() メソッドを定義する
EJB.EJB3.MDBS - @MessageDriven bean から他の @MessageDriven bean を拡張しない
EJB.EJB3.MDML - @MessageDriven bean で MessageListener を指定する
EJB.EJB3.MTM - 複数の @Timeout メソッドを宣言しない
EJB.EJB3.PCUN - 常に @PersistenceContext と共に unitName を指定する
EJB.EJB3.PERMIT - セキュリティ アノテーションのない EJB 3 メソッドを避ける
EJB.EJB3.RLI - 1 つのインターフェイスで @Local と @Remote の両方を指定しない
EJB.EJB3.RMSB - @Stateful bean で @Remove メソッドを指定する
EJB.EJB3.SIVS - @Stateful bean のインスタンス変数を Serializable にする
EJB.EJB3.SRBM - リモート ビジネス メソッドの引数と戻り値を Serializable にする
EJB.EJB3.ULI - ローカル インターフェイスを介して Bean にアクセスする
EJB.ABCS - EJB クラスでの Servlet コードの使用は避ける
EJB.ABFG - 細粒度なオブジェクトとして Entity Bean を使用するのは避ける
EJB.ACL - bean クラスでクラス ローダーのアクセス、使用、作成を行わない
EJB.ADCB - java swing やサーブレットクラスに EJB コードは含まない
EJB.AIEBC - Entity Bean 間の過剰なやり取りは避ける
EJB.AJDBC - EJB クラスの中での JDBC コードの使用は避ける
EJB.AMSC - セキュリティ構成オブジェクトにアクセスしたり、その内容を変更したりしない
EJB.AOTO - Session Bean と Entity Bean の 1 対 1 のマッピングは避ける
EJB.AUS - EJB でソケットを使用しない
EJB.CDP - Bean クラスは public で宣言する
EJB.CNDA - Bean クラスは abstract で宣言しない
EJB.CNDF - Bean クラスは final で宣言しない
EJB.CRTE - ejbCreate () を宣言するには、static や final ではなく、public を使用する
EJB.DPANY - ANYONE ロールに EJB のアクセス パーミッションを与えない
EJB.EJBLOAD - ejbLoad () 内で finder メソッドを呼び出してはいけない
EJB.FNDM - finder メソッドを宣言するには、final や static ではなく public を使用する
EJB.IECM - Bean クラスで 1 つ以上の ejbCreate () を実装する.
EJB.IEPM - EntityBean クラスでは 1 つ以上の ejbPostCreate () を実装する
EJB.JIO - bean クラスで java.io パッケージの型を使用しない
EJB.LNL - Bean クラスのネイティブ ライブラリをロードしない
EJB.MDBC - すべてのメッセージ駆動型 Bean クラスに対して、引数のない ejbCreate () メソッドを実装する
EJB.MEC - Entity Bean クラス中の各 ejbCreate () に対して、対応する ejbPostCreate () を定義する
EJB.MNDF - Bean クラスでは finalize () を宣言しない
EJB.MRE - リモート インターフェイスおよびリモート ホーム インターフェイス中のメソッドで java.rmi.RemoteException を throw する
EJB.NFDC - Bean クラスに引数を取らない public コンストラクターを宣言する
EJB.NFS - EJB Bean クラスのすべての static フィールドに対して final 宣言する
EJB.PCRTE - ejbPostCreate () を宣言するには、static や final ではなく、public を使用する
EJB.RILH - Bean のローカル インターフェイスおよびローカル ホーム インターフェイスで java.rmi.RemoteException を throw してはいけない
EJB.RR - エンティティ Bean をリモートとして宣言しない
EJB.RT - EJB finder メソッドの戻り値の型は、主キーまたは主キーの Collection でなければならない
EJB.RTC - SessionBeans またはメッセージ駆動型 Bean の ejbCreate () の戻り値の型は void でなければならない
EJB.RTP - ejbPostCreate () の戻り値の型は void でなければならない
EJB.RUH - EJB ホームを再利用する
EJB.SMSN - EJB で新しく SecurityManager を作成または設定しない
EJB.STD - EJB Bean が必要なメソッドを実装し、EJB Bean とインターフェイスの名前形式に従うことを推進
EJB.TCE - リモート ホーム インターフェイスまたはローカル ホーム インターフェイスの create 関連メソッドで javax.ejb.CreateException を throw する
EJB.TFE - リモート ホーム インターフェイスまたはローカル ホーム インターフェイスの finder メソッドで javax.ejb.FinderException を throw する
EJB.THISARG - this を引数として使用しない
EJB.THISRET - this を戻り値として使用しない
EJB.THREAD - bean クラスではどんな形でもスレッドを開始、終了、管理してはならない
EJB.UCIC - 再利用可能な JNDI リソースをキャッシュして、パフォーマンス コストが高い操作の使用を最小限に抑える
EJB.USF - Session Facade を使って Entity Bean へのアクセスを管理する
EJB.UVO - バリュー オブジェクトを使ってサーバーへの呼び出しの粒度を減らす
EXCEPT.AEFC - 例外をフロー制御文として使用しない
EXCEPT.AIOC - catch ブロックで instanceof を使用して例外の型をチェックしてはならない
EXCEPT.CATO - メソッドの本体で throw される可能性のあるすべての Throwable オブジェクトをキャッチする
EXCEPT.CDUPL - 同じ内容の catch 句を避ける
EXCEPT.CLFIN - リソースをクローズするためだけに finally ブロックを使用しない
EXCEPT.CTE - throw された例外を常に連結する
EXCEPT.EPNFC - final ではない public クラスのコンストラクターから例外を throw しない
EXCEPT.HCB - catch ブロックを隠してはいけない
EXCEPT.IMMEX - ユーザ定義 Exception のすべてのフィールドを final として宣言する
EXCEPT.MTE - main() メソッドには、throw される例外を宣言しない
EXCEPT.NCERR - java.lang.Error オブジェクトをキャッチしてはいけない
EXCEPT.NCNPE - NullPointerException をキャッチしてはいけない
EXCEPT.NFE - 数値クラスのメソッドは処理されない NumberFormatException を throw してはならない
EXCEPT.NTERR - 一般的な例外または非チェック例外を throw しない
EXCEPT.NTNPE - NullPointerException を throw してはいけない
EXCEPT.RTERR - キャッチしたときに特定の例外を再 throw する
EXCEPT.TEFEC - 例外クラスのコンストラクタから例外を throw しない
EXCEPT.TRY - try/catch/finally ブロックをループの外に置く
EXCEPT.TSCE - 例外メッセージは最少文字数の要件を満たす必要がある
FORMAT.APAREN - () を使って複雑な式を分割する
FORMAT.ASPACE - 配列の参照では適切なスペースを使用する
FORMAT.ATS - 行の最後に空のスペースを置いてはいけない
FORMAT.BLBC - C スタイルのコメントの前には空白行を挿入する
FORMAT.BLCD - 型宣言前の空白行の推進
FORMAT.BLSIM - 空白行を使って異なるパッケージの import 文を分離する
FORMAT.CBRACE - FORMAT.CBRACE1 コード行に \"}\" だけを記述するべきである
FORMAT.CMS - キャストの型の後には 1 つのスペースを入れる/入れない
FORMAT.DOT - 修飾名とメソッド呼び出しの間にスペースを入れてはいけない
FORMAT.DUT - タブではなくスペースを使用する (またはスペースではなくタブを使用する)
FORMAT.FCB - 開き括弧 \"{\" の位置の推進
FORMAT.FCN - ファイルと同じ名前の型をファイルの先頭にする
FORMAT.IAD - 配列宣言では、配列の型名、'[]'、変数名の順で記述する
FORMAT.IND - インデントのスペース数の推進
FORMAT.LL - FORMAT.LL1 行の文字数を制限する
FORMAT.MCH - すべてのソース ファイルに意味のあるファイル ヘッダー コメントを含める
FORMAT.MO - アノテーションと修飾子の順序を保つ
FORMAT.MSP - メソッド名と開き括弧 \"(\" の間には 1 つのスペースを入れる/入れない
FORMAT.NSAB - 開き括弧 \"{\" に続けてステートメントを入れる場合は \"{\" の後で必ず改行する
FORMAT.OSPL - 1 コード行につき 1 つのステートメントを入れる
FORMAT.SAC - カンマの後のスペース数の推進
FORMAT.SAOP - 代入演算子の前後のスペース数の推進
FORMAT.SAP - 条件文の開始括弧 \"(\" の後のスペースの数の推進
FORMAT.SAS - セミコロンの後のスペース数の推進
FORMAT.SAUOP - 前置単項演算子とそのオペランドの間のスペース数の推進
FORMAT.SBOP - ビット演算子の前後のスペース数の推進
FORMAT.SBUOP - 後置単項演算子とそのオペランドの間のスペース数の推進
FORMAT.SC - 条件文と開始括弧 \"(\" の間に、決められた数のスペースを入れる
FORMAT.SCOP - 条件演算子 \"?\" の前後のスペース数の推進
FORMAT.SLOP - 論理演算子の前後のスペース数の推進
FORMAT.SROP - 関係演算子の前後のスペース数の推進
FORMAT.TC - コード行と同じ行にコメントを置くのを避ける
FORMAT.TCOMMA - 配列イニシャライザーの最後にカンマを置く/置かない
FORMAT.TE - 一般的な書式を条件演算に使用する
FORMAT.TNL - すべてのファイルを必ず復帰改行文字で終了させる
FORMAT.U2BL - FORMAT.U2BL主要なプログラム セクション間の空白行数の推進
FORMAT.UP - 不要な括弧を避ける
GC.AUTP - プリミティブ型を String に変換するときに、不要なオブジェクトを作成しない
GC.DUD - Date[] ではなく long[] を使用する
GC.FCF - finalize () から必ず super.finalize () を呼び出す
GC.FM - finalize () を使ってリスナーを解放しない
GC.GC - System.gc() または Runtime.gc() を明示的に呼び出してはいけない
GC.GCB - getClipBounds () への呼び出しを再利用する
GC.IFF - finalize() メソッドの finally ブロックで super.finalize() を呼び出す
GC.MML - メモリ リークを引き起こす可能性のあるメソッドの呼び出しに注意する
GC.NCF - finalize () を明示的に呼び出さない
GC.OSTM - GC.OSTMreset () を呼び出すことによって、ObjectStream 内の潜在的なメモリ リークを回避する
GC.RCO - 不変定数オブジェクトを再利用してメモリを節約する
GC.STV - 際限なく大きくなる可能性のある static な Collection または Map を避ける
HIBERNATE.CAR - Configuration にマッピングを追加するには addResource() ではなく addClass() を使用する
HIBERNATE.CHS - Hibernate セッションを finally ブロックでクローズする
HIBERNATE.CSF - SessionFactory オブジェクトをすべてクローズする
HIBERNATE.GSIM - データベース カラムにマップされたオブジェクトには getter/setter メソッドと id フィールドを定義する
HIBERNATE.IDC - Hibernate パーシステント クラスのための引数なしコンストラクターを宣言する
HIBERNATE.LHII - Hibernate 関連の機密情報をlog4j.properties ファイルで info レベルに設定してログ記録しない
HIBERNATE.OHCE - マップされた Hibernate オブジェクトの equals および hashCode メソッドをオーバーライドする
HIBERNATE.PIDS - Hibernate 識別子のための setter メソッドは private で宣言する
HIBERNATE.RBT - アクティブなトランザクションを catch ブロックでロールバックする
HIBERNATE.SLM - Hibernate Query を実行する前に setLockMode() を呼び出す
HIBERNATE.UGNQ - Java コードでクエリーを記述するのではなく、マップされた名前付き HQL クエリーを使用する
HIBERNATE.UNP - HQL クエリーでは名前付きパラメーターを使用する
HIBERNATE.UPWD - 暗号化されていない Hibernate ユーザ名およびパスワードを web.xml ファイルに保存しない
INIT.AAI - 配列イニシャライザーを使用してはいけない
INIT.AULI - 遅延初期化のための if チェックでは適切な演算子を使用する
INIT.CLIB - 遅延初期化ブロックに初期化コード以外のコードを置かない
INIT.DIA - ダイアモンドを使用してジェネリック クラスのコンストラクターを呼び出す
INIT.IC - フィールドに対して初期化の循環を使用してはいけない
INIT.LV - 宣言文ですべてのローカル変数を明示的に初期化する
INIT.NFS - 初期化実行中に、final でない static フィールドを使用しない
INIT.SF - 明示的な初期化を使用する/static フィールドをデフォルト値で初期化してはいけない
INIT.SFA - final ではない static 変数を使って final の static 変数を初期化してはいけない
INIT.SICUI - すべての static final フィールドが代入される前に、現行クラスのインスタンスを作成する static イニシャライザーを呼び出してはいけない
INTER.CCL - java.util.Locale 任意パラメーターを使用する
INTER.CLO - 国際化 (I18N) では論理演算子と一緒に単一文字を使用しない
INTER.COS - 国際化 (I18N) では文字列連結を避ける
INTER.CTLC - 国際化環境で Character.toLowerCase(char) または Character.toUpperCase(char) を呼び出さない
INTER.DTS - 国際化環境では Date オブジェクトで toString() または String.valueOf() を呼び出さない
INTER.ITT - 国際化 (I18N) では翻訳可能なテキストはリソース バンドルに出力する
INTER.NCL - 国際化 (I18N) では単一文字リテラルは static final 定数として使用する
INTER.NTS - 国際化環境では数値で toString() または String.valueOf() を呼び出さない
INTER.PN - 国際化 (I18N) では Number 型の parse メソッド 呼び出しを避ける
INTER.SCT - 国際化 (I18N) では String.compareTo() の呼び出しを避ける
INTER.SDFL - SimpleDateFormat オブジェクトのインスタンスを生成するときは Locale 引数を指定する
INTER.SE - 国際化 (I18N) では String.equals() の呼び出しを避ける
INTER.SEO - エンコーディング オプションの指定できないメソッドやコンストラクターの呼び出しを避ける
INTER.SIO - 国際化 (I18N) では String.indexOf() または String.lastIndexOf() の呼び出しを避ける
INTER.ST - 国際化環境では StringTokenizer の使用を避ける
INTER.TTS - 国際化環境では Time オブジェクトで toString() または String.valueOf() を呼び出さない
INTER.UNLS - 不必要な $NON-NLS および NOI18N コメントを避ける
JAVADOC.BT - サポートされない @ タグやその他のタグを Javadoc コメントで使うのを避ける
JAVADOC.CRN - メソッドが null を返すことができるかどうかを必ず Javadoc に記述する
JAVADOC.DPMT - 未使用の Javadoc タグを避ける
JAVADOC.ECTF - フィールドでのカスタム Javadoc タグの使用を推進する
JAVADOC.ECTM - メソッド/アノテーション メンバー型でのカスタム Javadoc タグの使用を推進する
JAVADOC.ECTT - 型でのカスタム Javadoc タグの使用を推進する
JAVADOC.JNJD - Javadoc ではないコメントを Javadoc コメントと宣言の間に挿入してはいけない
JAVADOC.MAJDT - 宣言の Javadoc コメントには @author タグを使用する
JAVADOC.MDJT - Javadoc タグには意味のある説明を記述する
JAVADOC.MISFORMAT - Javadoc タグの書式の誤りを避ける
JAVADOC.MRDC - メソッドの Javadoc コメントには ''@return'' タグを入れる
JAVADOC.MVJDT - 型の Javadoc コメントには @version タグを入れる
JAVADOC.ORDER - Javadoc タグの順序の推進
JAVADOC.PARAM - メソッドの各引数の Javadoc コメントには @param タグを使用する
JAVADOC.PJDC - 型には Javadoc コメントを付ける
JAVADOC.PJDF - フィールドには Javadoc コメントを付ける
JAVADOC.PJDM - メソッドには Javadoc コメントと説明を付ける
JAVADOC.SINGLE - Javadoc コメントに使用する行数を制限する
JAVADOC.SMJT - synchronized public メソッドおよびブロックの Javadoc コメントには @concurrency タグを使用する
JAVADOC.SPELL - Javdoc コメント中にスペル ミスがある
JAVADOC.SRRP - @Documented アノテーションを使用するときに保持ポリシーとして RUNTIME を指定する
JAVADOC.THROW - メソッドの Javadoc コメントには @throws タグまたは @exception タグを入れる
JAVADOC.TSMJT - toString() には Javadoc コメントを付ける
JAVADOC.TSOL - 特定の Javadoc タグは1行に収める
JAVADOC.VMCR - void メソッドの Javadoc コメントでは @return タグを使用しない
JDBC.BRSA - JDBC メソッドの呼び出しで、インデックスが有効であることを確認する
JDBC.CDBC - JDBC 接続を finally ブロック中でクローズする
JDBC.COCO - 正しい順序で JDBC オブジェクトをクローズする
JDBC.DSLV - JDBC 接続のデータ ソースを再利用する
JDBC.ODBIL - ループ中で JDBC 接続をオープン/クローズしてはいけない
JDBC.RRWD - JDBC リソースは finally ブロックでクローズする
JDBC.SCSF - static フィールドにデータベース接続オブジェクトを格納してはならない
JDBC.UDS - javax.sql.DataSource を使ってデータベース接続を取得する
JDBC.UPSC - PreparedStatement を正しく使用する
JDBC.URSF - RowSetFactory のインスタンスを使用して RowSet オブジェクトを作成する
JUNIT.AEAT - assertTrue および assertFalse ではなく assertEquals および assertNotEquals を優先して使用する
JUNIT.AHLOD - 単体テストによって使用されるデータファイルのハードコーディングを避ける
JUNIT.ANAT - assertTrue および assertFalse ではなく assertNull および assertNotNull を優先して使用する
JUNIT.ANBA - assertTrue() または assertFalse() への論理型引数を否定しないようにする
JUNIT.ASAT - assertTrue および assertFalse ではなく assertSame および assertNotSame を優先して使用する
JUNIT.ASSERT - JUnit アサーションには必ずメッセージ文字列を含める
JUNIT.AST - メイン スレッド以外のスレッドにアサーション文を置かない
JUNIT.AUL - JUnit テストでループを使用しない
JUNIT.CBA - catch ブロックで assert メソッドを呼び出すのを避ける
JUNIT.CSUPER - JUnit テスト クラスの setUp メソッドおよび tear-tearDown メソッドでは、それぞれスーパークラスの setUp/tearDown メソッドを呼び出すべきである
JUNIT.CSUTD - setUp() および tearDown() メソッドが正しく実装されるようにする
JUNIT.DIR - テストするクラスと同じ場所にテスト クラスを置く
JUNIT.ETCTA - @Test アノテーションがあるテスト クラスで TestCase を拡張しない
JUNIT.FAIL - assertTrue(false) や assertFalse(true) メソッドを使用して false を検証する変わりに fail () メソッドを使用する
JUNIT.FICB - JUnit テストメソッド内の catch ブロック内で fail() を呼び出してはいけない
JUNIT.IGNORE - @Ignore を使用する JUnit 5 テスト クラスに @ExtendWith(IgnoreCondition.class) または @EnableJUnit4MigrationSupport アノテーションがあることを確認する
JUNIT.ISMTC - JUnit テスト クラスで suite() メソッドを実装してはいけない
JUNIT.MAIN - すべての JUnit クラスは個別に実行可能な main () メソッドを持つべきである
JUNIT.OSIC - コンストラクターを使ってテスト ケースを設定しない
JUNIT.OSUM - テスト クラスにセットアップ メソッドが定義されていることを確認する
JUNIT.OTDM - テスト クラスにクリーンアップ メソッドが定義されていることを確認する
JUNIT.RPL5 - JUnit 5 にテストを移行する場合は、JUnit 4 のアノテーションを使用しない
JUNIT.SIA - JUnit テスト ケースには必ず アサートメソッドを含める
JUNIT.SIFN - setUp() メソッドで初期化されているすべてのフィールドは tearDown() メソッドで null をセットする
JUNIT.SUITE - suite () メソッドは public および static にするべきである
JUNIT.TATC - TestCase を拡張するのではなく @Test アノテーションを使用する
JUNIT.TCWNT - 各 TestCase クラスには少なくとも 1 つのテスト メソッドを含める
JUNIT.TDIR - JUnit 5 テストで TemporaryFolder ルールを使用しない
JUNIT.TEST - すべてのメソッドは少なくとも 1 つの JUnit テストメソッドを持つべきである
JUNIT.UPJT - 適切な Javadoc タグを JUnit テスト メソッドの Javadoc に含める
JUNIT.UPSS - JUnit テストクラスの suite() メソッドは正しいシグネチャで使用する
METRICS.CTNL - 非推奨: class または interface の行数
METRICS.ECLM - 非推奨: メソッドのステートメント行数
METRICS.ECLT - 非推奨: class または interface のステートメント行数
METRICS.ID - 非推奨: class または interface の継承レベル
METRICS.NOFT - 非推奨: フィールド数
METRICS.NOM - 非推奨: メソッド数
METRICS.NOMCML - 非推奨: メソッドのコメント行数
METRICS.NOTCML - 非推奨: class または interface のコメント行数
METRICS.NPKGF - 非推奨: package-private フィールド数
METRICS.NPKGM - 非推奨: package-private メソッド数
METRICS.NPRIF - 非推奨: private フィールド数
METRICS.NPRIM - 非推奨: private メソッド数
METRICS.NPROF - 非推奨: protected フィールド数
METRICS.NPROM - 非推奨: protected メソッド数
METRICS.NPUBF - 非推奨: public フィールド数
METRICS.NPUBM - 非推奨: public メソッド数
METRICS.NSTMT - 非推奨: メソッドのステートメント数
METRICS.PAR - 非推奨: パラメーター数
METRICS.PJDC - 非推奨: Javadoc コメントの割合 (%)
METRICS.TNLM - 非推奨: メソッドの行数
METRICS.TNMC - 非推奨: メソッド呼び出しの数
METRICS.TRET - 非推奨: return 文の数
METRICS.VG - 非推奨: Cyclomatic Complexity
MOBILE.ANDROID.AOSM - 常に onSaveInstanceState() をオーバーライドする
MOBILE.ANDROID.WUP - ウィジェットがあまりに頻繁に更新されないようにする
MOBILE.J2ME.ACII - インターフェイスの実装として匿名クラスを使用しない
MOBILE.J2ME.ARLL - ループ条件式で配列長を使用しない
MOBILE.J2ME.CIPA - あるサイズを超えるプリミティブ型配列を定数で初期化しない
MOBILE.J2ME.EAOF - フィールドに過剰にアクセスしてはいけない
MOBILE.J2ME.EURP - 新規オブジェクトを返す代わりにリターン引数を使用するメソッドを推奨
MOBILE.J2ME.OOME - 大きな配列割り当ての OutOfMemoryError をキャッチする
MOBILE.ACFM - 同じフィールドおよびメソッドに複数回アクセスしてはならない
MOBILE.AMA - getter および setter メソッドを使用しない
MOBILE.APTA - プリミティブ ラッパー オブジェクトの配列を使用しない
MOBILE.AUEF - 拡張された for ループを使用して java.lang.iterable オブジェクトを反復処理しない
MOBILE.AUI - interface 型を宣言しない
MOBILE.DARRAY - 多次元配列を使用しない
MOBILE.ENUM - 列挙型を使用しない
MOBILE.FLOATER - 浮動小数点型を使用しない
NAMING.ANNS - アノテーションのクラスの命名規則に従う
NAMING.CVN - 一般的な変数名を使用
NAMING.DJLO - java プラットフォームの型がと同じ名前を使って型を宣言してはいけない
NAMING.DSN - 名前でドル記号を使用するのを避ける
NAMING.ECN - 拡張しているクラスの名前を反映したクラス名を使用する
NAMING.EXTENDS - 基底クラスに対して定義された命名規則に従う
NAMING.GETA - getter メソッドに命名規則を使用する
NAMING.GETB - boolean を返す getter メソッドに命名規則を使用する
NAMING.ID - 潜在的な Java キーワードを識別子として使用してはならない
NAMING.IFV - インターフェイスのフィールド名ではすべての文字に大文字を使用する
NAMING.IMPLS - 実装されたインターフェイスに対して定義された名前付け規則に従う
NAMING.IRB - boolean を返すメソッドだけに is で始まる名前を付ける
NAMING.LLI - 型名、メソッド名、フィールド名、引数名および変数名の長さの制限に従う
NAMING.NA - アノテーションに命名規則を使用する
NAMING.NAC - 配列変数と Collection 変数に命名規則を使用する
NAMING.NACL - abstract クラスに対して命名規則を使用する
NAMING.NCL - クラスの命名規則を推進
NAMING.NE - 例外の命名規則を推進
NAMING.NENUM - 列挙型の宣言に命名規則を使用する
NAMING.NFL - final のローカル変数に対して命名規則を使用する
NAMING.NIF - static ではないフィールドの命名規則を推進
NAMING.NITF - インターフェイスの命名規則を推進
NAMING.NLV - ローカル変数の命名規則を推進
NAMING.NM - static でないメソッド の命名規則を推進
NAMING.NMP - メソッド引数の命名規則を推進
NAMING.NPH - 型引数に名前付け規則を使用する
NAMING.NSF - final ではない static フィールドの命名規則を推進
NAMING.NSM - static メソッドの命名規則を推進
NAMING.NTEST - JUnit テストクラスに命名規則を使用する
NAMING.PKG - package 名には小文字を使用する
NAMING.RPKG - Sun で予約されているパッケージ名を使用しない
NAMING.SETA - setter メソッドに命名規則を使用する
NAMING.SINGLETON - シングルトン クラスに命名規則を使用する
NAMING.THAC - タグ ハンドラーおよび関連クラスに命名規則を使用する
NAMING.UHN - 変数にはハンガリアン表記を使用する
NAMING.USF - final static フィールド名には小文字を使用しない
NAMING.UUVN - 同じ名前または大文字/小文字の使用だけが違う変数名使用してはいけない
OOP.ACECC - abstract クラスで具象クラスを継承してはいけない
OOP.ACST - 必要以上に具体的な型にキャストしてはいけない
OOP.AF - public/ protected/ package-private フィールドを避ける
OOP.AHF - 継承されるフィールドが隠れるのを避ける
OOP.AHSM - 継承される static なメンバー メソッドが隠れるのを避ける
OOP.AOA - オーバーライド メソッドには @Override アノテーションを追加する
OOP.AOCM - 特定の型を拡張する場合、特定のメソッドを必ずオーバーライドする
OOP.ASFI - abstract メソッドおよび static final フィールドだけしかないクラスを interface として再宣言する
OOP.AUASI - アノテーションを実装または拡張してはいけない
OOP.AUO - オブジェクトを使用して static フィールドまたはメソッドにアクセスしない
OOP.CIMOM - Object の protected メソッドと競合するメソッドをインターフェイスで宣言してはいけない
OOP.CQS - メソッドはコマンド (状態の変更) またはクエリー (状態の取得) でなければならない
OOP.HIF - 外側のスコープで宣言されたフィールドやローカル変数を隠蔽しない
OOP.HMF - メソッドのローカル変数と引数にクラスのフィールドと同じ名前を付けない
OOP.ICIF - インターフェイスで内部クラスを使用しない
OOP.IDOM - インターフェイス内で Object クラスから継承するメソッドの宣言を避ける
OOP.IIAC - 定数にアクセスするためにだけインターフェイスを実装してはならない
OOP.IIN - no-op のインターフェイスメソッドを実装しない、またはそれらを abstract で実装する
OOP.INSOF - instanceof はインターフェイスにだけ使用する
OOP.LEVEL - ネストの深さが 3 以上の内部クラスを使用しない
OOP.MFP - finalize() メソッドは protected で宣言する
OOP.MI - フィールドまたはメソッドのないインターフェイス (マーカー インターフェイス) を避ける
OOP.MUCOP - 可変クラスにコピー機能を提供する
OOP.NAM - abstract メソッドのない abstract クラスを避ける
OOP.NOMA - abstract クラスの空のメソッドを abstract として宣言する
OOP.NPAC - abstract クラスに public または package-private コンストラクターを宣言しない
OOP.OPM - private メソッドをオーバーライドしない
OOP.PIFC - final クラスのメンバーに protected を使用してはいけない
OOP.PMPC - public クラスが少なくとも 1 つの public または protected メンバーを持つようにする
OOP.PSDF - private または static メソッドを final で宣言しない
OOP.RI - スーパークラスがインターフェイスをすでに実装している場合、そのインターフェイスを実装するとしてクラスを宣言してはいけない
OOP.RSFC - クラスから自身のサブクラスへの参照を避ける
OOP.SNGL - シングルトン クラスに命名規則を使用する
OOP.SVHM - インナー クラスからのメソッド呼び出しでは、呼び出すメソッドのバージョンを指定する
OOP.THRECL - getClassLoader() ではなく getContextClassLoader() を使用する
OPT.AAM - 匿名クラスの private でないメソッドを private に変更する
OPT.AAS - 省略された代入演算子を使用
OPT.ACDO - new String(String) コンストラクターを使用しない
OPT.AGC - オブジェクトのインスタンスの新規生成によって Class オブジェクトを取得してはいけない
OPT.ANIPW - キャッシュされているプリミティブ型のラッパー オブジェクトを新しくインスタンスすることを避ける
OPT.AUMO - 不要な Map 操作を避ける
OPT.BR - boolean の返却を簡略化する
OPT.CCR - すべての java.io.Closeable リソースを finally ブロックでクローズする
OPT.CEIL - ループ内に定数式を入れないようにする
OPT.CEL - ループ条件文でのメソッド呼び出しを避ける
OPT.CIO - finally ブロックで入力または出力リソースをクローズする
OPT.CLL - 潜在的に時間のかかるロギング処理を呼び出す前にロギングレベルをチェックする
OPT.CPTS - 空文字列を連結して値を String に変換してはいけない
OPT.CRSG - ResultSet の get メソッドを重複して呼び出さない
OPT.CRWD - できるだけ早くリソースをクローズする
OPT.CTLV - 1 つのメソッド内でだけアクセスされる private フィールドを使用しない。ローカル変数に変更する
OPT.DIC - ArrayList、HashMap、HashSet、Hashtable、Vector、および WeakHashMap の初期容量を定義する
OPT.EES - String.equals(\"\") ではなく String.length() == 0 を使用する
OPT.EIC - toLowerCase() または toUpperCase() の呼び出しの代わりに equalsIgnoreCase() を使用する
OPT.EOIL - 時間がかかる処理をループの本体で呼び出してはいけない
OPT.ICDPC - 浮動小数点型にキャストされた整数を Math.ceil() の呼び出しに渡してはいけない
OPT.ICGA - 代用のアクセサーを必要とするかもしれないメンバー アクセスを避ける
OPT.ILUG - get() メソッドを使用してリストを反復処理しない
OPT.IRB - 配列のコピーには、ループではなく System.arraycopy () を使用する
OPT.ISC - static フィールドと static メソッドだけを持つクラスのインスタンスを生成してはいけない
OPT.LIOL - 可能な限り不変式をループの外に移動する
OPT.LOOP - ループ本体で変数をインスタンス化するのを避ける
OPT.MAF - インスタンス フィールドに対する getter および setter メソッドを final で宣言する
OPT.MUNC - null との不要な比較を行わない
OPT.NCIO - instanceof の前に null をチェックしないようにする
OPT.NIVND - ランダム整数を生成するには nextInt() メソッドを使用する
OPT.NIW - BigInteger および BigDecimal の新しいインスタンスを作成しないようにする
OPT.NSF - コンパイル時に判明する値を持つ final フィールドは static として宣言する
OPT.PCTS - 単一文字の比較には、startsWith () ではなく charAt () を使用する
OPT.PRIM - プリミティブ型のためのラッパークラスをインスタンス化してはいけない
OPT.SB - StringBuffer の初期容量を指定する
OPT.SBL - 長さをチェックするために StringBuffer または StringBuilder を String に変換しないようにする
OPT.SBS - 同期が必要ない場合は StringBuffer ではなく StringBuilder を使用する
OPT.SDLS - ローカル変数には同期データ構造を使用しない
OPT.SI - 可能であれば内部クラスを static として宣言する
OPT.SRA - リテラル値で String.replaceAll() を使用しない
OPT.STCA - 不要な String.toCharArray() の呼び出しを避ける
OPT.STR - 1 文字の文字列定数を含む文字列連結では、二重引用符ではなく単一引用符を使用する
OPT.STRBUF - 常に連結される文字列を返すメソッドを整理する
OPT.STS - 不要な String メソッドの呼び出しを避ける
OPT.SWIF - switch 文に置き換えられる場合、if 文を使用しない
OPT.SYN - ループの内側で synchronized メソッドを呼び出さない
OPT.TOARRAY - toArray() に渡す配列に Collection のサイズを使用する
OPT.UEQ - ブール値と true を比較しない
OPT.UISO - 不要な instanceof の使用を避ける
OPT.UMATH - 結果が簡単に計算できる定数の場合、java.lang.Math のメソッドを呼び出してはいけない
OPT.UNC - 不要なキャストの使用を避ける
OPT.USB - 結合文字列を使用するときは String ではなく StringBuffer を使用する
OPT.USC - 定数文字列には StringBuffer ではなく String を使用する
OPT.USCL - 疑問の余地がある、短絡演算ではない演算を避ける
OPT.USV - 可能なかぎりスタック変数を使用する
OWASP2017.A1.TDCMD -コマンド インジェクションから防御する
OWASP2017.A1.TDDIG - Jakarta Digester インジェクションから防御する
OWASP2017.A1.TDENV - 環境に対するインジェクションから防御する
OWASP2017.A1.TDINPUT - フォーマット文字列からサニタイズされていないユーザー入力を除外する
OWASP2017.A1.TDJXPATH - JXPath インジェクションから防御する
OWASP2017.A1.TDLDAP - LDAP インジェクションから防御する
OWASP2017.A1.TDLOG - ログの偽造から防御する
OWASP2017.A1.TDNET - ネットワーク リソース インジェクションから防御する
OWASP2017.A1.TDRFL - Reflection インジェクションから防御する
OWASP2017.A1.TDSQL - SQL インジェクションから防御する
OWASP2017.A1.TDXPATH - XPath インジェクションから防御する
OWASP2017.A1.UPS - createStatement ではなく prepareCall または prepareStatement を使用する
OWASP2017.A10.ENFL - すべてのセキュリティ関連メソッドの呼び出しを必ずログに記録する
OWASP2017.A10.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
OWASP2017.A2.HGRSI -'HttpServletRequest' クラスの 'getRequestedSessionId' メソッドの使用を避ける
OWASP2017.A2.ISL - LoginContext.login() の前に必ず HttpSession.invalidate() を呼び出すこと
OWASP2017.A2.RUIM - セッション有効期限が適切であるようにする
OWASP2017.A2.STTL - 'web.xml' ファイルでセッションがタイム アウトするよう設定されていることを確認する
OWASP2017.A2.TDPASSWD - 保護されていない認証情報の使用から保護する
OWASP2017.A3.AISSAJAVA - Spring でのデータ暗号化で、セキュアではない暗号化アルゴリズムを使用しない
OWASP2017.A3.AISSAXML - Spring XML 設定ファイルで、セキュアではない暗号化アルゴリズムを使用しない
OWASP2017.A3.AUNC - 非テスト クラスでの javax.crypto.NullCipher クラスの使用を避ける
OWASP2017.A3.CONSEN - 機密情報をログに記録しない
OWASP2017.A3.ENPP - 特定のメソッドに渡される引数が事前に定義されたメソッドのリストからきていることを確認する
OWASP2017.A3.HCCK - ハード コーディングされた暗号化キーの使用を避ける
OWASP2017.A3.HCNA - IP アドレスとポート番号をハード コーディングしてはいけない
OWASP2017.A3.HTTPS - axis2.xml 構成ファイルの transportReceiver および transportSender で http ではなく https を使用する
OWASP2017.A3.HV - HostnameVerifier.verify() メソッドが証明書を検証していることを確認する
OWASP2017.A3.ICA - 安全でないアルゴリズムを暗号化のために使用しない
OWASP2017.A3.IVR - IvParameterSpec を使用する際はランダムではない byte[] を避ける
OWASP2017.A3.MCMDU - MessageDigest オブジェクトは 'update' メソッドでデータを処理する必要がある
OWASP2017.A3.MDSALT - ハッシュ関数は salt とともに使用する
OWASP2017.A3.PEO - 機密情報のリークを防ぐため、例外メッセージを出力に渡してはならない
OWASP2017.A3.PWDPROP - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
OWASP2017.A3.SENS - 機密データの公開を防止する
OWASP2017.A3.SIKG - KeyGenerator インスタンスを初期化する
OWASP2017.A3.SRD - java.util.Random または Math.random() の代わりに java.security.SecureRandom を使用する
OWASP2017.A3.SSSD - 機密データを安全にシリアライズする
OWASP2017.A3.USC - 可能であれば SSL を利用できるクラスを使用する
OWASP2017.A3.VJFS - 必ず JarFile シグニチャを検証する
OWASP2017.A3.VSI - サーバー識別子を適切に検証する
OWASP2017.A4.DXXE - XML 外部エンティティ インジェクションを無効化する
OWASP2017.A5.DPANY - ANYONE ロールに EJB のアクセス パーミッションを与えない
OWASP2017.A5.TDFNAMES - ファイル名インジェクションから防御する
OWASP2017.A6.ACPST - Throwable オブジェクトの printStackTrace() メソッドを呼び出さない
OWASP2017.A6.AECB - 空の try、catch、finally ブロックを避ける
OWASP2017.A6.DCSRFJAVA - CSRF 防護を無効にしない
OWASP2017.A6.DCSRFXML - CSRF 防護を無効にしない
OWASP2017.A6.EWSSEC - Spring Security フレームワークからのデバッグ情報をログに記録しない
OWASP2017.A6.NCE - 一般的な型の例外や非チェック例外をキャッチしてはいけない
OWASP2017.A6.NCNPE - NullPointerException をキャッチしてはいけない
OWASP2017.A6.NTERR - 一般的な例外または非チェック例外を throw しない
OWASP2017.A6.NTX - CODSTA.BP.NTX一般的または非チェック例外型を throw するメソッドの宣言を避ける
OWASP2017.A6.PLAIN - パスワード情報がプレーンテキストでプロパティ ファイルに含まれていてはならない
OWASP2017.A6.PWDXML - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
OWASP2017.A6.RR - エンティティ Bean をリモートとして宣言しない
OWASP2017.A6.SEP - web.xml で必ずエラー ページを指定する
OWASP2017.A6.SIO - System.err または System.out の print メソッドの呼び出しを避ける
OWASP2017.A6.SLID - セッション ID の長さが適切であることを確認する
OWASP2017.A6.UPWD - 暗号化されていない Hibernate ユーザ名およびパスワードを web.xml ファイルに保存しない
OWASP2017.A7.CDBV - 検証の前にすべてのデータを正規化する
OWASP2017.A7.TDRESP - HTTP レスポンス分割から防御する
OWASP2017.A7.TDXSS - XSS 脆弱性から防御する
OWASP2017.A8.AUXD - XMLDecoder で信頼されていないデータを解析しない
OWASP2017.A8.DUID - すべての Serializable クラスに対して serialVersionUID を作成する
OWASP2017.A8.OROM - すべての serializable クラスに対して readObject() と writeObject() を実装する
OWASP2017.A8.RRSC - すべての Serializable 型のインスタンスで readResolve メソッドを定義する
OWASP2017.A8.RWAF - すべてのフィールドを readObject() メソッドによって代入し writeObject() によって書き出す
OWASP2017.A8.SC - LDAP のデシリアライズを無効化する
OWASP2017.A8.SCBNP - Serializable でない親クラスから派生する Serializable なサブクラスに必ず writeObject および readObject メソッドを宣言する
OWASP2017.A8.SROS - readObject() メソッドを synchronized として宣言してはいけない
OWASP2017.A8.VOBD - デシリアライズの前にオブジェクトを検証する
PB.API.AECC - 特定のクラスの継承を避ける (カスタムルール)
PB.API.APPG - java.util.Properties オブジェクトの put()、putAll()、および get() メソッドの使用を避ける
PB.API.APT - 特定のパッケージまたは型を使用するのを避ける
PB.API.CMMT - Collection および Map メソッドに渡される型とデータ構造の型を一致させる
PB.API.DANNOT - 非推奨のメンバーの宣言に @Deprecated アノテーションを追加する
PB.API.DNCSS - ComponentListener.componentResized () で setSize () を呼び出さない
PB.API.DPRAPI - 非推奨の API を使用しない
PB.API.ECMC - Collection および Map クラスを拡張してはいけない
PB.API.EHM - java.util.HashMap または java.util.Hashtable を継承してはいけない
PB.API.EJF - 空の JarFile エントリまたは空の ZipFile エントリを作成してはいけない
PB.API.EQNL - equals(null) を呼び出さないようにする
PB.API.HNCN - Iterator の hasNext() メソッドから next() メソッドを呼び出してはいけない
PB.API.IUMS - Collections または Maps で URL オブジェクトを使用しない
PB.API.KOEH - Set や Map のキーとして使用されるすべての型が equals() と hashCode() メソッドをオーバーライドする
PB.API.MASP - serializable クラスの readResolve() と writeReplace() メソッドには、protected アクセシビリティを指定する
PB.API.MOHK - 危険な実装の equals() または hashCode() のオブジェクトをハッシュ化されたデータ構造のキーとして使用することを避ける
PB.API.NDC - Error および Throwable のサブクラスを定義しない
PB.API.OF - finalize() メソッドをオーバーロードしてはいけない
PB.API.REP - String.replaceAll() および String.replaceFirst() の正規表現として \".\" を使用しない
PB.API.SBCC - StringBuffer(int) コンストラクターに char を渡さない
PB.API.UNI - java.util.Random クラスの next メソッドの結果を int にキャストしてはいけない
PB.API.URL - java.net.URL の equals() および hashCode() メソッドを使用しない
PB.API.VAFS - 正しい数の引数を使用して書式文字列を持つ可変個引数のメソッドを呼び出す
PB.API.VENDOR - ベンダー プロパティとの比較に使われる可能性がある値を更新する
PB.CUB.ADE - else のある if では \"{ }\" 括弧を使用する
PB.CUB.AIPQ - PriorityQueue および PriorityBlockingQueue で iterator() を使用しない
PB.CUB.AMCO - 複数の ! または ~ 単項演算子を使用しない
PB.CUB.APAM - 配列ではない引数を取るメソッドに配列を引数として渡してはならない
PB.CUB.ARCF - try-catch ブロック内に return 文がある場合、 finally ブロックでの return 文の使用を避ける
PB.CUB.ATSF - finally ブロックを途中で終了しない
PB.CUB.AWP - コンストラクター引数への混乱する代入を避ける
PB.CUB.CILB - ログ記録コード以外のものをログ記録ブロックに入れない
PB.CUB.CNVC - 文字と数字の不適切な連結を避ける
PB.CUB.CTOR - コンストラクターから final、static、private ではないメソッドを呼び出してはならない
PB.CUB.CWRITE - File.canWrite() メソッドは、ディレクトリが書き込み可能でない場合にも true を返す可能性があるため、使用を避ける
PB.CUB.DCP - \"+\" 文字列連結演算子を使って数字を連結してはいけない。\"+\" は数字の加算にだけ使用する
PB.CUB.EBI - 誤って文をブロックの外に置くのを避ける
PB.CUB.EOOM - 誤って java.lang.Object のメソッドをオーバーライドすることを避ける
PB.CUB.FLVA - for ループの内部でループ制御変数に代入しない
PB.CUB.IMC - オーバーライドされるメソッドが引数型の違いによる予定外の共変ではないようにする
PB.CUB.IMM - static final フィールドを不変にする
PB.CUB.ISF - 誤って static 宣言された可能性のある private static フィールドを調べる
PB.CUB.MAIN - エントリ ポイント メソッドだけにメソッド名 main を使用する
PB.CUB.OE - 疑わしい 8 進数エスケープを避ける
PB.CUB.OSM - サブクラスのメソッドをオーバーライドする場合は、スーパークラスでオーバーロードされたメソッドもオーバーライドする
PB.CUB.OVAM - 可変個引数メソッドのオーバーライドを避ける
PB.CUB.PSFA - public static final 配列フィールドの使用を避ける
PB.CUB.RMO - 可変フィールドの間接参照を避ける
PB.CUB.SAC - String の連結で char 配列を使用してはいけない
PB.CUB.SBC - 不正な case を含む switch 文を避ける
PB.CUB.SRAD - アノテーション型の宣言に @Retention を指定する
PB.CUB.STRCC - print() 文および println() 文の複雑な式を括弧で囲む
PB.CUB.TOCTOU - Time-of-check Time-of-use (TOCTOU) 競合状況を避ける
PB.CUB.TOS - 配列変数で toString() を呼び出さない
PB.CUB.TVOM - オーバーロードされたメソッドを呼び出す場合、型変数引数を使用しない
PB.CUB.UEIC - オブジェクト同士の比較に '==' または '!=' を使用しない
PB.LOGIC.AIL - 無限ループを避ける
PB.LOGIC.AMOI - 配列または List 要素へアクセスするのに誤ったインデックス変数を使用しない
PB.LOGIC.AOBO - ループ条件で「1 つずれる」エラーを避ける
PB.LOGIC.AULV - ループの条件で使用されないループ変数を避ける
PB.LOGIC.CPI - String.indexOf() の結果が正かどうかをチェックしてはいけない
PB.LOGIC.CRRV - 読み込みまたはスキップを行うメソッドの戻り値を確認する
PB.LOGIC.DJNCR - 戻り値が null ではないことをチェックした後に readLine() の結果を破棄してはいけない
PB.LOGIC.EQLC - equals() および compareTo() メソッドの実装では getClass() または instanceof を使用する
PB.LOGIC.EQUS - 常に false を返す equals() メソッドの呼び出しを避ける
PB.LOGIC.ESO - 同一のオブジェクトに対して equals() を呼び出さない
PB.LOGIC.FLRC - 無限の再帰呼び出しを行わない
PB.LOGIC.INDEX - ループ変数の使用でのバグを防止する
PB.LOGIC.JI - 複数のネストされた for ループ文で同じ変数をインクリメントまたはデクリメントしない
PB.LOGIC.LLM - 呼び出すロギング メソッドのレベルに一致したロギング レベルをチェックする
PB.LOGIC.OAMC - ループの条件で使用されるオブジェクトは適切にループ本体でアクセスされるようにする
PB.LOGIC.OOR - 範囲外の比較を避ける
PB.LOGIC.ROM - メソッドが正しいオブジェクトで呼び出されるようにする
PB.LOGIC.SG - get/set メソッドが必ず正しい変数にアクセスするようにする
PB.NUM.AIC - 整数型から浮動小数点型への暗黙のキャストを避ける
PB.NUM.BBDCC - BigDecimal コンストラクターに浮動小数点値を渡してはいけない
PB.NUM.BSA - [0, 31] の範囲を超える整数をシフト量として使用しない
PB.NUM.CACO - オーバーフローの原因となるかもしれない場合は複合代入演算子の使用を避ける
PB.NUM.CLP - 基本データ型を精度の低い型にキャストしない
PB.NUM.CMP - compare または compareTo メソッドに整数オーバーフローの可能性がある
PB.NUM.DCF - 浮動小数点同士を比較しない
PB.NUM.FPLI - ループのインデックスとして浮動小数点型の変数を使用しない
PB.NUM.ICO - オーバーフローまたは NaN になる計算を避ける
PB.NUM.IDCD - 整数の除算の結果を浮動小数点型の変数に代入してはいけない
PB.NUM.IMOF - integer の乗算の結果を long にキャストしてはならない
PB.NUM.IOF - オーバーフローの可能性がある場合、除算ではなく符号なしの右シフトを使用する
PB.NUM.NAN - Double.NaN または Float.NaN と比較しないようにする
PB.NUM.NIA - 負の値を使って配列の次元を初期化してはいけない
PB.NUM.UBD - 正確な結果が必要な場合は float および double を使用しない
PB.NUM.UCM - Math.round() に整数値を渡してはならない
PB.RE.ACTI - Collection をその Collection 自体に追加してはいけない
PB.RE.AMFSL - 固定サイズの Collection を変更しない
PB.RE.AQA - Queue の add() メソッドを呼び出さない
PB.RE.ASE - ArrayStoreExceptions の可能性を避ける
PB.RE.CAI - 配列にアクセスする前に、使用するパラメーターをチェックする
PB.RE.CIOR - String.indexOf() の戻り値を他の String メソッドに渡す前にチェックする
PB.RE.CTNSE - Iterator.next() メソッドの実装が必ず NoSuchElementException を throw するようにする
PB.RE.IDRL - readLine() の戻り値を間接参照する前に、戻り値が null かどうかをチェックする
PB.RE.IIAE - IllegalArgumentException メッセージをコード ロジックに必ず一致させる
PB.RE.IOSS - 必要な場合 indexOf() の fromIndex 引数を使用する
PB.RE.ISEM - String.equals(constant) または String.equalsIgnoreCase(constant) を呼び出してはいけない
PB.RE.JLAY - JLayer クラスの add() メソッドの使用を避ける
PB.RE.NCMD - 間接参照される変数と、その前に null チェックされる変数を一致させる
PB.RE.NXRE - RuntimeException のサブクラスをできるだけ定義しない
PB.RE.PNPD - null オブジェクトを間接参照してはいけない
PB.RE.RCODE - HttpURLConnection を使用する場合、getInputStream() を呼び出す前に必ず getResponseCode() の戻り値をチェックする
PB.RE.VRNULL - null 値を返すメソッドを避ける
PB.TYPO.AECB - 空の try、catch、finally ブロックを避ける
PB.TYPO.ASI - 条件の中で代入しない
PB.TYPO.BW - 同じ変数同士で演算しない
PB.TYPO.CSI - 正しい super メソッドを呼び出す
PB.TYPO.DAV - switch 文の case のフォールスルーで同じ変数に代入してはならない
PB.TYPO.EB - 本体が空の制御文を避ける
PB.TYPO.IMO - 目的のメソッドが必ずオーバーライドされるようにする
PB.TYPO.NAMING - メソッド、フィールド、およびそれらを含むクラスに同じ名前を付けてはならない
PB.TYPO.RSK - 同じフィールドに複数の getter/setter メソッドを使用しない
PB.TYPO.TLS - switch 文でテキスト ラベルを使わない
PB.TYPO.UOL - 8 進整数リテラルを使用しない
PB.TYPO.WT - Java のラッパー クラスに渡される引数にタイプミスがないようにする
PB.USC.AES - 空のステートメントを避ける
PB.USC.CC - 必ず定数値に評価される条件式を避ける
PB.USC.EC - 空のクラスを使用しない
PB.USC.EPC - クラスに他のコンストラクターがない場合に、空の public コンストラクタを定義しない
PB.USC.NACC - アクセスできるメンバーのないクラスを使用しない
PB.USC.NASSIG - メソッドおよびコンストラクターの戻り値を必ず使用する
PB.USC.OI - 効果のないインクリメント文およびデクリメント文を避ける
PB.USC.RTE - 例外を再 throw するためだけにキャッチしてはいけない
PB.USC.SAFL - フィールドとローカル変数への自分自身の代入/初期化を避ける
PB.USC.UIF - 到達しない else if と else を避ける
PB.USC.UNARY - 単項演算子 '+' を使用してはいけない
PB.CLOSE - 無制限のロック リソース
PB.EAR - void ではないメソッドの戻り値は、空の配列または null であってはいけない
PB.IKICO - 比較演算に使用されているキーが不変であることを確認する
PB.NAECS - switch 文の 列挙型の各定数に case 文を用意する
PB.OCSF - ファイルと同じ名前を持つ型を 1 つだけ必ず用意する
PB.PCSF - ファイルと同名の型を必ず public として宣言する
PB.PDCL - switch 文の最後の case として default を配置する
PB.PDS - 各 switch 文に default: を用意する
PCIDSS32.651.TDCMD -コマンド インジェクションから防御する
PCIDSS32.651.TDDIG - Jakarta Digester インジェクションから防御する
PCIDSS32.651.TDENV - 環境に対するインジェクションから防御する
PCIDSS32.651.TDINPUT - フォーマット文字列からサニタイズされていないユーザー入力を除外する
PCIDSS32.651.TDJXPATH - JXPath インジェクションから防御する
PCIDSS32.651.TDLDAP - LDAP インジェクションから防御する
PCIDSS32.651.TDLOG - ログの偽造から防御する
PCIDSS32.651.TDNET - ネットワーク リソース インジェクションから防御する
PCIDSS32.651.TDRFL - Reflection インジェクションから防御する
PCIDSS32.651.TDSQL - SQL インジェクションから防御する
PCIDSS32.651.TDXML - XML データ インジェクションから防御する
PCIDSS32.651.TDXPATH - XPath インジェクションから防御する
PCIDSS32.651.UPS - createStatement ではなく prepareCall または prepareStatement を使用する
PCIDSS32.651.XPIJ - XPath クエリーの評価での XPath インジェクションを防ぐ
PCIDSS32.6510.DNSL - 意思決定のための DNS ルックアップを避ける
PCIDSS32.6510.HGRSI -'HttpServletRequest' クラスの 'getRequestedSessionId' メソッドの使用を避ける
PCIDSS32.6510.ISL - LoginContext.login() の前に必ず HttpSession.invalidate() を呼び出すこと
PCIDSS32.6510.PCCF - Castor の jdo-conf.xml でユーザー名およびパスワードをプレーン テキストに保存しない
PCIDSS32.6510.PTPT - Axis の wsdd ファイルでプレーン テキストのパスワードを使用しない
PCIDSS32.6510.PWDXML - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
PCIDSS32.6510.RUIM - セッション有効期限が適切であるようにする
PCIDSS32.6510.STTL - 'web.xml' ファイルでセッションがタイム アウトするよう設定されていることを確認する
PCIDSS32.6510.TDPASSWD - 保護されていない認証情報の使用から保護する
PCIDSS32.6510.UOSC - getSecure() および setSecure() メソッドを使ってセキュアな Cookie の使用を推進する
PCIDSS32.6510.UPWD - 暗号化されていない Hibernate ユーザ名およびパスワードを web.xml ファイルに保存しない
PCIDSS32.6510.UTAX - Axis2 構成ファイルでプレーン テキストのパスワードを使用しない
PCIDSS32.6510.WCPWD - WebSphere の ibm-webservicesclient-ext.xmi ファイルの設定でパスワードを暗号化する
PCIDSS32.6510.WPWD - WebSphere の ibm-webservices-ext.xmi ファイルの設定でパスワードを暗号化する
PCIDSS32.653.ACMD - MessageDigest のカスタム実装の使用を避ける
PCIDSS32.653.AISSAJAVA - Spring でのデータ暗号化で、セキュアではない暗号化アルゴリズムを使用しない
PCIDSS32.653.AISSAXML - Spring XML 設定ファイルで、セキュアではない暗号化アルゴリズムを使用しない
PCIDSS32.653.AUNC - 非テスト クラスでの javax.crypto.NullCipher クラスの使用を避ける
PCIDSS32.653.CKTS - CWE.326.CKTS - 短すぎる暗号化キーを避ける
PCIDSS32.653.ICA - 安全でないアルゴリズムを暗号化のために使用しない
PCIDSS32.653.MDSALT - ハッシュ関数は salt とともに使用する
PCIDSS32.653.PLAIN - パスワード情報がプレーンテキストでプロパティ ファイルに含まれていてはならない
PCIDSS32.653.PLC - 機密データを cookie にプレーンテキストで格納してはならない
PCIDSS32.653.PWDPROP - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
PCIDSS32.653.SRD - java.util.Random または Math.random() の代わりに java.security.SecureRandom を使用する
PCIDSS32.654.CONSEN - 機密情報をログに記録しない
PCIDSS32.654.HCCK - ハード コーディングされた暗号化キーの使用を避ける
PCIDSS32.654.HTTPS - axis2.xml 構成ファイルの transportReceiver および transportSender で http ではなく https を使用する
PCIDSS32.654.MCMDU - MessageDigest オブジェクトは 'update' メソッドでデータを処理する必要がある
PCIDSS32.654.SIKG - KeyGenerator インスタンスを初期化する
PCIDSS32.654.USC - 可能であれば SSL を利用できるクラスを使用する
PCIDSS32.655.ACPST - Throwable オブジェクトの printStackTrace() メソッドを呼び出さない
PCIDSS32.655.AECB - 空の try、catch、finally ブロックを避ける
PCIDSS32.655.ARCF - try-catch ブロック内に return 文がある場合、 finally ブロックでの return 文の使用を避ける
PCIDSS32.655.CETS - サーブレット メソッド内で throw されるすべての例外をキャッチする
PCIDSS32.655.CHECKRET - 非 void メソッドの戻り値を必ずチェックする
PCIDSS32.655.CRRV - 読み込みまたはスキップを行うメソッドの戻り値を確認する
PCIDSS32.655.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
PCIDSS32.655.PEO - 機密情報のリークを防ぐため、例外メッセージを出力に渡してはならない
PCIDSS32.655.SENS - 機密データの公開を防止する
PCIDSS32.655.SEP - web.xml で必ずエラー ページを指定する
PCIDSS32.655.SIO - System.err または System.out の print メソッドの呼び出しを避ける
PCIDSS32.657.CDBV - 検証の前にすべてのデータを正規化する
PCIDSS32.657.TDRESP - HTTP レスポンス分割から防御する
PCIDSS32.657.TDXSS - XSS 脆弱性から防御する
PCIDSS32.658.AUSS - SQL クエリ内の "SELECT *" を避ける
PCIDSS32.658.CAM - すべての認証メソッドを集中化して一貫性を徹底する
PCIDSS32.658.DPANY - ANYONE ロールに EJB のアクセス パーミッションを与えない
PCIDSS32.658.DSR - web.xml ファイルに複数のセキュリティ ロールを同じ名前で定義しない
PCIDSS32.658.LCA - web.xml ファイルで適切な <login-config> 要素を指定して認証タイプを指定する
PCIDSS32.658.MLVP - validation.xml ファイルのパスワード フィールドに minlength バリデーターを使用する
PCIDSS32.658.PERMIT - セキュリティ アノテーションのない EJB 3 メソッドを避ける
PCIDSS32.658.SRCD - web.xml で参照されるすべてのセキュリティ ロールに対応する定義がなければならない
PCIDSS32.658.SSM - 適切なセキュリティ マネージャーを設定する
PCIDSS32.658.TDFNAMES - ファイル名インジェクションから防御する
PCIDSS32.659.EACM - 危険なメソッドの引数を検証メソッドでカプセル化する
PCIDSS32.659.VPPD - すべての危険なデータを検証する
PORT.CTSP - Thread.setPriority() を呼び出さない
PORT.DNHCP - File クラスからコンストラクターを呼び出すときに絶対パスをハード コーディングしてはいけない
PORT.ENV - 移植可能ではない System.getenv() メソッドを使用しない
PORT.EXEC - Runtime.exec() を使用しない
PORT.HCNA - IP アドレスとポート番号をハード コーディングしてはいけない
PORT.LNSP - '\\n' または '\\r' を行分離記号としてハードコーディングしない
PORT.NATV - ユーザー定義の native メソッドを使用しない
PORT.PEER - ユーザー定義の native メソッドを使用しない
PORT.PSC - 該当するリテラルの代わりに File.pathSeparator または File.pathSeparatorChar を使用する
PROPS.BSPV - プロパティ値の最後に余分な空白を付加しない
PROPS.DUPN - 重複するプロパティ名を避ける
PROPS.DUPV - 重複するプロパティ値を避ける
PROPS.EMN - 空のプロパティ名を避ける
PROPS.EMV - 空のプロパティ値を避ける
PROPS.EQOP - 常に '=' 演算子を使用する
PROPS.FM - プロパティエントリ数を制限する
PROPS.HCLS - プロパティ値ではハードコーディングされた改行を使用しない
PROPS.IARG - プロパティ値の誤った引数を避ける
PROPS.ICK - 不完全なプロパティエントリを避ける
PROPS.IVCC - 継続行文字 '\\' の誤用を避ける
PROPS.MENTRY - 異なるロケール間でのプロパティエントリの不一致を避ける
PROPS.MLN - 複数行に分割されたプロパティ名を避ける
PROPS.NAME - プロパティ名の命名規則を推進する
PROPS.PLAIN - パスワード情報がプレーンテキストでプロパティ ファイルに含まれていてはならない
PROPS.SPELL - コメントとプロパティ値の綴り間違いを避ける
PROPS.TENTRY - プロパティエントリが正しくローカライズされるようにする
SECURITY.BV.ACL - Web コンポーネントでクラス ローダーにアクセスしない
SECURITY.BV.ADT - Date、Time オブジェクトまたは System.currentTimeMillis() メソッドの使用を検査する
SECURITY.BV.AUG - java.lang.Class オブジェクトの getName() メソッドの使用を検査する
SECURITY.BV.CQRO - Castor クエリーでは read-only AccessMode を使用する
SECURITY.BV.DSSM - main メソッドの外でカスタム セキュリティ マネージャーを設定してはいけない
SECURITY.BV.ENFL - すべてのセキュリティ関連メソッドの呼び出しを必ずログに記録する
SECURITY.BV.NSF - Web コンポーネントで Socket.setSocketImplFactory() または URL.setURLStreamHandlerFactory() を呼び出さない
SECURITY.BV.PCFM - 「特権付き」メソッドの呼び出しを final メソッドでラップする
SECURITY.BV.PCPM - 「特権付き」メソッドの呼び出しを private メソッドでラップする
SECURITY.BV.PDLC - 「特権付き」 コード ブロックでは、動的にロードされたクラスを使用しない
SECURITY.BV.SYSP - システム プロパティにアクセスまたは値を設定してはならない
SECURITY.DRC.THR - Web コンポーネントでスレッドを使用しない
SECURITY.EAB.ACWC - Web コンポーネントまたは EJB から特定のメソッドを呼び出さない
SECURITY.EAB.AWT - Web コンポーネントで AWT クラスを使用しない
SECURITY.EAB.CBA - writeObject() で ObjectOutputStream にバイト配列を渡してはいけない
SECURITY.EAB.CMP - クラス オブジェクトを名前で比較しない
SECURITY.EAB.CPCL - clone() メソッドでは防御的なコピーを返す
SECURITY.EAB.JVM - Web コンポーネントで JVM を停止しない
SECURITY.EAB.LDP - 1 クラスあたりの AccessController.doPrivileged の呼び出しの数を制限する
SECURITY.EAB.MPT - ユーザから取得した可変オブジェクトを特定の型に直接渡してはならない
SECURITY.EAB.OROM - すべての serializable クラスに対して readObject() と writeObject() を実装する
SECURITY.EAB.PCL - 「特権付き」コード ブロックの行数を制限する
SECURITY.EAB.SF - Web コンポーネントで static フィールドを宣言しない
SECURITY.EAB.SIS - Web コンポーネントで java.lang.System の入力ストリームを変更しない
SECURITY.EAB.SMO - ユーザ定義の可変オブジェクトを直接変数に格納してはいけない
SECURITY.EAB.SPFF - static final 宣言が意図されていた可能性のある static フィールドを検査する
SECURITY.ESD.ACW - コンソールへの書き込みを避ける
SECURITY.ESD.CONSEN - 機密情報をログに記録しない
SECURITY.ESD.CSD - 機密データは使用後に消去する
SECURITY.ESD.PEO - 機密情報のリークを防ぐため、例外メッセージを出力に渡してはならない
SECURITY.ESD.PLC - 機密データを cookie にプレーンテキストで格納してはならない
SECURITY.ESD.RA - 配列や他の可変フィールドの返却によって内部表現を公開するかもしれないメソッドは避ける
SECURITY.ESD.SDM - 機密データを可変オブジェクトに格納する
SECURITY.ESD.SIF - serializable オブジェクトのインスタンス フィールドをチェックして機密データを公開していないことを確認する
SECURITY.ESD.SIO - System.err または System.out の print メソッドの呼び出しを避ける
SECURITY.ESD.SNFD - FileNotFound 例外でデータを公開しない
SECURITY.ESD.SPI - Web コンポーネントでセキュリティ ポリシー情報を取得または変更しない
SECURITY.ESD.TFP - transient フィールドを private 宣言する
SECURITY.ESD.TSPF - serialPersistentFields 配列で transient フィールドを避ける
SECURITY.IBA.AEAF - DStruts クラスの ActionForm および DynaActionForm を継承してはいけない
SECURITY.IBA.ATF - テンポラリ ファイルを使用しない
SECURITY.IBA.AUSS - SQL クエリ内の \"SELECT *\" を避ける
SECURITY.IBA.AUXD - XMLDecoder で信頼されていないデータを解析しない
SECURITY.IBA.CDBV - 検証の前にすべてのデータを正規化する
SECURITY.IBA.CSVFV - ActionForm クラスの検証メソッドから必ず super.validate() メソッドを呼び出すこと
SECURITY.IBA.DXXE - XML 外部エンティティ インジェクションを無効化する
SECURITY.IBA.EDPM - コンストラクター引数を検証関数でカプセル化する
SECURITY.IBA.NATIW - ネイティブ メソッドを安全にするためにラッパーを使用する
SECURITY.IBA.RUIM - セッション有効期限が適切であるようにする
SECURITY.IBA.SC - LDAP のデシリアライズを無効化する
SECURITY.IBA.UPS - createStatement ではなく prepareCall または prepareStatement を使用する
SECURITY.IBA.VRD - すべてのリダイレクトおよびフォワード URL を検証メソッドでカプセル化する
SECURITY.IBA.XPIJ - XPath クエリーの評価での XPath インジェクションを防ぐ
SECURITY.UEC.ADS - Axis の server-config.wsdd ファイルで axis.development.system を false に設定する
SECURITY.UEC.AELQ - Axis の server-config.wsdd ファイルで axis.enableListQuery を false に設定する
SECURITY.UEC.DSL - Axis の server-config.wsdd ファイルで axis.disableServiceList を true に設定する
SECURITY.UEC.DSR - web.xml ファイルに複数のセキュリティ ロールを同じ名前で定義しない
SECURITY.UEC.EDAR - Axis2 構成ファイルの各 items タグに Encrypt ディレクティブを指定する
SECURITY.UEC.FMCD - web.xml ファイルでマップされているすべてのフィルターに対応する定義がなければならない
SECURITY.UEC.HTTPS - axis2.xml 構成ファイルの transportReceiver および transportSender で http ではなく https を使用する
SECURITY.UEC.ISOS - axis2.xml 構成ファイルで InflowSecurity および OutflowSecurity 引数を指定する
SECURITY.UEC.LCA - web.xml ファイルで適切な <login-config> 要素を指定して認証タイプを指定する
SECURITY.UEC.PCCF - Castor の jdo-conf.xml でユーザー名およびパスワードをプレーン テキストに保存しない
SECURITY.UEC.PTPT - Axis の wsdd ファイルでプレーン テキストのパスワードを使用しない
SECURITY.UEC.PWDPROP - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
SECURITY.UEC.PWDXML - パスワードがプレーンテキストとして格納されず、十分な長さがあることを確認する
SECURITY.UEC.RAJ - web.xml ファイルに *.jsp ファイルに対するセキュリティ制約を追加することで、JSP へのアクセスを制限する
SECURITY.UEC.REST - axis2.xml 構成ファイルで REST を無効にする
SECURITY.UEC.SDAR - Axis2 構成ファイルの各 items タグに Signature ディレクティブを指定する
SECURITY.UEC.SEP - web.xml で必ずエラー ページを指定する
SECURITY.UEC.SLID - セッション ID の長さが適切であることを確認する
SECURITY.UEC.SMM - SOAP Monitor モジュールを使用しない
SECURITY.UEC.SRCD - web.xml で参照されるすべてのセキュリティ ロールに対応する定義がなければならない
SECURITY.UEC.STTL - 'web.xml' ファイルでセッションがタイム アウトするよう設定されていることを確認する
SECURITY.UEC.TDAR - Axis2 構成ファイルの各 items タグに Timestamp ディレクティブを指定する
SECURITY.UEC.UDC - web.xml ファイルのすべての制約付きリソースを <user-data-constraint> で防御する
SECURITY.UEC.UTAX - Axis2 構成ファイルでプレーン テキストのパスワードを使用しない
SECURITY.UEC.WCMC - WebSphere の ibm-webservicesclient-ext.xmi ファイルの設定で SOAP メッセージを暗号化する
SECURITY.UEC.WCMI - WebSphere の ibm-webservicesclient-ext.xmi ファイルの設定で SOAP メッセージに電子署名されるようにする
SECURITY.UEC.WCMT - WebSphere の ibm-webservicesclient-ext.xmi ファイルで、タイムスタンプを正しく設定する
SECURITY.UEC.WCMWS - ibm-webservicesclient-ext.xmi ファイルで WS-Security を有効にする
SECURITY.UEC.WCPWD - WebSphere の ibm-webservicesclient-ext.xmi ファイルの設定でパスワードを暗号化する
SECURITY.UEC.WCUTS - WebSphere の ibm-webservicesclient-ext.xmi ファイルの設定で、タイムスタンプに署名する
SECURITY.UEC.WELC - すべての Web コンテンツ ディレクトリに「ウェルカム ファイル」があることを確認する
SECURITY.UEC.WMC - WebSphere の ibm-webservices-ext.xmi ファイルの設定で SOAP メッセージを暗号化する
SECURITY.UEC.WMI - WebSphere の ibm-webservices-ext.xmi ファイルの設定で、SOAP メッセージにデジタル署名する
SECURITY.UEC.WMT - WebSphere の ibm-webservices-ext.xmi ファイルで、タイムスタンプを正しく設定する
SECURITY.UEC.WMWS - WebSphere の ibm-webservices-ext.xmi ファイルで WS-Security を有効にする
SECURITY.UEC.WPWD - WebSphere の ibm-webservices-ext.xmi ファイルの設定でパスワードを暗号化する
SECURITY.UEC.WSS - Axis2 構成ファイルで Rampart WS-Security モジュールを有効にする
SECURITY.UEC.WUTS - WebSphere の ibm-webservices-ext.xmi ファイルの設定で、タイムスタンプに署名する
SECURITY.UEHL.DCEMSL - Seam Logging API を使用してメッセージをログに記録する場合、信頼されていない入力を使用しない
SECURITY.UEHL.LGE - すべての例外が標準のロガーでログに記録されるか、再 throw されるようにする
SECURITY.WSC.ACDP - AccessController.doPrivileged() を呼び出すときに匿名の「特権付き」クラスを使用しない
SECURITY.WSC.ACMD - MessageDigest のカスタム実装の使用を避ける
SECURITY.WSC.ACPST - Throwable オブジェクトの printStackTrace() メソッドを呼び出さない
SECURITY.WSC.AHCA - 特定のメソッドへの引数をハードコーディングしない
SECURITY.WSC.AISSAJAVA - Spring でのデータ暗号化で、セキュアではない暗号化アルゴリズムを使用しない
SECURITY.WSC.AISSAXML - Spring XML 設定ファイルで、セキュアではない暗号化アルゴリズムを使用しない
SECURITY.WSC.AMA - スーパークラスよりもアクセシビリティの高いコンストラクターまたはオーバーライド メソッドを避ける
SECURITY.WSC.APIBS - セキュリティを迂回する標準 API 呼び出しの使用を検査する
SECURITY.WSC.ARXML - ただのテキストではなくライブラリで XML および HTML を処理する
SECURITY.WSC.ASAPI - scripting API が信頼性のないコードを実行するのを防ぐ
SECURITY.WSC.AUIC - インナー クラスの使用を避ける
SECURITY.WSC.AUNC - 非テスト クラスでの javax.crypto.NullCipher クラスの使用を避ける
SECURITY.WSC.BP - 特定のプロバイダーだけを Security.addProvider() メソッドに渡す
SECURITY.WSC.BUSSB - 外部プロセスが出力またはエラー ストリームをブロックするのを防ぐ
SECURITY.WSC.CACM - すべてのアクセス制御メソッドを集中化して一貫性を徹底する
SECURITY.WSC.CAM - すべての認証メソッドを集中化して一貫性を徹底する
SECURITY.WSC.CAP - フィールドに格納される配列引数を必ず複製する
SECURITY.WSC.CFM - final ではないクラスの特定のコード ブロックからは final メソッドだけを呼び出す
SECURITY.WSC.CIFC - final クラスのインスタンスだけを clone() する
SECURITY.WSC.CKTS - 短すぎる暗号化キーを避ける
SECURITY.WSC.CL - カスタム クラス ローダーを定義してはいけない
SECURITY.WSC.CLI - ClassLoader オブジェクトのインスタンス生成を検査する
SECURITY.WSC.CLO - findClass() 以外の ClassLoader のメソッドをオーバーライドしない
SECURITY.WSC.CLONE - セキュリティのために clone () を final 宣言する
SECURITY.WSC.CMO - writeObject() で ObjectOutputStream に可変オブジェクトを渡さない
SECURITY.WSC.DCSM - カスタム SecurityManager を定義してはいけない
SECURITY.WSC.DNSL - 意思決定のための DNS ルックアップを避ける
SECURITY.WSC.DSER - クラスをデシリアライズ不可能にする
SECURITY.WSC.ENPP - 特定のメソッドに渡される引数が事前に定義されたメソッドのリストからきていることを確認する
SECURITY.WSC.EWSSEC - Spring Security フレームワークからのデバッグ情報をログに記録しない
SECURITY.WSC.FIMU - 不変クラスを final にする
SECURITY.WSC.FXMLP - Secure Processing を使用する
SECURITY.WSC.HCCK - ハード コーディングされた暗号化キーの使用を避ける
SECURITY.WSC.HCCS - ハードコーディングされたユーザー名/パスワード/URL をデータベース接続メソッドに渡すことを避ける
SECURITY.WSC.HGRSI -'HttpServletRequest' クラスの 'getRequestedSessionId' メソッドの使用を避ける
SECURITY.WSC.HV - HostnameVerifier.verify() メソッドが証明書を検証していることを確認する
SECURITY.WSC.ICA - 安全でないアルゴリズムを暗号化のために使用しない
SECURITY.WSC.INIVF - 非 final クラスのインスタンスが部分的に初期化されるのを防ぐ
SECURITY.WSC.INNER - すべてのメンバー クラスを private にする
SECURITY.WSC.ISL - LoginContext.login() の前に必ず HttpSession.invalidate() を呼び出すこと
SECURITY.WSC.IVR - IvParameterSpec を使用する際はランダムではない byte[] を避ける
SECURITY.WSC.MCMDU - MessageDigest オブジェクトは 'update' メソッドでデータを処理する必要がある
SECURITY.WSC.MCNC - クラスをクローン不可能にする
SECURITY.WSC.MDSALT - ハッシュ関数は salt とともに使用する
SECURITY.WSC.PAC - 認証メソッドを呼び出して一貫性を徹底する
SECURITY.WSC.PACC - アクセス制御メソッドを呼び出して一貫性を徹底する
SECURITY.WSC.PAF - PrivilegedAction、PrivilegedExceptionAction および PrivilegedActionException のサブクラスを final 宣言する
SECURITY.WSC.PBPSF - Permission および BasicPermission のサブクラスを final 宣言する
SECURITY.WSC.PBRTE - 必ず実行コマンドへの絶対パスを指定する
SECURITY.WSC.PPKG - すべての Permissions、PrivilegedActions、および and PrivilegedActionExceptions を同じパッケージで宣言する
SECURITY.WSC.PRMF - PrivilegedAction および PrivilegedExceptionAction の実装の run() メソッドを final 宣言する
SECURITY.WSC.PSFC - フィールドを Collection または Map 型の public static final オブジェクトとして宣言しない
SECURITY.WSC.RDM - Random オブジェクトまたは Math.random() メソッドを調査して悪意のあるコードがないことを検証する
SECURITY.WSC.SCF - フィールドを設定または取得する前に SecurityManager でチェックする
SECURITY.WSC.SCHTTP - cookie を HttpOnly としてマークする
SECURITY.WSC.SCLONE - Clonable クラスで SecurityManager のチェックを行う
SECURITY.WSC.SCSER - Serializable クラスのメソッドで SecurityManager のチェックを行う
SECURITY.WSC.SCSM - 機密性の高い型の final ではない public コンストラクターで SecurityManager のチェックを行う
SECURITY.WSC.SER - クラスはシリアライズ不可にする
SECURITY.WSC.SIKG - KeyGenerator インスタンスを初期化する
SECURITY.WSC.SL - 定数宣言、および System.out または System.err の 'print' または 'println' メソッドを除いては、文字列リテラルを使用しない
SECURITY.WSC.SMSTR - Socket による転送または取得の前に SecurityManager のチェックを行う
SECURITY.WSC.SRD - java.util.Random または Math.random() の代わりに java.security.SecureRandom を使用する
SECURITY.WSC.SS - Web コンポーネントでソケットを使用しない
SECURITY.WSC.SSM - 適切なセキュリティ マネージャーを設定する
SECURITY.WSC.SSP - Web コンポーネントで System.setProperty() を呼び出さない
SECURITY.WSC.STREP - ライブラリ メソッドを使用して HTML および XML の特殊文字の文字列置換を行う
SECURITY.WSC.UMAIN - main() メソッドはクラスへの認可されていないアクセスを許す可能性があるため、使用を避ける
SECURITY.WSC.UOSC - getSecure() および setSecure() メソッドを使ってセキュアな Cookie の使用を推進する
SECURITY.WSC.USC - 可能であれば SSL を利用できるクラスを使用する
SECURITY.WSC.UWM - 危険または問題のあるメソッドを直接呼ぶ代わりにラッパーメソッドを使用する (カスタムルール)
SECURITY.WSC.VJFS - 必ず JarFile シグニチャを検証する
SECURITY.WSC.VSI - サーバー識別子を適切に検証する
SECURITY.WSC.ZOIS - スクリプティング API の使用を検査する
SERIAL.DUID - すべての Serializable クラスに対して serialVersionUID を作成する
SERIAL.ENNAC - Externalizable を実装しているが引数なしコンストラクターを定義していないクラスを避ける
SERIAL.EZEE - Serializable ではなく Externalizable を実装する
SERIAL.FT - シリアライズ可能ではないクラスに transient フィールドを宣言しない
SERIAL.IRX - Externalizable クラスの readExternal() メソッドでフィールドを再初期化しない
SERIAL.MRWD - readResolve() および writeReplace() メソッドの戻り値の型は必ず java.lang.Object にする
SERIAL.NSFSC - 正しい Serializable クラスを使用する
SERIAL.OC - インナー クラスが serializable の場合、外側のクラスも serializable にする
SERIAL.ROWO - readObject() と writeObject() メソッドが正しいシグネチャを持つようにする
SERIAL.RRSC - すべての Serializable 型のインスタンスで readResolve メソッドを定義する
SERIAL.RWAF - すべてのフィールドを readObject() メソッドによって代入し writeObject() によって書き出す
SERIAL.SCBNP - Serializable でない親クラスから派生する Serializable なサブクラスに必ず writeObject および readObject メソッドを宣言する
SERIAL.SNNAC - 引数なしコンストラクターを持たないスーパー クラスを拡張するクラスのシリアライズを避ける
SERIAL.SNSO - Serializable ではないオブジェクトを HttpSession 属性として格納しない
SERIAL.SPF - serialPersistentFields を private static final として宣言する
SERIAL.SRLZ - Serializable を実装していないクラスで serialVersionUID を宣言しない
SERIAL.SROS - readObject() メソッドを synchronized として宣言してはいけない
SERIAL.VOBD - デシリアライズの前にオブジェクトを検証する
SERVLET.AJDBC - Servlet クラスでの JDBC コードの使用は避ける
SERVLET.BINS - java.beans.Beans.instantiate () を使用しない
SERVLET.CETS - サーブレット メソッド内で throw されるすべての例外をキャッチする
SERVLET.DSN - 同じ <servlet-name> を持つ複数の <servlet> 要素を 1 つの web.xml ファイル内に記述しない
SERVLET.IF - Servlet クラスでインスタンス フィールドを定義してはいけない
SERVLET.LML - サーブレットではサイズの制限がない Collection の使用を避ける
SERVLET.MDC - 引数なしの public コンストラクターを宣言する
SERVLET.NMS - web.xml ファイルの1 サーブレットあたりのマッピングの数を制限する
SERVLET.NSIS - サーブレットで static 変数を作成してはいけない
SERVLET.NSSS - 同期化せずにサーブレットで static 変数を使用してはいけない
SERVLET.SCM - web.xml ファイルにすべてのサーブレットに対応するマッピングがあることを確認する
SERVLET.SDTD - web.xml ファイルに適切なスキーマまたは DTD を指定する
SERVLET.SOP - サーブレットでの System.out や System.err の使用を最小限に抑える
SERVLET.SSN - web.xml ファイルのすべての <servlet> 要素に 1 つの空ではない <servlet-name> 要素があることを確認する
SERVLET.STM - サーブレット クラス内で SingleThreadModel を使用しない
SERVLET.SYN - サーブレット内の同期化を最小限にする
SERVLET.UCO - Context Object を使って HTTP リクエスト パラメーターを管理する
SPRING.ACARG - コンストラクターのインジェクションを避ける
SPRING.ATCFG - 構成クラスの規則に従う
SPRING.DCSRFJAVA - CSRF 防護を無効にしない
SPRING.DCSRFXML - CSRF 防護を無効にしない
SPRING.DESC - 構成ファイルのヘッダーで description タグを使用する
SPRING.IDNAME - name と id を同時に使用しない
SPRING.IMPORTSRES - 相対パス ''../'' を使用して親ファイルを参照してはならない
SPRING.JDBCTEMPLATE - ネイティブ JDBC の使用を避ける
SPRING.LOCAL - ローカル スコープで local プロパティ属性を使用する
SPRING.PREFTYPE - コンストラクター引数のマッチングでは index より type を使用するほうが望ましい
SPRING.PROPLIMIT - bean プロパティの規約に従う
SPRING.REQMAP - @RequestMapping アノテーションがあるメソッドに呼び出す HTTP メソッドが指定されていることを確認する
SPRING.SPRNAM - spring bean の命名規約を使用する
SPRING.USEID - bean の識別子として ID を使用する
STRUTS.STRUTS2.S2DAFV - フィールド バリデーターの重複を避ける
STRUTS.STRUTS2.S2DV - バリデーターの重複を避ける
STRUTS.STRUTS2.S2DVF - バリデーション ファイルの重複を避ける
STRUTS.STRUTS2.S2NA - 各バリデーション ファイルに対応する Action があることを確認する
STRUTS.ACDA - Action クラスからデータベースにアクセスしないようにする
STRUTS.ACJC - Action クラスから JSP ページにアクセスしないようにする
STRUTS.AIV - struts-config.xml ファイルで <action> 要素にバリデーションがある場合、@input 属性を指定する
STRUTS.AMFB - struts-config.xml ファイルのすべての名前付き <action> 要素に <form-bean> を指定する
STRUTS.APSN - struts-config.xml ファイルの名前のない <action> 要素に @prefix、@suffix、および @attribute を指定しない
STRUTS.ARP - struts-config.xml の属性で相対パスを使用しない
STRUTS.DFV - validation.xml でフォームの重複を避ける
STRUTS.DLGF - 同じ名前のローカル フォワードとグローバル フォワードを struts-config.xml ファイルで使用しないようにする
STRUTS.EV - Struts の struts-config.xml でバリデーターが有効であることを確認する
STRUTS.FIELDS - フォーム Bean 中の各フィールドは適切な getter/setter メソッドを持つべきである
STRUTS.FORM - フォーム Bean には getter/setter メソッドだけを含める
STRUTS.FWD - struts-config.xml ファイルのすべての <forward> 要素に空ではない名前とパスを指定する
STRUTS.IACM - Action クラスのメソッドを呼び出さないようにする
STRUTS.INST - Struts Action クラスでインスタンス変数を宣言してはいけない
STRUTS.MFBSN - struts-config.xml ファイルに同じ名前の複数のフォーム Bean を定義しない
STRUTS.MLFF - Struts バリデーション ファイルのすべてのフォーム フィールドに有効な maxlength 値を指定する
STRUTS.MLVP - validation.xml ファイルのパスワード フィールドに minlength バリデーターを使用する
STRUTS.NTFB - struts-config.xml ファイルのすべてのフォーム Bean に名前と型を指定する
STRUTS.PFS - struts-config.xml ファイルの <action> および <forward> 要素の @path 属性が '/' で始まっていることを確認する
STRUTS.PLUGIN - struts-config.xml にプラグインが追加されていることを確認する
STRUTS.PMAC - Action クラスでは public メソッドを避ける
STRUTS.PTE - struts-config.xml ファイルのすべての <exception> 要素に空ではないパスおよび型を指定する
STRUTS.RSS - struts-config.xml のアクションまたは例外の scope 属性に request または session が設定されていることを確認する
STRUTS.SCDTD - struts-config.xml ファイルで Struts DTD を使用してバリデーションを行う
STRUTS.TAFP - struts-config.xml ファイルのすべての <form-property> 要素に有効な type 属性を指定する
STRUTS.VPI - すべての struts-config.xml ファイルで Struts Validator プラグインを有効にする
TRS.AIL - 常に同期化された方法でアクセスされる Atomic 変数を使用しない
TRS.ANF - notify () ではなく notifyAll () を使用し、すべての待ち状態のスレッドが通知されるようにする
TRS.ATI - Thread.interrupted() を誤って使用しない
TRS.AUTG - 安全でない java.lang.ThreadGroup 型の変数を使用しない
TRS.AUTY - Thread.yield () を使用しない。異なる仮想マシンの下では振る舞いが異なる可能性がある
TRS.CDF - static な Calendar, DateFormat, SimpleDateFormat を使ってメソッドを呼び出さないようにする
TRS.CHM - 可能な限り Hashtable および synchronizedMap でラップされた HashMap の代わりに ConcurrentHashMap を使用する
TRS.CIET - Thread を拡張するクラス以外で InterruptedException をキャッチしない
TRS.CLQ - 可能な限り Vector および synchronizedList の代わりに ConcurrentLinkedQueue を使用する
TRS.CMA - 同期化された Collection に対する複合アクションによるアクセスは原子性に違反するため避ける
TRS.CSFS - デッドロック発生の原因となる synchronized メソッドからの synchronized メソッドの呼び出しを避ける
TRS.CSTART - コンストラクタからスレッドの start メソッドを呼び出さない
TRS.CTRE - コンストラクターで this 参照を流出させない
TRS.DCL - 安全ではない「ダブルチェック ロッキング」パターンの実装を避ける
TRS.DOPQ - PriorityBlockingQueue で DiscardOldestPolicy を使用しない
TRS.GSD - デバッグ目的の場合を除いて、getState を使用しない
TRS.IASF - 同期化が必要な可能性のある static フィールドへのアクセスを検査する
TRS.ILI - スレッドセーフな遅延初期化にする
TRS.IMSE - IllegalMonitorStateException をキャッチしてはいけない。この例外は設計の欠陥を示している可能性がある
TRS.IRET - Thread を拡張するのではなく Runnable を実装する
TRS.IRUN - java.lang.Thread を拡張するクラスまたは java.lang.Runnable を実装するクラスで run() を直接呼び出さない
TRS.ISTART - Thread クラスのインスタンスに対して直接 'start()' メソッドを呼び出さない
TRS.LORD - ネストされたロックの順序が正しいことを確認する
TRS.MRAV - 関連のある複数の Atomic 変数には synchronized ブロック内でアクセスする
TRS.MRUN - 別のスレッドとして実行できるようにスレッドのサブクラスには run () を入れる
TRS.NAME - スレッドに必ず名前を付ける
TRS.NSM - メソッド宣言全体を synchronized にするのではなく、synchronized ブロックを使用する
TRS.NSYN - 外側のメソッドのスコープで明確に同期化されたオブジェクトで wait()、notify()、notifyAll() を呼び出す
TRS.OSNS - 同期化されたメソッドを同期化されていないメソッドでオーバーライドしてはならない
TRS.RLF - finally ブロックでロックを解放する
TRS.RUN - Runnable.run() を実装するメソッドで同期化を使用する
TRS.SCS - 定数 String を同期化しない
TRS.SGC - 'getClass' メソッドから返されたクラス オブジェクトを同期しない
TRS.SNSM - static の synchronized メソッドと static でない synchronized メソッドを混合させない
TRS.SOBC - 背後のコレクションにアクセス可能な場合、コレクション ビューを同期しない
TRS.SOL - java.util.concurrent.locks.Lock の実装に synchronized キーワードを使用して同期化を実行してはいけない
TRS.SOPF - デッドロックを引き起こす可能性があるため、public フィールドを同期化しない
TRS.SOUF - 相互排除を保障するのが難しくなるため、final ではないフィールドを同期化してはいけない
TRS.SSCI - synchronized Collection を反復処理する場合は、手動で同期化する
TRS.SSDF - static な SimpleDateFormat へのアクセスを同期する
TRS.SSUG - set メソッドを同期化している場合、get メソッドも同期化する
TRS.STR - Object の this 参照で同期化を実行したりセマフォ メソッドを呼び出したりしてはいけない
TRS.THRD - Thread および Runtime クラスの安全でなく推奨されないメソッドを呼び出さない
TRS.TSHL - ロックを保持している間に Thread.sleep() を呼び出さない。さもないとパフォーマンスを劣化させたりデッドロックを引き起こしたりする
TRS.UACS - Collections.synchronized でラップされた Collection の同期化されていないアクセスを避ける
TRS.UCM - 安全な場合にだけ同期化されていない Collection または Map を使用する
TRS.USL - 同一のロック オブジェクトを使用して変数にアクセスする
TRS.UT - run() メソッドを指定せずにスレッドを開始してはならない
TRS.UWIL - liveness 状態をテストするループの内部でだけ wait () と await() を呼び出す
TRS.UWNA - ポーリング ループではなく wait () および notifyAll () を使用する
TRS.WOC - java.util.concurrent.locks.Condition オブジェクトで正しいメソッド呼び出しを使用する
TRS.WOS - 他のメソッドが同期化されていない場合、writeObject() メソッドを同期化してはいけない
UC.AAI - インターフェイスの不要な修飾子を避ける
UC.ACC - コメント アウトされた Java コードを削除する
UC.AEEO - クラスは java.lang.Object を明示的に継承するべきではない
UC.AESTAT - 空の「static イニシャライザー」と「static ではないイニシャライザー」を避ける
UC.AMAMI - 親クラスの abstract メソッドを abstract メソッドでオーバーライドしてはならない
UC.ARTD - 冗長な throws 句を避ける
UC.AUL - 未使用ラベルを避ける
UC.AURCO - 一度も読まれない Collection を避ける
UC.AURV - 決して読まれないローカル変数の使用を避ける
UC.BCMP - 不要なブール比較を避ける
UC.DIEB - if ブランチに重複するコードを記述しない
UC.DIL - java.lang.* パッケージを明示的にインポートしない
UC.EF - 空の finalize() メソッドを避ける
UC.FCSF - スーパークラスの finalize() を呼び出すだけの finalize() メソッドは冗長なので使用してはいけない
UC.FMFC - final クラスのメソッドの宣言で冗長な final キーワードを使用しない
UC.PF - 未使用の private フィールドを避ける
UC.PIMPORT - 現行クラスを持つパッケージからクラスをインポートしてはいけない
UC.PM - 未使用の private メソッドを避ける
UC.RSKE - 列挙型の宣言で冗長な static キーワードを使用している
UC.SNE - 空の synchronized 文を避ける
UC.SO - オーバーライドされた実装 (スーパークラス実装) を呼び出すだけのメソッドを避ける
UC.UCATCH - キャッチした例外を catch ブロックで必ず使用する
UC.UCIF - 不要な if 文を避ける
UC.UES - 不要な else 文を使用している
UC.UIMPORT - 未使用の import 文を避ける
UC.UP - 使用されないパラメーターを避ける
UC.UPC - 未使用の private なクラスまたはインターフェイスの宣言を避ける
UC.VR - void メソッドの最後の不要な return 文を避ける
XML.DLTH - Tomcat の server.xml で高すぎるデバッグ レベルを使用しない
XML.WF - XML ファイルが整形式であることを確認する