Klocwork Java チェッカーにマッピングされた CERT Java ID
Klocwork Java チェッカーに対する CERT Java ID の以下のマッピングは、コミュニティで開発されたマッピングです。
ガイドライン | チェッカー名および説明 |
---|---|
DCL02-J(L3) |
JD.UNMOD 変更できないコレクションの変更 |
ENV03-J(L1) |
SV.CLEXT.POLICY クラスが 'java.security.Policy' を拡張しています |
ERR01-J(L3) |
SV.IL.DEV 設計情報の漏洩 |
ERR03-J(L3) |
SV.HTTP_SPLIT HTTP 応答分割 SV.SSRF.URI 無効化されたユーザー入力に基づく URI です。 |
ERR04-J(L3) |
JD.FINRET finally 内の return |
ERR05-J(L3) |
JD.UNCAUGHT 例外がキャッチされていません |
ERR07-J(L2) |
EXC.BROADTHROWS 過度に広範な範囲に対応するメソッドが宣言をスローしています |
ERR08-J(L1) |
JD.CATCH ランタイム例外のキャッチ |
ERR09-J(L3) |
SV.UMC.EXIT System.exit() および Runtime.exit() メソッドの呼び出しをサーブレット コードで使用すべきではありません UMC.EXIT System.exit() メソッドの呼び出しは好ましくありません |
EXP00-J(L2) |
RI.IGNOREDCALL immutable オブジェクトに対して呼び出されたメソッドから返された値が無視されています RR.IGNORED 戻り値が無視されています |
EXP01-J(L3) |
NPE.COND null チェック後の null ポインタを参照しています NPE.CONST null 定数が代入されたオブジェクトを参照しています NPE.RET メソッドから返された null ポインタを参照しています NPE.RET.UTIL マップまたはコレクションから返されたnull 値を参照しています NPE.STAT 戻り値の null ポインタ 参照 (統計情報) REDUN.EQNULL equals() に式と null が指定された疑わしい呼び出しです(決して true にはなりません) |
EXP02-J(L2) |
JD.EQ.ARR 配列に対する 'equals' の呼び出し |
EXP03-J(L2) |
CMP.OBJ == によるオブジェクトの比較 |
FIO01-J(L3) |
SV.PERMS.HOME パーミッションを設定せずに、ユーザーのホームディレクトリに作成されるファイル SV.PERMS.WIDE 広すぎるパーミッション |
FIO03-J(L2) |
SV.DOS.TMPFILEDEL JVM のライフタイムの間一時ファイルが存続します SV.DOS.TMPFILEEXIT 一時ファイルが存続します |
FIO04-J(L3) |
RLK.AWT AWT オブジェクトが終了時に破棄されていません RLK.FIELD フィールドに保存されたシステム リソースがリークする可能性があります RLK.HIBERNATE Hibernate オブジェクトが終了時に閉じられていません RLK.IMAGEIO ImageIO ストリームが終了時に閉じられていません RLK.IN 入力ストリームが終了時に閉じられていません RLK.JNDI JNDI コンテキストが終了時に閉じられていません RLK.JPA {3} オブジェクトが終了時に閉じられていません。 RLK.MAIL JavaMail オブジェクトが終了時に閉じられていません RLK.MICRO Java Microedition 接続が終了時に閉じられていません RLK.NIO NIO オブジェクトが終了時に閉じられていません RLK.OUT 出力ストリームが終了時に閉じられていません RLK.SOCK ソケットが終了時に閉じられていません RLK.SQLCON Sql 接続が終了時に閉じられていません RLK.SQLOBJ Sql オブジェクトが終了時に閉じられていません RLK.SWT SWT オブジェクトが終了時に破棄されていません RLK.ZIP Zip ファイルが終了時に閉じられていません |
FIO13-J(L3) |
SV.IL.SESSION セッション ID のログ記録 |
FIO16-J(L3) |
SV.EXEC.PATH 信頼できない検索パス SV.PATH パスまたはファイル名のインジェクション SV.PATH.INJ ファイル インジェクション SV.TMPFILE 一時ファイルのパス改ざん |
IDS00-J(L1) |
SV.DATA.DB データ インジェクション SV.SQL SQL インジェクション SV.SQL.DBSOURCE 未検証のデータベースからの情報がSQL文に使用されています |
IDS01-J(L1) |
SV.TAINT 不正データ SV.TAINT_NATIVE 不正データがネイティブ コードに渡されています SV.XSS.DB クロスサイト スクリプティング (Stored XSS) SV.XSS.REF クロスサイト スクリプティング (Reflected XSS) |
IDS03-J(L2) |
SV.LOG_FORGING ログの偽造 |
IDS07-J(L1) |
SV.EXEC プロセス インジェクション SV.EXEC.DIR プロセス インジェクション。作業ディレクトリ SV.EXEC.ENV プロセス インジェクション。環境変数 SV.EXEC.LOCAL プロセス インジェクション。ローカル引数 SV.EXEC.PATH 信頼できない検索パス |
IDS16-J(L1) |
JAVA.SV.XML.INVALID XML は Java オブジェクトにマーシャリング解除される前に検証されません |
IDS17-J(L2) |
SV.XXE.DBF XML 外部実体攻撃の可能性 SV.XXE.SF XML 外部実体攻撃の可能性 SV.XXE.SPF XML 外部実体攻撃の可能性 SV.XXE.TF XML 外部実体攻撃の可能性 SV.XXE.XIF XML 外部実体攻撃の可能性 SV.XXE.XRF XML 外部実体攻撃の可能性 |
JNI01-J(L1) |
SV.LOADLIB.INJ 'loadLibrary' メソッドに対する信頼できない呼び出し |
LCK05-J(L3) |
SV.SHARED.VAR サーブレットから static 変数への非同期アクセス |
LCK07-J(L3) |
JD.LOCK 取得したロックを解放していません |
LCK09-J(L3) |
JD.LOCK.NOTIFY ロックが保持された状態で 'notify' メソッドが呼び出されています JD.LOCK.SLEEP ロックが保持された状態で 'sleep' メソッドが呼び出されています JD.LOCK.WAIT ロックが保持された状態で 'wait' メソッドが呼び出されています |
LCK10-J(L3) |
JD.SYNC.DCL ダブルチェック ロッキング |
MET09-J(L3) |
EHC.EQ クラスが hashCode() を定義していますが、equals() は定義していません EHC.HASH クラスが equals() を定義していますが、hashCode() は定義していません |
MET12-J(L2) |
FIN.EMPTY 空の finalize() メソッドは削除する必要があります FIN.NOSUPER finalize() メソッドの実装は super.finalize() を呼び出す必要があります JD.UMC.FINALIZE 'Object.finalize' メソッドが明示的に呼び出されています JD.UMC.RUNFIN runFinalizersOnExit() が呼び出されています SV.EXPOSE.FIN finalize() メソッドは、public ではなく protected アクセス修飾子を使用する必要があります |
MSC00-J(L2) |
SV.WEAK.TLS 脆弱な SSL/TLS プロトコルは使用しないでください。 |
MSC02-J(L1) |
SV.RANDOM 安全ではない乱数ジェネレータの使用 |
MSC03-J(L1) |
SV.PASSWD.HC ハードコードされたパスワード SV.PASSWD.HC.EMPTY 空のパスワード SV.PASSWD.PLAIN プレーンテキストのパスワード SV.PASSWD.PLAIN.HC プレーンテキストのパスワード SV.SENSITIVE.DATA 暗号化されていない機密データが書き込まれます SV.SENSITIVE.OBJ 暗号化されていない機密データを持つオブジェクトが保存されます |
MSC05-J(L3) |
JD.INF.ALLOC 無限ループ内での割り当てです。 SV.DOS.ARRSIZE 不正なサイズが配列割り当てに使用されています SV.INT_OVF 不正データが整数オーバーフローを引き起こす可能性があります |
MSC06-J(L3) |
JD.CONCUR ConcurrentModificationException の可能性があります |
MSC11-J(L2) |
SV.IL.SESSION セッション ID のログ記録 SV.IL.SESSION.CLIENT HttpServletRequest.getRequestedSessionId メソッドは使用しないでください。 SV.SESSION.FIXATION.COOKIE cookie は、セッションの固定化に対して脆弱であってはなりません SV.SPRING.FIXATION セッション固定化保護が無効になっています。 |
NUM00-J(L3) |
SV.INT_OVF 不正データが整数オーバーフローを引き起こす可能性があります |
OBJ01-J(L1) |
SV.EXPOSE.FIELD static フィールドは悪意のあるコードによって変更される可能性があります SV.EXPOSE.IFIELD インスタンス フィールドは final にする必要があります SV.EXPOSE.MUTABLEFIELD static mutable フィールドは悪意のあるコードによってアクセスされる可能性があります SV.STRUTS.PRIVATE ステータス フォーム: non-private フィールド SV.STRUTS.STATIC ステータス フォーム: static フィールド |
OBJ04-J(L2) |
SV.EXPOSE.RET 内部表現が露出される可能性があります SV.EXPOSE.STORE メソッドが mutable オブジェクトへの参照を保存しています |
OBJ05-J(L1) |
SV.EXPOSE.RET 内部表現が露出される可能性があります SV.EXPOSE.STORE メソッドが mutable オブジェクトへの参照を保存しています |
OBJ09-J(L2) |
CMP.CLASS クラス名による比較が行われています |
OBJ10-J(L2) |
SV.EXPOSE.FIELD static フィールドは悪意のあるコードによって変更される可能性があります SV.STRUTS.STATIC ステータス フォーム: static フィールド |
SEC00-J(L2) |
SV.PRIVILEGE.MISSING 呼び出されるメソッドは doPrivileged ブロック内にあってはなりません |
SEC03-J(L1) |
SV.CLASSLOADER.INJ クラスローダー URL インジェクション SV.CLEXT.CLLOADER クラスが 'java.lang.ClassLoader' を拡張しています SV.CLLOADER クラスローダが直接使用されています |
SER01-J(L1) |
SV.SERIAL.SIG Serializable クラスのメソッド readObject() および writeObject() が正しいシグネチャを持つ必要があります |
SER03-J(L2) |
SV.SERIAL.NOFINAL シリアル化可能なクラスでは、メソッド readObject() および writeObject() は final である必要があります SV.SERIAL.NOWRITE メソッド writeObject() を Serializable クラスに対して定義する必要があります |
SER06-J(L3) |
SV.SERIAL.NOFINAL シリアル化可能なクラスでは、メソッド readObject() および writeObject() は final である必要があります SV.SERIAL.NOREAD メソッド readObject() を Serializable クラスに対して定義する必要があります |
SER09-J(L3) |
SV.SERIAL.OVERRIDE readObject() メソッドからオーバーライド可能なメソッドを呼び出さないでください |
SER12-J(L2) |
SV.SERIAL.NOFINAL シリアル化可能なクラスでは、メソッド readObject() および writeObject() は final である必要があります SV.SERIAL.NOREAD メソッド readObject() を Serializable クラスに対して定義する必要があります |
THI00-J(L3) |
JD.THREAD.RUN 'Thread.run' メソッドが明示的に呼び出されています |
VNA00-J(L2) |
SV.SHARED.VAR サーブレットから static 変数への非同期アクセス |
VNA01-J(L3) |
SV.SHARED.VAR サーブレットから static 変数への非同期アクセス |
VNA02-J(L2) |
SV.SHARED.VAR サーブレットから static 変数への非同期アクセス |