没有合适的资源?快使用搜索试试~ 我知道了~
首页代码审计工具Findbugs自动检查CheckList及配置方法
代码审计工具Findbugs是一个应用比较广泛的开源代码审计工具,如果开发团队利用好了这个工具,能够很大程度上提高软件产品的安全性。而且重要的是Free。 其中介绍内容包括: Malicious code vulnerability 恶意代码 Dodgy 小问题 Bad practice 不好的习惯 Bogus random noise 无效代码 Correctness 代码的正确性 Internationalization 国际化问题 Performance 性能问题 Security 安全性问题 Multithreaded currectness 线程问题 Experrimental 实验性问题
资源详情
资源评论
资源推荐

关键
字
规则名 错误信息及建议
BC BC_UNCONFIRMED_CAST
由于没有进行类型检查, 可能会发生
异常 ClassCastException。推荐在
类型变换前,用 instanceof 来对是
否可以类型变换进行检查。
BC BC_IMPOSSIBLE_CAST
因为不相关的类型之间的类型变换是
不可能成功的,所以请检查相关的代
码。
BC DMI_RANDOM_USED_ONLY_ONCE
在使用类 java.util.Random 生成随
机数。用这个类生成的随机数比较容
易预测, 所以推荐用更安全的类
java.security.SecureRandom。
Bx DM_BOXED_PRIMITIVE_TOSTRING
进行字段的同步的时候、得到的不是
字段、而是向参照的 object 的
lock。字段的値变化的时候、不同的
线程中持有的字段的値肯定是不一样
的。这个时候、不能防止同時更新。
Bx DM_BOXED_PRIMITIVE_TOSTRING
使用 static 方法 toString 能够提高
效率,推荐使用。
Bx DM_NUMBER_CTOR
因为 Number 构造函数的效率不

高,推荐使用 static 方法 valueOf。
CN CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE
switch 文中、有相同的 code。可能
只是 code 的重複、也有可能使
oding 的 miss。请再检查一下
code、如果是 codingmiss 的话、修
改 code、如果只是 code 的重複的
话、为了避免重複,建议改一下
code。
CN CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE
虽然定义了方法 clone,但是由于没
有实现接口 Cloneable,推荐在类的
宣言的地方,追加接口 Cloneable。
DB DB_DUPLICATE_BRANCHES
不能直列化的 object 被保存在
HttpSession 中。根据
sessionobject 的 container、被 非
活性化进而运转的话、有可能不能正
常运转。所以建议修正为可以直列化
的 object。
DB DB_DUPLICATE_SWITCH_CLAUSES
switch 中有相同的代码。可能是简
单的代码重复,也可能是编码错误。
推荐对该代码进行检查,如果是编码
错误,修改代码,如果是代码重复,

重写代码避免代码重复。
DB DB_DUPLICATE_BRANCHES
分支语句中的代码是相同的。因为代
码重复,推荐删除分支语句的判断。
DE DE_MIGHT_IGNORE
有异常被捕获但是没有进行处理。
DLS DLS_DEAD_LOCAL_STORE
现在进行 方法 String.indexOf()的結
果大于 0(>0)比較、但是 等于或
者大于 0(>=0)的比較又可能是对
的、所以建议重新检查前後的源码。
DLS DLS_DEAD_STORE_OF_CLASS_LITERAL
不是 volatile 的 static 字段、不进行
同步,被遅延初期化。Compiler 以
及、processor、有可能命令并排被
执行、如果方法同时从複数的线程被
调用的话,线程访问这个字段的时
候、可能会出现可以看到被初期化了
一半的 instance 的危险。通过 对于
字段进行 volatile,或者是 对于初期
化 bloc 进行同步、可以解决这个問
題。
DLS DLS_DEAD_LOCAL_STORE
局部变量被赋值,但是之后赋的值没
有被使用,所以推荐不对该局部变量
赋值。

DLS DLS_DEAD_STORE_OF_CLASS_LITERAL
java.lang.Class 的实例被保存到局
部变量。因为这个实例不会被使用,
推荐删除该实例。
Dm DM_BOOLEAN_CTOR
用 multi 线程同時更新的时候、可能
会得到予想外的結果、所以建议重新
检查。
Dm DM_EXIT
因为被参照的是可能为 null 的
object、所以建议在参照之前进行
null 的验证。
Dm DM_STRING_CTOR
现在是调用没有被写入的字段。有可
能是 codingmiss、建议重新检查関
連的源代码。
Dm DM_STRING_TOSTRING
(&或者|)和(&&或者||)的使用好像是
弄错了。(&或者|)、一定会对于両側
的公式进行評価。如果把(&&或者||)
错误的使用为(&或者|)的话、不光是
効率会变低、如果 运算符的左側的公
式成为 为了访问右側的 guard 条件
的话、会出现 error。建议检察 code
进行修正,有誤用的话、请修正(&&
或者||)。
剩余16页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论2