shadowbq/threatinator

View on GitHub
feeds/infiltrated-ip_reputation.feed

Summary

Maintainability
Test Coverage
provider "infiltrated"
name "ip_reputation"
fetch_http('http://www.infiltrated.net/blacklisted')
event_types [:scanning]

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

filter_whitespace
filter_comments

# Filter out missing last octet
# Example: '78.29.9.\n'
filter do |record|
  (record.data =~ /\d{1,3}\.\d{1,3}\.\d{1,3}\.\n/)
  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