The OWASP Benchmark is a test suite designed to evaluate the speed, coverage, and accuracy of automated vulnerability detection tools. Without the ability to measure these tools, it is difficult to understand their strengths and weaknesses, and compare them to each other. The Benchmark contains thousands of test cases that are fully runnable and exploitable. The following is the scorecard for the tool SonarQube Java Plugin against version 1.2beta of the Benchmark. It shows how well this tool finds true positives and avoids false positives in the Benchmark test cases.
For more information, please visit the OWASP Benchmark Project Site.
|Tool elapsed analysis time||0:05:30|
|Tool overall score (0-100)||33,34%||Total test cases||2740|
|Download raw results||Actual Results|
|Trust Boundary Violation||501||0||83||43||0||126||0,00%||0,00%||0,00%|
|Weak Encryption Algorithm||327||130||0||116||0||246||100,00%||0,00%||100,00%|
|Weak Hash Algorithm||328||89||40||107||0||236||68,99%||0,00%||68,99%|
|Weak Random Number||330||218||0||275||0||493||100,00%||0,00%||100,00%|
|XPath Injection||643||0||15||20||0||35||0,00%||0,00%||0,00%||Totals*||607||808||1184||141||2740||Overall Results*||50,36%||17,02%||33,34%|
*-The Overall Results are averages across all the vulnerability categories. You can't compute these averages by simply calculating the TPR and FPR rates using the values in the Totals row. If you did that, categories with larger number of tests would carry more weight than categories with less tests. The proper calculation of the Overall Results is to add up all the TPR, FPR, and Score values, and then divide by the number of vulnerability categories, which is how they are calculated.
|Common Weakness Enumeration (CWE)||The primary MITRE CWE number for this vulnerability category.|
|True Positive (TP)||Tests with real vulnerabilities that were correctly reported as vulnerable by the tool.|
|False Negative (FN)||Tests with real vulnerabilities that were not correctly reported as vulnerable by the tool.|
|True Negative (TN)||Tests with fake vulnerabilities that were correctly not reported as vulnerable by the tool.|
|False Positive (FP)||Tests with fake vulnerabilities that were incorrectly reported as vulnerable by the tool.|
|True Positive Rate (TPR) = TP / ( TP + FN )||The rate at which the tool correctly reports real vulnerabilities. Also referred to as Recall, as defined at Wikipedia.|
|False Positive Rate (FPR) = FP / ( FP + TN )||The rate at which the tool incorrectly reports fake vulnerabilities as real.|
|Score = TPR - FPR||Normalized distance from the random guess line.|