lib/mihari/analyzers/censys.rb in mihari-0.10.0 vs lib/mihari/analyzers/censys.rb in mihari-0.11.0

- old
+ new

@@ -8,13 +8,10 @@ attr_reader :title attr_reader :description attr_reader :query attr_reader :tags - CENSYS_ID_KEY = "CENSYS_ID" - CENSYS_SECRET_KEY = "CENSYS_SECRET" - def initialize(query, title: nil, description: nil, tags: []) super() @query = query @title = title || "Censys lookup" @@ -22,37 +19,25 @@ @tags = tags end def artifacts ipv4s = [] + res = api.ipv4.search(query: query) res.each_page do |page| - page.each { |result| ipv4s << result.ip } + ipv4s << page.map(&:ip) end - ipv4s + ipv4s.flatten end - # @return [true, false] - def valid? - censys_id? && censys_secret? - end - private - # @return [true, false] - def censys_id? - ENV.key? CENSYS_ID_KEY + def config_keys + %w(CENSYS_ID CENSYS_SECRET) end - # @return [true, false] - def censys_secret? - ENV.key? CENSYS_SECRET_KEY - end - def api - raise ArgumentError, "#{CENSYS_ID_KEY} and #{CENSYS_SECRET_KEY} are required" unless valid? - @api ||= ::Censys::API.new end end end end