以下のルールは 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.VREADOBJ - readObject() メソッドからオーバーライド可能なメソッドを呼び出さない

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 - 空の trycatchfinally ブロックを避ける

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 - ArrayListHashMapHashSetHashtableVector、および 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 - 空の trycatchfinally ブロックを避ける

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 - コンストラクターから finalstaticprivate ではないメソッドを呼び出してはならない

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 - 空の trycatchfinally ブロックを避ける

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 - 空の trycatchfinally ブロックを避ける

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 - DateTime オブジェクトまたは 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 - PrivilegedActionPrivilegedExceptionAction および PrivilegedActionException のサブクラスを final 宣言する

SECURITY.WSC.PBPSF - Permission および BasicPermission のサブクラスを final 宣言する

SECURITY.WSC.PBRTE - 必ず実行コマンドへの絶対パスを指定する

SECURITY.WSC.PPKG - すべての PermissionsPrivilegedActions、および 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 ファイルが整形式であることを確認する










  • No labels