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 |
真正 |
没有 |