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