Dokumentace Spam Scanneru
Spam Scanner je spamový filtr pro Node.js a příkazovou řádku se zdrojovým kódem na GitHubu. Přečte surovou e-mailovou zprávu a rozhodne, zda jde o spam, phishing nebo podvod, nebo zda nese malware, a to v jakémkoli jazyce. Běží jako knihovna, nástroj pro příkazovou řádku, milterMail filter: protokol ze Sendmailu, který používá i Postfix a který samostatnému programu umožňuje prohlédnout každou zprávu během relace SMTP. pro Postfix nebo Sendmail, obsahový filtr pro Postfix, server spamdDémon SpamAssassinu. Jeho protokolem mluví spamc, Exim, Haraka a další klienti SpamAssassinu. kompatibilní se SpamAssassinem, HTTP API nebo TCP server.
Vytváří ho Forward Email pro vlastní poštovní servery.
Jak se zpráva posuzuje#
Každá kontrola body přidává nebo ubírá. O výsledku rozhoduje součet:
| Skóre | Akce | Co udělá poštovní server |
|---|---|---|
| Pod 5 | accept | Zprávu doručí |
| 5 až 14,9 | tag | Doručí ji označenou jako spam |
| 15 a více | reject | Odmítne ji během relace SMTP |
Oba prahy lze změnit. Každý výsledek uvádí testy, které se spustily, s jejich body a důvodem, takže rozhodnutí lze vždy vysvětlit.
Kontroly:
- Natrénovaný klasifikátor čte slova zprávy v jakémkoli písmu, podobu jejích odkazů, odesílatele a přílohy. Dodává se natrénovaný na veřejných datových sadách a učí se z vaší vlastní pošty. Jak klasifikátor funguje
- Kontroly phishingu zachytí podobně vypadající domény (
paypa1.com,pаypal.coms cyrilickým а), odkazy, jejichž text ukazuje jednu adresu a cíl vede jinam, a zobrazovaná jména, která se hlásí ke značce. Phishing - Kontroly příloh najdou spustitelné soubory, spustitelné soubory přejmenované na dokumenty, dvojité přípony, triky se směrem textu zprava doleva v názvech souborů, spustitelné soubory v souborech ZIP, makra Office a aktivní obsah PDF. ClamAVAntivirový engine s otevřeným zdrojovým kódem. Jeho démon clamd kontroluje soubory poslané přes socket. může přílohy kontrolovat na viry. Přílohy
- Ověření: SPFSender Policy Framework: záznam v DNS se seznamem serverů, které smějí za doménu odesílat poštu., DKIMDomainKeys Identified Mail: podpis zprávy ověřovaný veřejným klíčem zveřejněným v DNS odesílatele., DMARCZásada v DNS, která příjemcům říká, co dělat s poštou, jež se hlásí k doméně, ale neprojde zarovnáním SPF a DKIM. a ARCAuthenticated Received Chain: podpisy, které přenášejí výsledky ověření přes přeposílající servery., pokud je známa IP adresa klienta. Ověření
- DNS blocklisty pro IP adresu klienta a domény v odkazech a filtrovací resolvery Cloudflare pro známý malware a weby pro dospělé. Blocklisty
- Pravidla pro vzory, které se žádný klasifikátor nemusí učit: testovací řetězec GTUBEGeneric Test for Unsolicited Bulk Email: pevný řetězec, který každý spamový filtr považuje za spam, určený k testování., předměty sextortion, podvody s fakturami PayPal, podvrhování vlastní domény a pokyny skryté pro filtry s AI. Pravidla
- Jazykový model, volitelný, dává druhý názor v hraničních případech: lokální model přes OllamaProgram, který stahuje a spouští otevřené jazykové modely na vašem vlastním počítači a nabízí HTTP API. nebo jakýkoli server kompatibilní s OpenAI, rozhodovací model, například Clef od Cloudflaru, nebo Claude, ChatGPT, Gemini a další. Ve výchozím stavu vrátí v jednom kroku pravděpodobnost každého verdiktu, místo aby psal odpověď. Jazykové modely
Kde začít#
- Začínáme: instalace a kontrola první zprávy.
- Příkazová řádka: všechny příkazy a volby.
- Postfix a Sendmail: filtrování poštovního serveru milterem nebo obsahovým filtrem.
- Další poštovní servery: Exim, Haraka, Dovecot, procmail a cokoli, co umí volat HTTP API.
- Trénování: naučte ho vaši vlastní poštu a změřte výsledek.
- Jazykové modely: rozhodování a generování, naměřená přesnost a rychlost, rozhodovací modely, poskytovatelé, doporučené otevřené modely, soukromí a prompt injection.
- Jazyky: jak čte čínštinu, arabštinu, thajštinu a každé další písmo.
- Forward Email: jak ho používá Forward Email a přechod z verze 5 nebo 6.
- Reference API a testy a skóre.
- Zabezpečení a soukromí: co opouští počítač a jak to zastavit.