美文网首页技术
FindBugs 规则整理:Malicious Code Vul

FindBugs 规则整理:Malicious Code Vul

作者: 格子林ll | 来源:发表于2016-12-13 17:01 被阅读3868次

    目前已转至个人博客,本系列地址:Lam's Blog - Knowledge as Action

    EI_EXPOSE_REP

    May expose internal representation by returning reference to mutable object
    返回一个易变对象引用并把它保存在对象字段中时会暴露对象内部的字段描述,如果接受不守信任的代码访问或者没有检查就去改变易变对象的会涉及对象的安全和其他重要属性的安全。返回一个对象的新副本,在很多情况下更好的办法。

    EI_EXPOSE_REP2

    May expose internal representation by incorporating reference to mutable object
    此代码把外部可变对象引用存储到对象的内部表示。如果实例受到不信任的代码的访问和没有检查的变化危及对象和重要属性的安全。存储一个对象的副本,在很多情况下是更好的办法。

    FI_PUBLIC_SHOULD_BE_PROTECTED

    Finalizer should be protected, not public
    一个类中的finalize()方法必须声明为protected,而不能为public类型

    MS_EXPOSE_REP

    Public static method may expose internal representation by returning array
    一个public类型的静态方法返回一个数组,可能引用内部属性的暴露。任何代码调用此方法都可以自由修改底层数组。一个解决办法是返回一个数组的副本。

    MS_FINAL_PKGPROTECT

    Field should be both final and package protected
    一个静态字段可能被恶意代码或另外一个包所改变的。字段可以放到protected包中也可以定义为final类型的以避免此问题。

    MS_MUTABLE_ARRAY

    Field is a mutable array
    一个定义为final类型的静态字段引用一个数组时它可以被恶意代码或在另其他包中所使用。这些代码可以自由修改数组的内容。

    MS_MUTABLE_HASHTABLE

    Field is a mutable Hashtable
    一个定义为final类型的静态字段引用一个Hashtable时可以被恶意代码或者在其他包中被调用,这些方法可以修改Hashtable的值。

    MS_OOI_PKGPROTECT

    Field should be moved out of an interface and made package protected
    将域尽量不要定义在接口中,并声明为包保护
    在接口中定义了一个final类型的静态字段,如数组或哈希表等易变对象。这些对象可以被恶意代码或者在其他包中被调用,为了解决这个问题,需要把它定义到一个具体的实体类中并且声明为保护类型以避免这种错误。

    MS_PKGPROTECT

    Field should be package protected
    一个静态字段是可以改变的恶意代码或其他的包访问修改。可以把这种类型的字段声明为final类型的以防止这种错误。

    其他文章(持续更新)

    FindBugs:简介与使用
    FindBugs 规则整理:CORRECTNESS
    FindBugs 规则整理:Bad Practice
    FindBugs 规则整理:Style & Dodgy
    FindBugs 规则整理:Multithreaded Correctness
    FindBugs 规则整理:Security & Experimental
    FindBugs 规则整理:Performance
    FindBugs 规则整理:Internationalization

    引用

    整合以下文章过程中发现部分存在翻译错误,已做修正,同时感谢以下文章作者
    FindBugs规则整理

    相关文章

      网友评论

        本文标题:FindBugs 规则整理:Malicious Code Vul

        本文链接:https://www.haomeiwen.com/subject/pkrbmttx.html