phishing-score-source.ts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import { createRetrieKeywordFilter as createKeywordFilter } from 'foxts/retrie';
  2. export const BLACK_TLD = new Set([
  3. 'accountant', 'art', 'autos',
  4. 'bar', 'beauty', 'bid', 'bio', 'biz', 'bond', 'business', 'buzz',
  5. 'casa', 'cc', 'cf', 'cfd', 'click', 'cloud', 'club', 'cn', 'codes',
  6. 'co.uk', 'co.in', 'com.br', 'com.cn', 'com.pl', 'com.vn',
  7. 'cool', 'cricket', 'cyou',
  8. 'date', 'design', 'digital', 'download',
  9. 'email',
  10. 'faith', 'fit', 'fun',
  11. 'ga', 'games', 'gd', 'gives', 'gq', 'group',
  12. 'help', 'host',
  13. 'icu', 'id', 'info', 'ink',
  14. 'lat', 'life', 'live', 'link', 'loan', 'lol', 'love', 'ltd',
  15. 'me', 'media', 'men', 'ml', 'mobi', 'movie', 'mom', 'monster',
  16. 'net.pl', 'ninja',
  17. 'one', 'online',
  18. 'party', 'pro', 'pl', 'pw',
  19. 'qpon', 'quest',
  20. 'racing', 'rest', 'review', 'rf.gd',
  21. 'sa.com', 'sbs', 'science', 'shop', 'site', 'skin', 'space', 'store', 'stream', 'su', 'support', 'surf',
  22. 'tech', 'tk', 'tokyo', 'top', 'trade',
  23. 'vip', 'vn',
  24. 'webcam', 'website', 'win',
  25. 'xyz',
  26. 'za.com'
  27. ]);
  28. export const WHITELIST_MAIN_DOMAINS = new Set([
  29. // 'w3s.link', // ipfs gateway
  30. // 'dweb.link', // ipfs gateway
  31. // 'nftstorage.link', // ipfs gateway
  32. 'fleek.cool', // ipfs gateway
  33. 'flk-ipfs.xyz', // ipfs gateway
  34. 'business.site', // Drag'n'Drop site building platform
  35. 'page.link', // Firebase URL Shortener
  36. // 'notion.site', d
  37. // 'vercel.app',
  38. 'gitbook.io',
  39. 'zendesk.com',
  40. 'ipfs.eth.aragon.network',
  41. 'wordpress.com',
  42. 'cloud.microsoft', // actually owned by Microsoft
  43. 'windows.net', // Microsoft refuses to add web.core.windows.net to the Public Suffix List
  44. 'myqcloud.com', // curben phishing-filter contains many entries
  45. 'surge.sh', // caused by phishing-filter, also no public suffix
  46. 'backblazeb2.com', // phishing-filter, no publicsuffix, too much abuse
  47. 'cloudflarestorage.com', // Cloudflare R2 S3-API endpoint, phishing-filter false-positives the entire apex
  48. 'pages.dev',
  49. 'workers.dev',
  50. 'chat.z.ai' // Zhipu AI (Z.ai) GLM chat interface, legitimate service, false positive from phishing scoring
  51. ]);
  52. export const leathalKeywords = createKeywordFilter([
  53. 'vinted-',
  54. 'inpost-pl',
  55. 'vlnted-',
  56. 'allegrolokalnie',
  57. 'thetollroads',
  58. 'getipass',
  59. '.secure.txtag',
  60. '00lx.',
  61. '0-lx.',
  62. '01-x',
  63. '0llx',
  64. '0lx.',
  65. 'olx.o',
  66. // Fake TLD
  67. '.pl-',
  68. '-pl.',
  69. '.com-',
  70. '-com.',
  71. '.net-',
  72. '.org-',
  73. '.gov-',
  74. '-gov.',
  75. '.au-',
  76. '.co.uk-',
  77. '.de-',
  78. '.eu-',
  79. '.us-',
  80. '.uk-',
  81. '.ru-'
  82. ]);
  83. export const sensitiveKeywords = createKeywordFilter([
  84. 'amazon',
  85. 'fb-com',
  86. 'focebaak',
  87. 'facebook',
  88. 'metamask',
  89. 'apple',
  90. 'icloud',
  91. 'coinbase',
  92. 'booking.',
  93. 'booking-',
  94. 'vinted.',
  95. 'vinted-',
  96. 'inpost-pl',
  97. 'microsoft',
  98. 'google',
  99. 'minecraft',
  100. 'staemco',
  101. 'oferta',
  102. 'txtag',
  103. 'paypal',
  104. 'dropbox',
  105. 'payment',
  106. 'instagram'
  107. ]);
  108. export const lowKeywords = createKeywordFilter([
  109. 'transactions',
  110. 'wallet',
  111. '-faceb', // facebook fake
  112. '.faceb', // facebook fake
  113. 'virus-',
  114. '-roblox',
  115. '-co-jp',
  116. 'customer.',
  117. 'customer-',
  118. '.www-',
  119. '.www.',
  120. '.www2',
  121. 'microsof',
  122. 'password',
  123. 'recover',
  124. 'banking',
  125. 'shop'
  126. ]);