Class YarnAuditAnalyzer

All Implemented Interfaces:
FileFilter, Analyzer, FileTypeAnalyzer

@ThreadSafe public class YarnAuditAnalyzer extends AbstractNpmAnalyzer
  • Field Details

  • Constructor Details

    • YarnAuditAnalyzer

      public YarnAuditAnalyzer()
  • Method Details

    • getAnalyzerEnabledSettingKey

      protected String getAnalyzerEnabledSettingKey()
      Description copied from class: AbstractAnalyzer

      Returns the setting key to determine if the analyzer is enabled.

      Specified by:
      getAnalyzerEnabledSettingKey in class AbstractAnalyzer
      Returns:
      the key for the analyzer's enabled property
    • getFileFilter

      protected FileFilter getFileFilter()
      Description copied from class: AbstractFileTypeAnalyzer

      Returns the FileFilter used to determine which files are to be analyzed. An example would be an analyzer that inspected Java jar files. Implementors may use FileFilterBuilder.

      If the analyzer returns null it will not cause additional files to be analyzed, but will be executed against every file loaded.

      Specified by:
      getFileFilter in class AbstractFileTypeAnalyzer
      Returns:
      the file filter used to determine which files are to be analyzed
    • getName

      public String getName()
      Description copied from interface: Analyzer
      Returns the name of the analyzer.
      Returns:
      the name of the analyzer.
    • getAnalysisPhase

      public AnalysisPhase getAnalysisPhase()
      Description copied from interface: Analyzer
      Returns the phase that the analyzer is intended to run in.
      Returns:
      the phase that the analyzer is intended to run in.
    • prepareFileTypeAnalyzer

      protected void prepareFileTypeAnalyzer(Engine engine) throws InitializationException
      Initializes the analyzer once before any analysis is performed.
      Overrides:
      prepareFileTypeAnalyzer in class AbstractNpmAnalyzer
      Parameters:
      engine - a reference to the dependency-check engine
      Throws:
      InitializationException - if there's an error during initialization
    • analyzeDependency

      protected void analyzeDependency(Dependency dependency, Engine engine) throws AnalysisException
      Analyzes the yarn lock file to determine vulnerable dependencies. Uses yarn audit --offline to generate the payload to be sent to the NPM API.
      Specified by:
      analyzeDependency in class AbstractAnalyzer
      Parameters:
      dependency - the yarn lock file
      engine - the analysis engine
      Throws:
      AnalysisException - thrown if there is an error analyzing the file