Class CMakeAnalyzer
java.lang.Object
org.owasp.dependencycheck.analyzer.AbstractAnalyzer
org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer
org.owasp.dependencycheck.analyzer.CMakeAnalyzer
- All Implemented Interfaces:
FileFilter, Analyzer, FileTypeAnalyzer
Used to analyze CMake build files, and collect information that can be used to determine the associated CPE.
Note: This analyzer catches straightforward invocations of the project command, plus some other observed patterns of version inclusion in real CMake projects. Many projects make use of older versions of CMake and/or use custom "homebrew" ways to insert version information. Hopefully as the newer CMake call pattern grows in usage, this analyzer allow more CPEs to be identified.
- Author:
- Dale Visser
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringA descriptor for the type of dependencies processed or added by this analyzer. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidanalyzeDependency(Dependency dependency, Engine engine) Analyzes python packages and adds evidence to the dependency.Tell that we are used for information collection.protected StringReturns the setting key to determine if the analyzer is enabled.protected FileFilterReturns the set of supported file extensions.getName()Returns the name of the CMake analyzer.protected voidprepareFileTypeAnalyzer(Engine engine) Initializes the analyzer.Methods inherited from class AbstractFileTypeAnalyzer
accept, getFilesMatched, newHashSet, prepareAnalyzer, setFilesMatchedMethods inherited from class AbstractAnalyzer
analyze, close, closeAnalyzer, getSettings, initialize, isEnabled, prepare, setEnabled, supportsParallelProcessingMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Analyzer
analyze, close, initialize, isEnabled, prepare, supportsParallelProcessing
-
Field Details
-
DEPENDENCY_ECOSYSTEM
A descriptor for the type of dependencies processed or added by this analyzer.- See Also:
-
-
Constructor Details
-
CMakeAnalyzer
public CMakeAnalyzer()
-
-
Method Details
-
getName
-
getAnalysisPhase
Tell that we are used for information collection.- Returns:
- INFORMATION_COLLECTION
-
getFileFilter
Returns the set of supported file extensions.- Specified by:
getFileFilterin classAbstractFileTypeAnalyzer- Returns:
- the set of supported file extensions
-
prepareFileTypeAnalyzer
Initializes the analyzer.- Specified by:
prepareFileTypeAnalyzerin classAbstractFileTypeAnalyzer- Parameters:
engine- a reference to the dependency-check engine- Throws:
InitializationException- thrown if an exception occurs getting an instance of SHA1
-
analyzeDependency
Analyzes python packages and adds evidence to the dependency.- Specified by:
analyzeDependencyin classAbstractAnalyzer- Parameters:
dependency- the dependency being analyzedengine- the engine being used to perform the scan- Throws:
AnalysisException- thrown if there is an unrecoverable error analyzing the dependency
-
getAnalyzerEnabledSettingKey
Description copied from class:AbstractAnalyzerReturns the setting key to determine if the analyzer is enabled.
- Specified by:
getAnalyzerEnabledSettingKeyin classAbstractAnalyzer- Returns:
- the key for the analyzer's enabled property
-