2025-09-03 18:22:29 +02:00
|
|
|
|
{
|
2025-09-05 12:47:36 +02:00
|
|
|
|
"threshold": 100,
|
2025-09-03 18:22:29 +02:00
|
|
|
|
"rules": [
|
2025-09-06 16:20:58 +02:00
|
|
|
|
{"func": "fromKnownBotIP",
|
|
|
|
|
|
"id": "botIpRange", "desc": "Common Bot IP range",
|
|
|
|
|
|
"bot": 50
|
|
|
|
|
|
},
|
2025-09-08 20:38:07 +02:00
|
|
|
|
{"func": "matchesClient", "params": ["aol", "msie", "chromeold","oldedge"],
|
2025-09-05 16:22:39 +02:00
|
|
|
|
"id": "oldClient", "desc": "Obsolete browser version",
|
2025-09-05 12:47:36 +02:00
|
|
|
|
"bot": 40
|
|
|
|
|
|
},
|
2025-09-10 23:07:51 +02:00
|
|
|
|
{"func": "matchesPlatform", "params": ["winold", "macosold"],
|
2025-09-05 16:22:39 +02:00
|
|
|
|
"id": "oldOS", "desc": "Obsolete platform version",
|
2025-09-05 12:47:36 +02:00
|
|
|
|
"bot": 40
|
|
|
|
|
|
},
|
2025-09-10 23:07:51 +02:00
|
|
|
|
{"func": "matchesPlatform", "params": ["winsrvr", "bsd"],
|
|
|
|
|
|
"id": "serverOS", "desc": "Server OS",
|
|
|
|
|
|
"bot": 40
|
|
|
|
|
|
},
|
2025-09-05 12:47:36 +02:00
|
|
|
|
{"func": "smallPageCount", "params": [1],
|
2025-09-06 16:20:58 +02:00
|
|
|
|
"id": "onePage", "desc": "Visiter viewed only a single page",
|
2025-09-05 23:03:22 +02:00
|
|
|
|
"bot": 40
|
2025-09-05 12:47:36 +02:00
|
|
|
|
},
|
2025-09-07 16:11:17 +02:00
|
|
|
|
{"func": "noRecord", "params": ["log"],
|
|
|
|
|
|
"id": "noClient", "desc": "No client-side JS log was recorded",
|
|
|
|
|
|
"bot": 50
|
|
|
|
|
|
},
|
|
|
|
|
|
{"func": "noRecord", "params": ["tck"],
|
|
|
|
|
|
"id": "noTicks", "desc": "No client ticks were recorded",
|
2025-09-05 12:47:36 +02:00
|
|
|
|
"bot": 10
|
|
|
|
|
|
},
|
2025-09-06 16:20:58 +02:00
|
|
|
|
{"func": "noReferrer",
|
|
|
|
|
|
"id": "noRefs", "desc": "No referer field",
|
|
|
|
|
|
"bot": 30
|
|
|
|
|
|
},
|
2025-09-10 00:02:42 +02:00
|
|
|
|
{"func": "matchLang", "params": [],
|
|
|
|
|
|
"id": "langMatch", "desc": "Client’s ‘Accept-Language’ header does not match the page language",
|
|
|
|
|
|
"bot": 30
|
2025-09-06 20:01:03 +02:00
|
|
|
|
},
|
2025-09-08 20:38:07 +02:00
|
|
|
|
{"func": "matchesClient", "params": ["brave"],
|
2025-09-06 16:20:58 +02:00
|
|
|
|
"id": "susClient", "desc": "Client identifier that is popular with bot networks",
|
|
|
|
|
|
"bot": 10
|
|
|
|
|
|
},
|
2025-09-08 20:38:07 +02:00
|
|
|
|
{"func": "combinationTest", "params": [["macos", "chrome"]],
|
2025-09-06 16:20:58 +02:00
|
|
|
|
"id": "unusualPC", "desc": "Unusual combination of platform and client",
|
|
|
|
|
|
"bot": 10
|
|
|
|
|
|
},
|
2025-09-08 20:38:07 +02:00
|
|
|
|
{"func": "combinationTest", "params": [["macos", "chromeold"],["macosold", "brave"],["winold", "edge"],["winold", "brave"]],
|
2025-09-06 16:20:58 +02:00
|
|
|
|
"id": "suspPC", "desc": "Suspicious combination of platform and client",
|
2025-09-05 12:47:36 +02:00
|
|
|
|
"bot": 30
|
2025-09-06 16:20:58 +02:00
|
|
|
|
},
|
2025-09-08 20:38:07 +02:00
|
|
|
|
{"func": "combinationTest", "params": [["macos", "msie"], ["win10", "safari"]],
|
2025-09-06 16:20:58 +02:00
|
|
|
|
"id": "impPC", "desc": "Impossible combination of platform and client",
|
2025-09-09 09:36:13 +02:00
|
|
|
|
"bot": 80
|
2025-09-07 16:11:17 +02:00
|
|
|
|
},
|
|
|
|
|
|
{"func": "loadSpeed", "params": [3, 20],
|
|
|
|
|
|
"id": "speedRun", "desc": "Average time between page loads is less than 20 seconds",
|
2025-09-09 09:36:13 +02:00
|
|
|
|
"bot": 80
|
|
|
|
|
|
},
|
|
|
|
|
|
{"func": "noAcceptLang",
|
2025-09-10 00:02:42 +02:00
|
|
|
|
"id": "noAcc", "desc": "No “Accept-Language” header",
|
2025-09-09 09:36:13 +02:00
|
|
|
|
"bot": 40
|
2025-09-10 14:44:08 +02:00
|
|
|
|
},
|
|
|
|
|
|
{"func": "matchesCountry", "params": ["BR", "CN", "RU", "US", "MX", "SG", "IN", "UY"],
|
|
|
|
|
|
"id": "isFrom", "desc": "Location is in a known bot-spamming country.",
|
2025-09-10 23:07:51 +02:00
|
|
|
|
"bot": 50
|
2025-09-10 14:44:08 +02:00
|
|
|
|
},
|
2025-09-12 15:38:28 +02:00
|
|
|
|
{"func": "matchesCountry", "params": ["ZZ"],
|
|
|
|
|
|
"id": "zzCtry", "desc": "Location could not be determined",
|
2025-09-10 23:07:51 +02:00
|
|
|
|
"bot": 20
|
2025-09-05 12:47:36 +02:00
|
|
|
|
}
|
2025-09-06 16:20:58 +02:00
|
|
|
|
],
|
|
|
|
|
|
"ipRanges": [
|
2025-09-10 00:02:42 +02:00
|
|
|
|
{"from": "3.0.0.0", "to": "3.255.255.254", "label": "Amazon Data Services [US]"},
|
2025-09-09 09:36:13 +02:00
|
|
|
|
{"from": "8.127.0.0", "to": "8.223.255.254", "label": "Alibaba [CN]"},
|
|
|
|
|
|
{"from": "24.240.0.0", "to": "24.243.255.254", "label": "Charter [US]"},
|
|
|
|
|
|
{"from": "27.106.0.0", "to": "27.106.127.254", "label": "Huawei [US]"},
|
|
|
|
|
|
{"from": "34.0.0.0", "to": "34.191.255.254", "label": "Google LLC"},
|
|
|
|
|
|
{"from": "45.0.0.0", "to": "45.255.255.254", "label": "Various small ISPs, mostly BR"},
|
|
|
|
|
|
{"from": "46.250.160.0", "to": "46.250.191.254", "label": "Huawei [MX]"},
|
|
|
|
|
|
{"from": "49.0.200.0", "to": "49.0.255.254", "label": "Huawei [SG]"},
|
2025-09-08 20:38:07 +02:00
|
|
|
|
{"from": "84.37.35.0", "to": "84.37.255.254", "label": "GTT.net [US]"},
|
|
|
|
|
|
{"from": "94.74.64.0", "to": "94.74.127.254", "label": "Huawei [HK]"},
|
2025-09-09 09:36:13 +02:00
|
|
|
|
{"from": "101.0.0.0", "to": "101.255.255.254", "label": "ChinaNet [CN]"},
|
2025-09-10 00:02:42 +02:00
|
|
|
|
{"from": "110.238.96.0", "to": "110.238.127.254", "label": "Huawei [SG]"},
|
|
|
|
|
|
{"from": "111.119.192.0", "to": "111.119.255.254", "label": "Huawei [SG]"},
|
2025-09-09 09:36:13 +02:00
|
|
|
|
{"from": "119.0.0.0", "to": "101.207.255.254", "label": "Unicom [CN]"},
|
2025-09-08 20:38:07 +02:00
|
|
|
|
{"from": "121.91.168.", "to": "121.91.175.254", "label": "Huawei [HK]"},
|
2025-09-09 09:36:13 +02:00
|
|
|
|
{"from": "122.8.0.0", "to": "122.8.255.254", "label": "CN-ISP [CN]"},
|
|
|
|
|
|
{"from": "122.9.0.0", "to": "122.9.255.254", "label": "Huawei [CN]"},
|
|
|
|
|
|
{"from": "124.243.128.0", "to": "124.243.191.254", "label": "Huawei [SG]"},
|
|
|
|
|
|
{"from": "142.147.128.0", "to": "1142.147.255.254", "label": "Web2Objects LLC [US]"},
|
|
|
|
|
|
{"from": "150.40.128.0", "to": "150.40.255.254", "label": "Huawei [HK]"},
|
|
|
|
|
|
{"from": "159.138.0.0", "to": "159.138.225.254", "label": "Huawei [TH]"},
|
|
|
|
|
|
{"from": "162.128.0.0", "to": "162.128.255.254", "label": "Zenlayer [SG]"},
|
|
|
|
|
|
{"from": "166.108.192.0", "to": "166.108.255.254", "label": "Huawei [SG]"},
|
2025-09-10 00:02:42 +02:00
|
|
|
|
{"from": "177.0.0.0", "to": "177.255.255.254", "label": "BrasilNET [BR]"},
|
|
|
|
|
|
{"from": "179.0.0.0", "to": "179.255.255.254", "label": "BrasilNET [BR]"},
|
2025-09-09 09:36:13 +02:00
|
|
|
|
{"from": "183.87.32.0", "to": "183.87.159.254", "label": "Huawei [HK]"},
|
2025-09-10 00:02:42 +02:00
|
|
|
|
{"from": "186.0.0.0", "to": "186.255.255.254", "label": "South-American ISPs (186.x)"},
|
|
|
|
|
|
{"from": "187.0.0.0", "to": "187.255.255.254", "label": "South-American ISPs (187.x)"},
|
|
|
|
|
|
{"from": "188.0.0.0", "to": "188.255.255.254", "label": "South-American ISPs (188.x)"},
|
|
|
|
|
|
{"from": "189.0.0.0", "to": "189.255.255.254", "label": "South-American ISPs (189.x)"},
|
|
|
|
|
|
{"from": "190.0.0.0", "to": "190.255.255.254", "label": "South-American ISPs (190.x)"},
|
2025-09-09 09:36:13 +02:00
|
|
|
|
{"from": "192.124.170.0", "to": "192.124.182.254", "label": "Relcom [CZ]"},
|
2025-09-10 23:07:51 +02:00
|
|
|
|
{"from": "195.37.0.0", "to": "195.37.255.255", "label": "DFN [DE]"},
|
2025-09-08 20:38:07 +02:00
|
|
|
|
{"from": "2001:4800::::::", "to": "2001:4fff:ffff:ffff:ffff:ffff:ffff:ffff", "label": "Rackspace/Google [US]"},
|
2025-09-10 00:02:42 +02:00
|
|
|
|
{"from": "2001:0ee0::::::", "to": "2001:ee3:ffff:ffff:ffff:ffff:ffff:ffff", "mask": 30, "label": "VNPT [VN]"},
|
2025-09-08 20:38:07 +02:00
|
|
|
|
{"from": "2600:1f00::::::", "to": "2600:1fff:ffff:ffff:ffff:ffff:ffff:ffff", "label": "Amazon Cloud [US]"},
|
|
|
|
|
|
{"from": "2804:::::::", "to": "2804:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", "label": "Inspire [BR]"},
|
2025-09-09 09:36:13 +02:00
|
|
|
|
{"from": "2a0a:4cc0::::::", "to": "2a0a:4cc0:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", "label": "Netcup [DE]"}
|
2025-09-05 12:47:36 +02:00
|
|
|
|
]
|
2025-09-03 18:22:29 +02:00
|
|
|
|
}
|