mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-01-14 07:43:40 +01:00
Patch for jeremylong/DependencyCheck/#466
This does two things: 1) Updates the PythonPackageAnalyzer to HIGH evidence for __init__.py 2) Removes evidence from the FileNameAnalyzer for __init__.py[co]? TODO: Need for the PythonPackageAnalyzer to still add evidence for __init__.py[co] even though it won't be able to analyze the contents of it. Also, need to work up the tree for __init__.py files to get the parent folders (not sure why subfolders are not being inspected).
This commit is contained in:
@@ -18,7 +18,9 @@
|
||||
package org.owasp.dependencycheck.analyzer;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.apache.commons.io.filefilter.NameFileFilter;
|
||||
import org.owasp.dependencycheck.Engine;
|
||||
import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
|
||||
import org.owasp.dependencycheck.dependency.Confidence;
|
||||
@@ -65,6 +67,13 @@ public class FileNameAnalyzer extends AbstractAnalyzer implements Analyzer {
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
// Python init files
|
||||
private static final NameFileFilter IGNORED_FILES = new NameFileFilter(new String[] {
|
||||
"__init__.py",
|
||||
"__init__.pyc",
|
||||
"__init__.pyo"
|
||||
});
|
||||
|
||||
/**
|
||||
* Collects information about the file name.
|
||||
*
|
||||
@@ -102,7 +111,7 @@ public class FileNameAnalyzer extends AbstractAnalyzer implements Analyzer {
|
||||
fileName, Confidence.HIGHEST);
|
||||
dependency.getVendorEvidence().addEvidence("file", "name",
|
||||
fileName, Confidence.HIGHEST);
|
||||
} else {
|
||||
} else if (!IGNORED_FILES.accept(f)) {
|
||||
dependency.getProductEvidence().addEvidence("file", "name",
|
||||
fileName, Confidence.HIGH);
|
||||
dependency.getVendorEvidence().addEvidence("file", "name",
|
||||
|
||||
@@ -185,7 +185,7 @@ public class PythonPackageAnalyzer extends AbstractFileTypeAnalyzer {
|
||||
if (found) {
|
||||
dependency.setDisplayFileName(parentName + "/__init__.py");
|
||||
dependency.getProductEvidence().addEvidence(file.getName(),
|
||||
"PackageName", parentName, Confidence.MEDIUM);
|
||||
"PackageName", parentName, Confidence.HIGH);
|
||||
} else {
|
||||
// copy, alter and set in case some other thread is iterating over
|
||||
final List<Dependency> dependencies = new ArrayList<Dependency>(
|
||||
|
||||
Reference in New Issue
Block a user