目前已轉至個人博客,本系列地址:Lam's Blog - Knowledge as Action
DMI_CONSTANT_DB_PASSWORD
Hardcoded constant database password
代碼中創建DB的密碼時采用了寫死的密碼。
DMI_EMPTY_DB_PASSWORD
Empty database password
創建數據庫連接時沒有為數據庫設置密碼,這會使數據庫失去必要的保護。
HRS_REQUEST_PARAMETER_TO_COOKIE
HTTP cookie formed from untrusted input
此代碼使用不受信任的HTTP參數構造一個HTTP Cookie。
HRS_REQUEST_PARAMETER_TO_HTTP_HEADER
HTTP Response splitting vulnerability
在代碼中直接把一個HTTP的參數寫入一個HTTP頭文件中,它為HTTP的響應暴露了漏洞。
SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE
Nonconstant string passed to execute method on an SQL statement
該方法以字符串的形式來調用SQLstatement的execute方法,它似乎是動態生成SQL語句的方法。這會更容易受到SQL注入攻擊。
XSS_REQUEST_PARAMETER_TO_JSP_WRITER
JSP reflected cross site scripting vulnerability
在代碼中在JSP輸出中直接寫入一個HTTP參數,這會造成一個跨站點的腳本漏洞。
LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE
Potential lost logger changes due to weak reference in OpenJDK
OpenJDK的引入了一種潛在的不兼容問題,特別是,java.util.logging.Logger的行為改變時。它現在使用內部弱引用,而不是強引用。–logger配置改變,它就是丟失對logger的引用,這本是一個合理的變化,但不幸的是一些代碼對舊的行為有依賴關系。這意味著,當進行垃圾收集時對logger配置將會丟失。例如:
public static void initLogging() throws Exception { Logger logger = Logger.getLogger("edu.umd.cs"); logger.addHandler(new FileHandler()); // call to change logger configuration logger.setUseParentHandlers(false); // another call to change logger configuration }
該方法結束時logger的引用就丟失了,如果你剛剛結束調用initLogging方法后進行垃圾回收,logger的配置將會丟失(因為只有保持記錄器弱引用)。
public static void main(String[] args) throws Exception { initLogging(); // adds a file handler to the logger System.gc(); // logger configuration lost Logger.getLogger("edu.umd.cs").info("Some message"); // this isn't logged to the file as expected }
OBL_UNSATISFIED_OBLIGATION
Method may fail to clean up stream or resource
這種方法可能無法清除(關閉,處置)一個流,數據庫對象,或其他資源需要一個明確的清理行動。
一般來說,如果一個方法打開一個流或其他資源,該方法應該使用try / finally塊來確保在方法返回之前流或資源已經被清除了。這種錯誤模式基本上和OS_OPEN_STREAM和ODR_OPEN_DATABASE_RESOURCE錯誤模式相同,但是是在不同在靜態分析技術。我們正為這個錯誤模式的效用收集反饋意見。
其他文章(持續更新)
FindBugs:簡介與使用
FindBugs 規則整理:CORRECTNESS
FindBugs 規則整理:Bad Practice
FindBugs 規則整理:Style & Dodgy
FindBugs 規則整理:Malicious Code Vulnerability
FindBugs 規則整理:Multithreaded Correctness
FindBugs 規則整理:Performance
FindBugs 規則整理:Internationalization
引用
整合以下文章過程中發現部分存在翻譯錯誤,已做修正,同時感謝以下文章作者
FindBugs規則整理