evalの部分があれだったのでFile.openの前行に
exit 1 unless ARGV[1..-1].all?{|s|/^0b[01]+$|^0[0-9]+$|^0x[0-9a-fA-F]+$|^[0-9]+$/=~s}

>> 494
$ head -c 1M /dev/urandom > data.bin
$ ruby bitsearch.rb data.bin 0b1010101010 0777 345 0xfff > data.bin.tags
$ grep -Po '/TAG' data.bin.tags | wc -l
42750
VM上XPで確認
http://s1.gazo.cc/up/117889.jpg
うちの環境では再現しないので対応は無理です