shadowbq/threatinator

View on GitHub
feeds/botscout-ip_reputation.feed

Summary

Maintainability
Test Coverage
provider "botscout"
name "ip_reputation"
fetch_http('http://botscout.com/last_caught_cache.htm')
event_types [:scanning]

feed_re = /(?<ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/

filter_whitespace
filter_comments

# Filter out anything that doesn't have an IP
filter do |record|
  !(record.data =~ /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)
  end

parse_eachline(:separator => "\n") do |event_generator, record|
  m = feed_re.match(record.data)
  next if m.nil?

  event_generator.call() do |event|
    event.type = :scanning
    event.add_ipv4(m[:ip]) do |ipv4_event|
    end
  end
end