Sha256: ac552f18c34a2add0099c1a03a14d524845501ef84b641bde3f0cbb8b378e274

Contents?: true

Size: 1.74 KB

Versions: 16

Compression:

Stored size: 1.74 KB

Contents

class ArtifactValidator < ActiveModel::Validator
  def validate: (Mihari::Artifact record) -> (nil | Mihari::Artifact)
end

module Mihari
  class Artifact < ActiveRecord::Base
    attr_accessor data (): String
    attr_accessor data_type (): String

    attr_accessor metadata(): Hash?

    attr_accessor autonomous_system(): Mihari::AutonomousSystem
    attr_accessor geolocation (): Mihari::Geolocation
    attr_accessor whois_record(): Mihari::WhoisRecord
    attr_accessor dns_records(): Array[Mihari::DnsRecord]
    attr_accessor reverse_dns_names(): Array[Mihari::ReverseDnsName]
    attr_accessor cpes(): Array[Mihari::CPE]
    attr_accessor ports(): Array[Mihari::Port]

    include ActiveModel::Validations

    def initialize: (Hash[(String | Symbol), untyped] attributes) -> void

    #
    # Check uniqueness of artifact
    #
    # @param [Boolean] ignore_old_artifacts
    # @param [Integer] ignore_threshold
    #
    # @return [Boolean] true if it is unique. Otherwise false.
    #
    def unique?: (?ignore_old_artifacts: bool ignore_old_artifacts, ?ignore_threshold: ::Integer ignore_threshold) -> (bool)

    #
    # Enrich(add) whois record
    #
    def enrich_whois: () -> void

    #
    # Enrich(add) DNS records
    #
    def enrich_dns: () -> void

    #
    # Enrich(add) reverse DNS names
    #
    def enrich_reverse_dns: () -> void

    def enrich_geolocation: () -> void

    def enrich_autonomous_system: () -> void

    def enrich_all: () -> void

    private

    def normalize_as_domain: (String url_or_domain) -> String

    def can_enrich_whois?: () -> bool

    def can_enrich_dns?: () -> bool

    def can_enrich_revese_dns?: () -> bool

    def can_enrich_geolocation?: () -> bool

    def can_enrich_autonomous_system?: () -> bool
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
mihari-4.12.0 sig/lib/mihari/models/artifact.rbs
mihari-4.11.0 sig/lib/mihari/models/artifact.rbs
mihari-4.10.0 sig/lib/mihari/models/artifact.rbs
mihari-4.9.0 sig/lib/mihari/models/artifact.rbs
mihari-4.8.0 sig/lib/mihari/models/artifact.rbs
mihari-4.7.4 sig/lib/mihari/models/artifact.rbs
mihari-4.7.3 sig/lib/mihari/models/artifact.rbs
mihari-4.7.2 sig/lib/mihari/models/artifact.rbs
mihari-4.7.1 sig/lib/mihari/models/artifact.rbs
mihari-4.7.0 sig/lib/mihari/models/artifact.rbs
mihari-4.6.1 sig/lib/mihari/models/artifact.rbs
mihari-4.6.0 sig/lib/mihari/models/artifact.rbs
mihari-4.5.3 sig/lib/mihari/models/artifact.rbs
mihari-4.5.2 sig/lib/mihari/models/artifact.rbs
mihari-4.5.1 sig/lib/mihari/models/artifact.rbs
mihari-4.5.0 sig/lib/mihari/models/artifact.rbs