ANDROID.LIFECYCLE.SV.FRAGMENTINJ |
未經驗證的片段類名稱 |
1 |
真正 |
沒有 |
ANDROID.LIFECYCLE.SV.GETEXTRA |
未經驗證的外部數據 |
3 |
真正 |
沒有 |
ANDROID.NPE |
取消引用Android應用程序中的空值 |
4 |
真正 |
是 |
ANDROID.RLK.MEDIAPLAYER |
媒體播放器退出時不會被釋放 |
1 |
真正 |
是 |
ANDROID.RLK.MEDIARECORDER |
媒體記錄器在退出時不會被釋放 |
1 |
真正 |
是 |
ANDROID.RLK.SQLCON |
退出時不關閉SQL連接 |
1 |
真正 |
是 |
ANDROID.RLK.SQLOBJ |
退出時不關閉Sql對象 |
1 |
真正 |
是 |
ANDROID.UF.BITMAP |
使用循環位圖 |
2 |
真正 |
是 |
ANDROID.UF.CAMERA |
使用已發布的相機 |
2 |
真正 |
是 |
ANDROID.UF.MEDIAPLAYER |
使用已發布的媒體播放器 |
2 |
真正 |
是 |
ANDROID.UF.MEDIARECORDER |
使用已發布的媒體記錄器 |
2 |
真正 |
是 |
CMP.CLASS |
按類名比較 |
4 |
假 |
沒有 |
CMPF.FLOAT |
應避免對浮點類型進行等式檢查 |
4 |
真正 |
沒有 |
CMP.OBJ |
使用==比較對象 |
4 |
真正 |
沒有 |
CMP.STR |
將字符串與==進行比較 |
4 |
真正 |
沒有 |
COV.CMP |
方法compareTo()應該有簽名'public int compareTo(Object)' |
4 |
真正 |
沒有 |
ECC.EMPTY |
空捕獲條款 |
4 |
真正 |
沒有 |
EHC.EQ |
類定義hashCode()但不定義equals() |
4 |
真正 |
沒有 |
EHC.HASH |
類定義equals()但不定義hashCode() |
4 |
真正 |
沒有 |
ESCMP.EMPTYSTR |
低效的空字符串比較 |
4 |
真正 |
沒有 |
EXC.BROADTHROWS |
方法有一個過於寬泛的拋出聲明 |
4 |
真正 |
沒有 |
FIN.EMPTY |
應刪除空的finalize()方法 |
3 |
真正 |
沒有 |
FIN.NOSUPER |
finalize()方法的實現應該調用super.finalize() |
3 |
真正 |
沒有 |
FSC.PRT |
類及其超類具有相同名稱的受保護字段 |
4 |
假 |
沒有 |
FSC.PRV |
類及其超類具有相同名稱的私有字段 |
4 |
假 |
沒有 |
FSC.PUB |
類及其超類具有相同名稱的公共字段 |
4 |
假 |
沒有 |
JD.BITCMP |
在表達式中使用非短路邏輯 |
3 |
真正 |
沒有 |
JD.BITMASK |
位操作可能出錯 |
3 |
真正 |
沒有 |
JD.BITR |
冗余的表達 |
3 |
真正 |
沒有 |
JD.CALL.WRONGSTATIC |
通過實例引用調用靜態方法 |
4 |
真正 |
沒有 |
JD.CAST.COL |
集合可能的ClassCastException |
4 |
真正 |
沒有 |
JD.CAST.KEY |
用於從集合中檢索元素的可疑密鑰類型 |
4 |
真正 |
沒有 |
JD.CAST.SUSP |
不同類型可能的ClassCastException |
4 |
真正 |
沒有 |
JD.CAST.UPCAST |
子類型可能的ClassCastException |
4 |
真正 |
沒有 |
JD.CATCH |
捕獲運行時異常 |
4 |
真正 |
沒有 |
JD.CONCUR |
可能的ConcurrentModificationException |
3 |
真正 |
沒有 |
JD.EQ.ARR |
在數組上調用'equals' |
4 |
真正 |
沒有 |
JD.EQ.UTA |
在不兼容的類型(數組和非數組)上調用'equals' |
4 |
真正 |
沒有 |
JD.EQ.UTC |
在不兼容的類型上調用equals |
4 |
真正 |
沒有 |
JD.FINRET |
最后回到里面 |
4 |
真正 |
沒有 |
JD.IFBAD |
冗余'if'語句 |
3 |
真正 |
沒有 |
JD.IFEMPTY |
冗余'if'語句。未完成的代碼 |
3 |
真正 |
沒有 |
JD.INF.AREC |
表觀無限遞歸 |
4 |
真正 |
沒有 |
JD.INST.TRUE |
冗余'instanceof'條件 |
4 |
真正 |
沒有 |
JD.LIST.ADD |
容器增加了自己 |
4 |
真正 |
沒有 |
JD.LOCK |
鎖定沒有解鎖 |
2 |
真正 |
是 |
JD.LOCK.NOTIFY |
方法'notify'通過持有鎖來調用 |
4 |
真正 |
沒有 |
JD.LOCK.SLEEP |
方法'sleep'用鎖定調用 |
4 |
真正 |
沒有 |
JD.LOCK.WAIT |
方法'wait'在持有鎖的情況下調用 |
4 |
真正 |
沒有 |
JD.METHOD.CBS |
方法可以是靜態的 |
4 |
假 |
沒有 |
JD.NEXT |
可能'NoSuchElementException' |
4 |
真正 |
是 |
JD.OVER |
不匹配的覆蓋 |
4 |
真正 |
沒有 |
JD.RC.EXPR.CHECK |
測試表達總是正確的 |
4 |
真正 |
沒有 |
JD.RC.EXPR.DEAD |
冗余檢查導致死代碼 |
4 |
假 |
沒有 |
JD.ST.POS |
方法'indexOf'的檢查不正確 |
4 |
真正 |
沒有 |
JD.SYNC.DCL |
雙重檢查鎖定 |
4 |
真正 |
沒有 |
JD.SYNC.IN |
同步不一致 |
4 |
真正 |
沒有 |
JD.THREAD.RUN |
顯式調用'Thread.run'方法 |
4 |
真正 |
沒有 |
JD.UMC.FINALIZE |
顯式調用方法'Object.finalize' |
3 |
真正 |
沒有 |
JD.UMC.RUNFIN |
調用runFinalizersOnExit() |
3 |
真正 |
沒有 |
JD.UMC.WAIT |
等待調用不正確的對象 |
4 |
真正 |
沒有 |
JD.UNCAUGHT |
未捕獲的異常 |
4 |
真正 |
沒有 |
JD.UN.MET |
未使用的非私有方法 |
4 |
假 |
沒有 |
JD.UNMOD |
修改不可修改的集合 |
2 |
真正 |
是 |
JD.UN.PMET |
未使用的私有方法 |
3 |
真正 |
沒有 |
JD.VNU |
分配后從未讀取變量 |
4 |
真正 |
沒有 |
JD.VNU.NULL |
在分配null之后,永遠不會讀取變量 |
4 |
真正 |
沒有 |
MNA.CAP |
方法名稱應以非大寫字母開頭 |
4 |
真正 |
沒有 |
MNA.CNS |
方法名稱與構造函數名稱相同,但它不是構造函數 |
4 |
真正 |
沒有 |
MNA.SUS |
可疑的方法名稱 |
4 |
真正 |
沒有 |
NPE.COND |
空指針取消引用,其中null來自條件 |
1 |
真正 |
是 |
NPE.CONST |
空指針取消引用,其中null來自常量 |
1 |
真正 |
是 |
NPE.RET |
取消引用從方法返回的空值 |
1 |
真正 |
是 |
NPE.RET.UTIL |
取消引用從地圖或集合返回的空值 |
1 |
真正 |
是 |
NPE.STAT |
空指針取消引用返回值(統計) |
4 |
假 |
是 |
REDUN.DEF |
表達式賦予自身 |
4 |
真正 |
沒有 |
REDUN.EQ |
可疑的equals()在兩邊都用相同的表達式調用 |
4 |
真正 |
沒有 |
REDUN.EQNULL |
用表達式調用的可疑equals()和null(從不為真) |
4 |
真正 |
沒有 |
REDUN.FINAL |
冗余'最終'修飾符 |
4 |
真正 |
沒有 |
REDUN.NULL |
使用變量而不是null常量 |
4 |
真正 |
沒有 |
REDUN.OP |
雙方同樣表達的可疑操作 |
4 |
真正 |
沒有 |
RI.IGNOREDCALL |
忽略在不可變對象上調用的方法返回的值 |
4 |
真正 |
沒有 |
RI.IGNOREDNEW |
新創建的對象將被忽略 |
4 |
真正 |
沒有 |
RLK.AWT |
AWT對象未在出口處處理 |
1 |
真正 |
是 |
RLK.FIELD |
存儲在字段中的系統資源可能泄漏 |
4 |
真正 |
沒有 |
RLK.HIBERNATE |
退出時不關閉Hibernate對象 |
1 |
真正 |
是 |
RLK.IMAGEIO |
退出時不關閉ImageIO流 |
1 |
真正 |
是 |
RLK.IN |
輸出流在退出時未關閉 |
1 |
真正 |
是 |
RLK.JNDI |
退出時不關閉JNDI上下文 |
1 |
真正 |
是 |
RLK.MAIL |
退出時不關閉Java郵件對象 |
1 |
真正 |
是 |
RLK.MICRO |
退出時未關閉Java Microedition連接 |
1 |
真正 |
是 |
RLK.NIO |
退出時NIO對象未關閉 |
1 |
真正 |
是 |
RLK.OUT |
退出時不關閉輸出流 |
1 |
真正 |
是 |
RLK.SOCK |
插座未在退出時關閉 |
1 |
真正 |
是 |
RLK.SQLCON |
退出時不關閉SQL連接 |
1 |
真正 |
是 |
RLK.SQLOBJ |
退出時不關閉Sql對象 |
1 |
真正 |
是 |
RLK.SWT |
SWT對象未在出口處放置 |
1 |
真正 |
是 |
RLK.ZIP |
Zip文件在退出時未關閉 |
1 |
真正 |
是 |
RNU.THIS |
比較這和null但不能為空 |
4 |
真正 |
沒有 |
RR.IGNORED |
返回的值將被忽略 |
4 |
真正 |
沒有 |
RTC.CALL |
類型轉換是多余的 |
4 |
真正 |
沒有 |
STRCON.LOOP |
在循環中使用append for string |
4 |
真正 |
沒有 |
SV.CLASSDEF.INJ |
運行時類定義注入 |
2 |
真正 |
沒有 |
SV.CLASSLOADER.INJ |
類加載器URL注入 |
2 |
真正 |
沒有 |
SV.CLEXT.CLLOADER |
類擴展'java.lang.ClassLoader' |
4 |
假 |
沒有 |
SV.CLEXT.POLICY |
類擴展'java.security.Policy' |
4 |
假 |
沒有 |
SV.CLLOADER |
直接使用Classloader |
4 |
假 |
沒有 |
SV.CLONE.SUP |
類實現'clone'方法但不實現Cloneable |
4 |
假 |
沒有 |
SV.CSRF.GET |
GET請求中的CSRF令牌 |
4 |
假 |
是 |
SV.CSRF.ORIGIN |
沒有原始檢查的請求處理程序 |
4 |
假 |
是 |
SV.CSRF.TOKEN |
狀態更改請求處理程序沒有CSRF檢查 |
4 |
假 |
是 |
SV.DATA.BOUND |
不受信任的數據泄漏到可信存儲中 |
3 |
真正 |
是 |
SV.DATA.DB |
數據注入 |
2 |
真正 |
是 |
SV.DOS.ARRINDEX |
用於陣列訪問的污點索引 |
3 |
真正 |
是 |
SV.DOS.ARRSIZE |
用於陣列分配的污點大小 |
3 |
真正 |
是 |
SV.DOS.TMPFILEDEL |
保留JVM生命周期的臨時文件 |
3 |
真正 |
是 |
SV.DOS.TMPFILEEXIT |
留下臨時檔案 |
3 |
真正 |
是 |
SV.ECV |
空證書驗證 |
4 |
假 |
沒有 |
SV.EMAIL |
未經檢查的電子郵件 |
2 |
真正 |
是 |
SV.EXEC |
工藝注射 |
2 |
真正 |
是 |
SV.EXEC.DIR |
工藝注射。工作目錄 |
2 |
真正 |
是 |
SV.EXEC.ENV |
工藝注射。環境變量 |
2 |
真正 |
是 |
SV.EXEC.LOCAL |
工藝注射。本地論點 |
3 |
真正 |
沒有 |
SV.EXPOSE.FIELD |
靜態字段可能被惡意代碼更改 |
4 |
假 |
沒有 |
SV.EXPOSE.FIN |
方法finalize()應該有受保護的訪問修飾符,而不是public |
4 |
假 |
沒有 |
SV.EXPOSE.IFIELD |
實例字段應該是最終的 |
4 |
假 |
沒有 |
SV.EXPOSE.MUTABLEFIELD |
惡意代碼可以訪問靜態可變字段 |
4 |
假 |
沒有 |
SV.EXPOSE.RET |
內部代表可能會暴露 |
4 |
假 |
沒有 |
SV.EXPOSE.STORE |
方法存儲對可變對象的引用 |
4 |
假 |
沒有 |
SV.HASH.NO_SALT |
使用沒有鹽的單向加密哈希 |
3 |
真正 |
沒有 |
SV.HTTP_SPLIT |
Http響應分裂 |
2 |
真正 |
是 |
SV.IL.DEV |
設計信息泄漏 |
3 |
真正 |
是 |
SV.IL.FILE |
文件名泄漏 |
3 |
真正 |
是 |
SV.INT_OVF |
受污染的數據可能會導致整數溢出 |
2 |
真正 |
是 |
SV.LDAP |
未經驗證的用戶輸入用作LDAP過濾器 |
2 |
真正 |
是 |
SV.LOG_FORGING |
原木鍛造 |
3 |
真正 |
是 |
SV.PASSWD.HC |
硬編碼密碼 |
2 |
真正 |
是 |
SV.PASSWD.HC.EMPTY |
空密碼 |
2 |
真正 |
是 |
SV.PASSWD.PLAIN |
純文本密碼 |
2 |
真正 |
是 |
SV.PATH |
路徑和文件名注入 |
3 |
真正 |
是 |
SV.PATH.INJ |
文件注入 |
3 |
真正 |
是 |
SV.RANDOM |
使用不安全的隨機數發生器 |
4 |
真正 |
沒有 |
SV.SCRIPT |
腳本執行 |
2 |
真正 |
是 |
SV.SENSITIVE.DATA |
寫入未加密的敏感數據 |
2 |
真正 |
是 |
SV.SENSITIVE.OBJ |
存儲具有未加密的敏感數據的對象 |
2 |
真正 |
是 |
SV.SERIAL.INON |
接口擴展'Serializable' |
4 |
假 |
沒有 |
SV.SERIAL.NON |
類實現'Serializable' |
4 |
假 |
沒有 |
SV.SERIAL.NOREAD |
方法readObject()應該為可序列化的類定義 |
4 |
假 |
沒有 |
SV.SERIAL.NOWRITE |
應為可序列化類定義writeObject()方法 |
4 |
假 |
沒有 |
SV.SERIAL.SIG |
可序列化類中的readObject()和writeObject()方法應具有正確的簽名 |
4 |
假 |
沒有 |
SV.SHARED.VAR |
從servlet非同步訪問靜態變量 |
4 |
真正 |
沒有 |
SV.SOCKETS |
不良做法:使用套接字 |
4 |
假 |
沒有 |
SV.SQL |
Sql注入 |
2 |
真正 |
是 |
SV.SQL.DBSOURCE |
SQL語句中使用來自數據庫的未經檢查的信息 |
3 |
真正 |
是 |
SV.STRBUF.CLEAN |
字符串緩沖區未清理 |
3 |
假 |
是 |
SV.STRUTS.NOTRESET |
Struts Forms:不一致的重置 |
4 |
假 |
沒有 |
SV.STRUTS.NOTVALID |
Struts表單:不一致的驗證 |
4 |
假 |
沒有 |
SV.STRUTS.PRIVATE |
Struts表單:非私有字段 |
4 |
假 |
沒有 |
SV.STRUTS.RESETMET |
Struts Forms:重置方法 |
4 |
假 |
沒有 |
SV.STRUTS.STATIC |
Struts表單:靜態字段 |
4 |
假 |
沒有 |
SV.STRUTS.VALIDMET |
Struts Forms:驗證方法 |
4 |
假 |
沒有 |
SV.TAINT |
污染的數據 |
3 |
假 |
是 |
SV.TAINT_NATIVE |
受污染的數據轉到本機代碼 |
3 |
真正 |
是 |
SV.TMPFILE |
臨時文件路徑篡改 |
3 |
真正 |
是 |
SV.UMC.EXIT |
不應在servlet代碼中使用System.exit()和Runtime.exit()方法調用 |
4 |
假 |
沒有 |
SV.UMC.JDBC |
應用程序應避免直接調用DriverManager.getConnection() |
4 |
假 |
沒有 |
SV.UMC.THREADS |
糟糕的做法:使用線程管理 |
4 |
假 |
沒有 |
SV.UMD.MAIN |
剩下的調試代碼 - 主要方法 |
4 |
假 |
沒有 |
SV.USE.POLICY |
直接使用政策方法 |
4 |
假 |
沒有 |
SV.WEAK.CRYPT |
使用破碎或危險的密碼算法 |
3 |
真正 |
沒有 |
SV.XPATH |
未經驗證的用戶輸入用作XPath表達式 |
2 |
真正 |
是 |
SV.XSS.DB |
跨站點腳本(存儲的XSS) |
2 |
真正 |
是 |
SV.XSS.REF |
跨站點腳本(反射XSS) |
2 |
真正 |
是 |
SYNCH.NESTED |
同步方法使用相同的鎖定調用另一個同步方法 |
4 |
真正 |
沒有 |
SYNCH.NESTEDS |
同步靜態方法使用相同的鎖定調用另一個同步靜態方法 |
4 |
真正 |
沒有 |
UC.BOOLB |
從布爾表達式中不必要地創建新的Boolean對象 |
4 |
真正 |
沒有 |
UC.BOOLS |
從字符串表達式中不必要地創建新的Boolean對象 |
4 |
真正 |
沒有 |
UC.STRS |
從字符串表達式中不必要地創建新的String對象 |
4 |
真正 |
沒有 |
UC.STRV |
不必要的創建空String對象 |
4 |
真正 |
沒有 |
UF.IMAGEIO |
使用已關閉的ImageIO流 |
2 |
真正 |
沒有 |
UF.IN |
封閉輸入流的使用 |
2 |
真正 |
沒有 |
UF.JNDI |
使用已關閉的JNDI上下文 |
2 |
真正 |
沒有 |
UF.MAIL |
使用已關閉的Java郵件對象 |
2 |
真正 |
沒有 |
UF.MICRO |
使用已關閉的Java Microedition連接 |
2 |
真正 |
沒有 |
UF.NIO |
使用已關閉的NIO對象 |
2 |
真正 |
沒有 |
UF.OUT |
使用封閉的輸出流 |
2 |
真正 |
沒有 |
UF.SOCK |
封閉插座的用法 |
2 |
真正 |
沒有 |
UF.SQLCON |
使用封閉的SQL連接 |
2 |
真正 |
沒有 |
UF.SQLOBJ |
使用已關閉的SQL對象 |
2 |
真正 |
沒有 |
UF.ZIP |
使用封閉的zip文件 |
2 |
真正 |
沒有 |
UMC.EXIT |
System.exit()方法調用是不需要的 |
4 |
假 |
沒有 |
UMC.GC |
System.gc()方法調用是不需要的 |
4 |
假 |
沒有 |
UMC.SYSERR |
使用System.err方法調用的調試打印是不需要的 |
4 |
假 |
沒有 |
UMC.SYSOUT |
使用System.out方法調用的調試打印是不需要的 |
4 |
假 |
沒有 |
UMC.TOSTRING |
不必要的toString()方法調用String參數 |
4 |
真正 |
沒有 |