xref: /plugin/botmon/config/default-config.json (revision 3986410d5cb632eabdab2cc231d4ad9855eca7c5)
1{
2	"threshold": 100,
3	"rules": [
4		{"func": "fromKnownBotIP",
5		 "id": "botIpRange", "desc": "Common Bot IP range",
6		 "bot": 50
7		},
8		{"func": "matchesClient", "params": ["aol","msie","ffold","chromeold","oldedge","operaold"],
9		 "id": "oldClient", "desc": "Obsolete browser version",
10		 "bot": 40
11		},
12		{"func": "matchesPlatform", "params": ["winold", "macosold", "androidold"],
13		 "id": "oldOS", "desc": "Obsolete platform version",
14		 "bot": 40
15		},
16		{"func": "matchesPlatform", "params": ["winsrvr", "bsd"],
17		 "id": "serverOS", "desc": "Server OS",
18		 "bot": 40
19		},
20		{"func": "matchesPlatform", "params": ["null"],
21		 "id": "noOS", "desc": "Unknown or missing OS information",
22		 "bot": 40
23		},
24		{"func": "smallPageCount", "params": [1],
25		 "id": "onePage", "desc": "Visiter viewed only a single page",
26		 "bot": 20
27		},
28		{"func": "noRecord", "params": ["log"],
29		 "id": "noClient", "desc": "No client-side JS log was recorded",
30		 "bot": 50
31		},
32		{"func": "noRecord", "params": ["tck"],
33		 "id": "noTicks", "desc": "No client ticks were recorded",
34		 "bot": 10
35		},
36		{"func": "noReferrer",
37		 "id": "noRefs", "desc": "No referer field",
38		 "bot": 30
39		},
40		{"func": "matchesClient", "params": ["brave","operaold","msie","webkit"],
41		 "id": "susClient", "desc": "Client identifier that is popular with bot networks",
42		 "bot": 10
43		},
44		{"func": "matchesClient", "params": ["undici","gohttp"],
45		 "id": "botClient", "desc": "Client identifier indicates web crawler",
46		 "bot": 100
47		},
48		{"func": "matchesUserAgent", "params": [""],
49		 "id": "noUA", "desc": "Didn’t even bother to send a user-agent string",
50		 "bot": 50
51		},
52		{"func": "combinationTest", "params": [["macos","chromeold"],["macos","msie"],["winold","edge"],["winold","brave"]],
53		 "id": "suspPC", "desc": "Suspicious combination of platform and client",
54		 "bot": 30
55		},
56		{"func": "combinationTest", "params": [["macos","msie"],["win10","safari"],["macosold","brave"]],
57		 "id": "impPC", "desc": "Impossible combination of platform and client",
58		 "bot": 70
59		},
60		{"func": "loadSpeed", "params": [3, 20],
61		 "id": "speedRun", "desc": "Average time between page loads is less than 20 seconds",
62		 "bot": 80
63		},
64		{"func": "noAcceptLang",
65		 "id": "noAcc", "desc": "No “Accept-Language” header",
66		 "bot": 40
67		},
68		{"func": "matchLang", "params": [],
69		 "id": "langMatch", "desc": "Client’s ‘Accept-Language’ header does not match the page language",
70		 "bot": 30
71		},
72		{"func": "matchesClient", "params": ["whatsapp","applemsgs","goognblm"],
73		 "id": "previewClient", "desc": "User-triggered bot load (e.g. preview)",
74		 "bot": -120
75		}
76	]
77}