เอกสารประกอบ Spam Scanner
Spam Scanner เป็นตัวกรองสแปมสำหรับ Node.js และบรรทัดคำสั่ง ซอร์สโค้ดอยู่บน GitHub โปรแกรมอ่านข้อความอีเมลดิบแล้วตัดสินว่าเป็นสแปม ฟิชชิง การหลอกลวง หรือมีมัลแวร์หรือไม่ ได้ทุกภาษา ทำงานได้ทั้งในรูปไลบรารี เครื่องมือบรรทัดคำสั่ง milterMail filter: โปรโตคอลจาก Sendmail ที่ Postfix ใช้ด้วย ให้โปรแกรมแยกต่างหากตรวจแต่ละข้อความระหว่างเซสชัน SMTP สำหรับ Postfix หรือ Sendmail ตัวกรองเนื้อหาของ Postfix เซิร์ฟเวอร์ spamdดีมอนของ SpamAssassin โปรโตคอลของมันใช้โดย spamc, Exim, Haraka และไคลเอนต์ SpamAssassin อื่น ๆ ที่เข้ากันได้กับ SpamAssassin, HTTP API หรือเซิร์ฟเวอร์ TCP
สร้างโดย Forward Email เพื่อใช้กับเซิร์ฟเวอร์อีเมลของตัวเอง
ข้อความถูกตัดสินอย่างไร#
แต่ละการตรวจจะเพิ่มหรือลดคะแนน ผลรวมเป็นตัวกำหนดผลลัพธ์:
| คะแนน | การดำเนินการ | สิ่งที่เซิร์ฟเวอร์อีเมลทำ |
|---|---|---|
| ต่ำกว่า 5 | accept | ส่งข้อความถึงผู้รับ |
| 5 ถึง 14.9 | tag | ส่งถึงผู้รับโดยทำเครื่องหมายว่าเป็นสแปม |
| 15 ขึ้นไป | reject | ปฏิเสธข้อความระหว่างเซสชัน SMTP |
เปลี่ยนเกณฑ์ทั้งสองได้ ทุกผลลัพธ์แสดงรายการการทดสอบที่ทำงาน พร้อมคะแนนและเหตุผล จึงอธิบายการตัดสินได้เสมอ
การตรวจต่าง ๆ:
- ตัวจำแนกที่ผ่านการฝึก อ่านคำในข้อความได้ทุกระบบอักษร รวมถึงรูปแบบของลิงก์ ผู้ส่ง และไฟล์แนบ มาพร้อมโมเดลที่ฝึกจากชุดข้อมูลสาธารณะ และเรียนรู้จากอีเมลของคุณเองได้ ตัวจำแนกทำงานอย่างไร
- การตรวจฟิชชิง จับโดเมนเลียนแบบ (
paypa1.com,pаypal.comที่ใช้ а แบบซีริลลิก) ลิงก์ที่ข้อความแสดงที่อยู่หนึ่งแต่ปลายทางเป็นอีกที่อยู่หนึ่ง และชื่อที่แสดงที่อ้างว่าเป็นแบรนด์ ฟิชชิง - การตรวจไฟล์แนบ พบไฟล์โปรแกรม ไฟล์โปรแกรมที่เปลี่ยนชื่อให้ดูเหมือนเอกสาร นามสกุลซ้อน กลเม็ดชื่อไฟล์แบบขวาไปซ้าย ไฟล์โปรแกรมในไฟล์ ZIP มาโครของ Office และเนื้อหา PDF ที่ทำงานได้ ClamAVเอนจินแอนติไวรัสโอเพนซอร์ส ดีมอนของมันชื่อ clamd สแกนไฟล์ที่ส่งมาทางซ็อกเก็ต สแกนไวรัสในไฟล์แนบได้ ไฟล์แนบ
- การยืนยันตัวตน: SPFSender Policy Framework: เรคคอร์ด DNS ที่ระบุเซิร์ฟเวอร์ที่ได้รับอนุญาตให้ส่งอีเมลในนามของโดเมน, DKIMDomainKeys Identified Mail: ลายเซ็นของข้อความ ตรวจสอบด้วยกุญแจสาธารณะที่เผยแพร่ใน DNS ของผู้ส่ง, DMARCนโยบายใน DNS ที่บอกผู้รับว่าต้องทำอย่างไรเมื่ออีเมลที่อ้างว่ามาจากโดเมนหนึ่งไม่ผ่านการตรวจความสอดคล้องของ SPF และ DKIM และ ARCAuthenticated Received Chain: ลายเซ็นที่ส่งต่อผลการยืนยันตัวตนผ่านเซิร์ฟเวอร์ที่ส่งต่ออีเมล เมื่อทราบที่อยู่ IP ของไคลเอนต์ การยืนยันตัวตน
- DNS blocklist สำหรับที่อยู่ IP ของไคลเอนต์และโดเมนในลิงก์ รวมถึง resolver แบบกรองของ Cloudflare สำหรับเว็บไซต์มัลแวร์และเว็บไซต์สำหรับผู้ใหญ่ที่รู้จัก Blocklist
- กฎ สำหรับรูปแบบที่ตัวจำแนกไม่จำเป็นต้องเรียนรู้: สตริงทดสอบ GTUBEGeneric Test for Unsolicited Bulk Email: สตริงตายตัวที่ตัวกรองสแปมทุกตัวถือว่าเป็นสแปม ใช้สำหรับทดสอบ หัวเรื่องแบบ sextortion การหลอกลวงด้วยใบแจ้งหนี้ PayPal การปลอมเป็นโดเมนของตัวเอง และคำสั่งที่ซ่อนไว้สำหรับตัวกรอง AI กฎ
- โมเดลภาษา ซึ่งเป็นตัวเลือกเสริม ให้ความเห็นที่สองในกรณีที่ตัดสินยาก: โมเดลในเครื่องผ่าน Ollamaโปรแกรมที่ดาวน์โหลดและรันโมเดลภาษาแบบเปิดบนเครื่องของคุณเอง พร้อม HTTP API หรือเซิร์ฟเวอร์ใดก็ได้ที่เข้ากันได้กับ OpenAI, โมเดลตัดสินใจ (decision model) เช่น Clef ของ Cloudflare หรือ Claude, ChatGPT, Gemini และอื่น ๆ โดยค่าเริ่มต้น โมเดลจะคืนค่าความน่าจะเป็นของผลตัดสินแต่ละแบบในขั้นตอนเดียวแทนการเขียนคำตอบ โมเดลภาษา
เริ่มจากตรงไหน#
- เริ่มต้นใช้งาน: ติดตั้งและสแกนข้อความแรก
- บรรทัดคำสั่ง: ทุกคำสั่งและตัวเลือก
- Postfix และ Sendmail: กรองอีเมลของเซิร์ฟเวอร์ด้วย milter หรือตัวกรองเนื้อหา
- เซิร์ฟเวอร์อีเมลอื่น ๆ: Exim, Haraka, Dovecot, procmail และทุกอย่างที่เรียก HTTP API ได้
- การฝึกโมเดล: สอนด้วยอีเมลของคุณเองและวัดผล
- โมเดลภาษา: การตัดสินใจและการสร้างข้อความ ความแม่นยำและความเร็วที่วัดได้ โมเดลตัดสินใจ ผู้ให้บริการ โมเดลแบบเปิดที่แนะนำ ความเป็นส่วนตัว และ prompt injection
- ภาษา: วิธีอ่านภาษาจีน อาหรับ ไทย และระบบอักษรอื่น ๆ ทั้งหมด
- Forward Email: Forward Email ใช้งานอย่างไร และการอัปเกรดจากเวอร์ชัน 5 หรือ 6
- เอกสารอ้างอิง API และ การทดสอบและคะแนน
- ความปลอดภัยและความเป็นส่วนตัว: อะไรถูกส่งออกจากเครื่อง และจะหยุดได้อย่างไร