Sha256: 1dae73336b14a934766c9afef5af3f320917a8e400245c57417248dbeee7697b
Contents?: true
Size: 1.06 KB
Versions: 4
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true require "censu" module Mihari module Analyzers class Censys < Base attr_reader :api attr_reader :title attr_reader :description attr_reader :query CENSYS_ID_KEY = "CENSYS_ID" CENSYS_SECRET_KEY = "CENSYS_SECRET" def initialize(query) super() raise ArgumentError, "#{CENSYS_ID_KEY} and #{CENSYS_SECRET_KEY} are required" unless valid? @api = ::Censys::API.new @query = query @title = "Censys lookup" @description = "Query: #{query}" end def artifacts ipv4s = [] res = api.ipv4.search(query: query) res.each_page do |page| page.each { |result| ipv4s << result.ip } end ipv4s end # @return [true, false] def censys_id? ENV.key? CENSYS_ID_KEY end # @return [true, false] def censys_secret? ENV.key? CENSYS_SECRET_KEY end # @return [true, false] def valid? censys_id? && censys_secret? end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mihari-0.2.2 | lib/mihari/analyzers/censys.rb |
mihari-0.2.1 | lib/mihari/analyzers/censys.rb |
mihari-0.2.0 | lib/mihari/analyzers/censys.rb |
mihari-0.1.0 | lib/mihari/analyzers/censys.rb |