accept IO in audit/scanner.rb