Sha256: b9a99544377db4e000db73328e8783cb8ae643fb579ec760d53f4b03e073e36c

Contents?: true

Size: 1.94 KB

Versions: 36

Compression:

Stored size: 1.94 KB

Contents

module Mihari
  module Analyzers
    class Base
      # extend Dry::Initializer

      include Mixins::AutonomousSystem
      include Mixins::Configurable
      include Mixins::Retriable

      attr_accessor ignore_old_artifacts: bool

      attr_accessor ignore_threshold: Integer

      def initialize: (*untyped args, **untyped kwargs) -> void

      # @return [Array<String>, Array<Mihari::Artifact>]
      def artifacts: () -> (Array[String] | Array[Mihari::Artifact])

      # @return [String]
      def title: () -> String

      # @return [String]
      def description: () -> String

      # @return [String]
      def source: () -> String

      # @return [Array<String>]
      def tags: () -> ::Array[String]

      #
      # Set artifacts & run emitters in parallel
      #
      # @return [nil]
      #
      def run: () -> void

      #
      # Run emitter
      #
      # @param [Mihari::Emitters::Base] emitter
      #
      # @return [nil]
      #
      def run_emitter: (untyped emitter) -> void

      def self.inherited: (untyped child) -> untyped

      #
      # Normalize artifacts
      # - Uniquefy artifacts by native #uniq
      # - Convert data (string) into an artifact
      # - Reject an invalid artifact
      #
      # @return [Array<Mihari::Artifact>]
      #
      def normalized_artifacts: () -> Array[Mihari::Artifact]

      private

      #
      # Uniquefy artifacts
      #
      # @return [Array<Mihari::Artifact>]
      #
      def unique_artifacts: () -> Array[Mihari::Artifact]

      #
      # Enriched artifacts
      #
      # @return [Array<Mihari::Artifact>]
      #
      def enriched_artifacts: () -> Array[Mihari::Artifact]

      #
      # Set enriched artifacts
      #
      # @return [nil]
      #
      def set_enriched_artifacts: () -> void

      #
      # Select valid emitters
      #
      # @return [Array<Mihari::Emitters::Base>]
      #
      def valid_emitters: () -> Array[Mihari::Emitters::Base]
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
mihari-4.12.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.11.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.10.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.9.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.8.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.7.4 sig/lib/mihari/analyzers/base.rbs
mihari-4.7.3 sig/lib/mihari/analyzers/base.rbs
mihari-4.7.2 sig/lib/mihari/analyzers/base.rbs
mihari-4.7.1 sig/lib/mihari/analyzers/base.rbs
mihari-4.7.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.6.1 sig/lib/mihari/analyzers/base.rbs
mihari-4.6.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.5.3 sig/lib/mihari/analyzers/base.rbs
mihari-4.5.2 sig/lib/mihari/analyzers/base.rbs
mihari-4.5.1 sig/lib/mihari/analyzers/base.rbs
mihari-4.5.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.4.1 sig/lib/mihari/analyzers/base.rbs
mihari-4.4.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.3.0 sig/lib/mihari/analyzers/base.rbs
mihari-4.2.0 sig/lib/mihari/analyzers/base.rbs