很多SAST集成了FindSecBugs这个开源工具,其好处是直接对Class文件进行检测,也就是直接检测二进制问题,可以直接检测war、jar,还是非常方便的。虽然误报率较高,但是这些检测出来的安全漏洞很多是安全从业人员耳熟能详的漏洞,所以,可能感觉还不错的。
| 分类 | 规则名称 | 
| 加密类 | 使用弱信任管理器 | 
| 使用弱密码哈希函数 | |
| 使用弱SSL/TLS协议 | |
| 使用自定义HASH加密算法 | |
| 十六进制转换错误 | |
| 不安全的Hazelcast对称加密 | |
| 使用不安全的NullCipher | |
| 未加密的套接字 | |
| 未加密的服务器Socket | |
| AES应该代替DES | |
| AES应该代替DESede | |
| 没有适当填充的RSA密码 | |
| 使用弱密钥大小的Blowfish算法 | |
| 使用弱密钥大小的RSA | |
| 初始化向量(IV)未正确生成 | |
| 不提供完整性的密码 | |
| 不安全的SMTP SSL链接 | |
| 通过错误消息检测可能的信息泄露 | |
| JSP | 远程包含JSP动态输入文件攻击 | 
| Spring表达式动态变量 | |
| 禁用特殊XML字符的转义可能会导致XSS漏洞 | |
| 提供恶意XSLT触发远程控制攻击 | |
| Android | 外部存储上的文件访问 | 
| SendBroadcast()方法调用存在安全隐患 | |
| 使用创建模式MODEWORLDREADABLE写入的文件存在安全隐患 | |
| Geolocation API的安全隐患 | |
| 启用了JavaScript的WebView存在安全隐患 | |
| 带JavaScript接口的WebView | |
| CSRF | Spring CSRF(跨站请求伪造)保护禁用 | 
| 无限制的Spring的RequestMapping使该方法容易受到CSRF攻击 | |
| 注入类 | AWS查询注入 | 
| JavaBean参数注入 | |
| 潜在的命令行注入 | |
| 自定义方法注入 | |
| ActionForward填充了用户控制的参数 | |
| 以格式字符串参数检测用户输入 | |
| 将用户控制的输入连接到URL | |
| 潜在的LDAP注入 | |
| 未经验证的重定向 | |
| 潜在的SQL注入 | |
| 应用程序在会话属性中混合可信和不可信数据 | |
| 密码类 | 对易受定时攻击影响的哈希的不安全比较 | 
| 硬编码密码 | |
| 硬编码加密密钥 | |
| Spring类 | 使用Spring Framework进行未经验证的重定向 | 
| 模板类 | 使用Velocity模板存在潜在注入 | 
| 使用Freemarker模板存在潜在注入 | |
| Xpath注入类 | 潜在的XPath注入 | 
| XSS攻击类 | XSSRequestWrapper是一种弱XSS保护机制 | 
| JSP中潜在的XSS | |
| Servlet中潜在的XSS | |
| cookie存储类 | Cookie设置时间过长 | 
| URL重写安全风险 | |
| 使用Cookie存储敏感信息 | |
| 没有设置安全标志的Cookie | |
| 文件类 | 潜在的路径遍历 | 
| 由FileUpload API提供的文件名可以被客户端篡改 | |
| 序列化类 | 不安全的Jackson反序列化配置 | 
| 对象反序列化 | |
| LDAP | LDAP实体投毒 | 
| 匿名LDAP绑定 | |
| XML | XML解析容易受到XXE外部实体攻击 | 
| 使用XMLDecoder解析用户提供的数据是不安全的 | |
| 恶意XSLT可触发远程代码执行 | |
| 其它 | FilenameUtils不过滤空字节 | 
| HTTP拆分攻击 | |
| Structs表单没有输入验证 | |
| 定义了一种过度宽松的跨源资源共享(CORS)策略 | |
| 检测可预测伪随机生成器(PRG)的使用 | |
| 正则表达式可以通过一些输入呈指数增长 | |
| 潜在的外部控制配置 | |
| endpoint | Struts Action问题 | 
| 使用SpringMVC Controller问题 | |
| 使用Tapestry Pages问题 | |
| 使用Wicket WebPage问题 | |
| 来自ServletRequest和HttpServletRequest请求的参数值不安全 | |
| 使用Struts2问题 |