# בדיקות וניקוד

הודעה היא ספאם ב-5 נקודות ונדחית ב-15. כל בדיקה שמופיעה כאן מוסיפה או מורידה נקודות; התוצאה מפרטת את הבדיקות שהופעלו.

את הספים משנים עם `threshold` ו-`rejectThreshold`. את הנקודות משנים עם `scores`, לפי מפתח הגדרה (`scores: {deceptiveLink: 4}`) או לפי שם הבדיקה, שקובע את הנקודות של אותה בדיקה (`scores: {FROM_NAME_BRAND: 4}`).


## מסווג

| בדיקה                     | נקודות          | משמעות                                                                                                                                                                                                                                                                                                       |
| ------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `BAYES_00` עד `BAYES_999` | ‎-2.5 עד ‎+6.25 | הסתברות הספאם של המסווג, בסולם לוג-סיכויים: 2.4 נקודות ב-90%, 5 ב-99% ו-6.25 ב-99.9%, כך שהמסווג מסמן ספאם לבדו רק כשהוא בטוח לפחות ב-99%. השם מציין את הטווח: `BAYES_999` הוא 99.9% ומעלה, `BAYES_99` מ-99% עד 99.9%, `BAYES_50` מ-40% עד 60%. מפתחות ההגדרה `bayesHam` ו-`bayesSpam` קובעים את שני הקצוות. |


## פישינג וקישורים

| בדיקה                       | נקודות | מפתח הגדרה          | משמעות                                                        |
| --------------------------- | -----: | ------------------- | ------------------------------------------------------------- |
| `PHISHING_LOOKALIKE_DOMAIN` |      5 | `homograph`         | הדומיין של קישור מחקה מותג בעזרת תווים דומים במראה או מוחלפים |
| `MIXED_SCRIPT_DOMAIN`       |      3 | `mixedScriptDomain` | תווית של דומיין מערבבת אלפביתים                               |
| `BRAND_IN_DOMAIN`           |    1.5 | `brandInDomain`     | שם מותג בתוך דומיין של מישהו אחר                              |
| `TYPO_DOMAIN`               |      1 | `typoDomain`        | אות אחת הבדל מהדומיין של מותג                                 |
| `DECEPTIVE_LINK`            |      3 | `deceptiveLink`     | קישור מציג כתובת אחת ומוביל לאחרת                             |
| `MALICIOUS_DOMAIN`          |      6 | `maliciousDomain`   | שרת ה-DNS לחסימת נוזקות של Cloudflare חוסם דומיין מקושר       |
| `ADULT_DOMAIN`              |      2 | `adultDomain`       | שרת ה-DNS המשפחתי של Cloudflare חוסם דומיין מקושר             |
| `URIBL_<LIST>`              |      5 | `uriblListed`       | דומיין מקושר נמצא ברשימה שחורה של דומיינים, למשל `URIBL_DBL`  |

גם דומיינים שרק מוזכרים בטקסט, בלי קישור, נבדקים לדמיון במראה, אבל נספרים רק כשהם מחקים מותג בבירור: אותיות דומות במראה, או תווים מוחלפים עבור מותג של חמש אותיות ומעלה. תשובה או חתימה יכולות להזכיר כל אתר, ולחברה יכול להיות שם קצר שרחוק תו אחד משם של מותג.


## קבצים מצורפים

| בדיקה                   | נקודות | מפתח הגדרה                               | משמעות                                                |
| ----------------------- | -----: | ---------------------------------------- | ----------------------------------------------------- |
| `EXECUTABLE_ATTACHMENT` |     10 | `executable`                             | תוכנה או סקריפט                                       |
| `DISGUISED_EXECUTABLE`  |     12 | `disguisedExecutable`                    | תוכנה ששמה נראה כמו מסמך או תמונה                     |
| `DOUBLE_EXTENSION`      |      6 | `doubleExtension`                        | שם כמו `invoice.pdf.exe`                              |
| `RTL_OVERRIDE_FILENAME` |      6 | `rtlOverride`                            | תו עקיפת כיווניות מימין לשמאל מסתיר את הסיומת האמיתית |
| `EXECUTABLE_IN_ARCHIVE` |      8 | `executableInArchive`                    | תוכנה בתוך קובץ ZIP                                   |
| `ENCRYPTED_ARCHIVE`     |      2 | `encryptedArchive`                       | ארכיון שסורקים לא יכולים לפתוח                        |
| `MACRO_ATTACHMENT`      |      4 | `macro`                                  | קובץ Office עם פקודות מאקרו                           |
| `PDF_ACTIVE_CONTENT`    |      3 | `pdfActive`                              | קובץ PDF עם JavaScript, פעולות הפעלה או קבצים משובצים |
| `RTF_EMBEDDED_OBJECT`   |      4 | `rtfObject`                              | קובץ RTF עם אובייקטים משובצים                         |
| `HTML_ATTACHMENT`       | 1 או 3 | `htmlAttachment`, `activeHtmlAttachment` | קובץ HTML; ‏3 כשיש בו סקריפטים או טפסים               |
| `VIRUS`                 |    100 | `virus`                                  | ClamAV מצא וירוס                                      |


## כללים

| בדיקה                     | נקודות | משמעות                                                                                |
| ------------------------- | -----: | ------------------------------------------------------------------------------------- |
| `GTUBE`                   |   1000 | מחרוזת הבדיקה GTUBE                                                                   |
| `SEXTORTION_SUBJECT`      |      6 | נושא שמשמש הונאות סחטנות מינית והשתלטות על חשבונות                                    |
| `PAYPAL_INVOICE`          |      6 | חשבונית או בקשת תשלום של PayPal, ערוץ שמנוצל להונאות                                  |
| `MICROSOFT_SPAM_VERDICT`  |      5 | Microsoft סימנה את ההודעה כספאם לפני שהעבירה אותה (נחשב אמין רק מהשרתים של Microsoft) |
| `MICROSOFT_HIGH_SCL`      |      3 | Microsoft נתנה לה רמת ביטחון ספאם (SCL) גבוהה (כנ״ל)                                  |
| `PROMPT_INJECTION`        |      3 | טקסט שמופנה למסנן AI                                                                  |
| `SELF_SPOOF`              |      3 | מתיימרת להגיע מהדומיין של הנמען עצמו ולא עוברת אימות                                  |
| `FROM_NAME_OTHER_ADDRESS` |    2.5 | שם התצוגה מכיל כתובת דואר אלקטרוני אחרת                                               |
| `FROM_NAME_BRAND`         |      2 | שם התצוגה מתיימר להיות מותג שהכתובת לא שייכת לו                                       |
| `DATE_IN_FUTURE`          |      1 | מתוארכת ליותר מיום אחד קדימה                                                          |
| `MISSING_DATE`            |    0.5 | אין כותרת Date                                                                        |
| `MISSING_MESSAGE_ID`      |    0.5 | אין כותרת Message-ID                                                                  |

כללים ששווים לפחות את סף הספאם מופיעים גם ב-`results.arbitrary`, כמו בגרסאות קודמות.


## הסוואה ושפה

| בדיקה                  | נקודות | מפתח הגדרה            | משמעות                                           |
| ---------------------- | -----: | --------------------- | ------------------------------------------------ |
| `INVISIBLE_CHARACTERS` |      2 | `invisibleCharacters` | שלושה תווים בלתי נראים או יותר בתוך הטקסט        |
| `MIXED_SCRIPT_WORDS`   |    2.5 | `mixedScriptWords`    | שתי מילים או יותר מערבבות אותיות מאלפביתים שונים |
| `STYLED_LETTERS`       |    1.5 | `styledLetters`       | אותיות מתמטיות או מוקפות שמתחזות לטקסט רגיל      |
| `LANGUAGE_NOT_ALLOWED` |      3 | `languageNotAllowed`  | לא ב-`allowedLanguages`                          |


## אימות

דורש את כתובת ה-IP של הלקוח ואת `authentication: true`.

| בדיקה          | נקודות | מפתח הגדרה (ב-`authentication.weights`) |
| -------------- | -----: | --------------------------------------- |
| `SPF_PASS`     |  ‎-0.5 | `spfPass`                               |
| `SPF_FAIL`     |      2 | `spfFail`                               |
| `SPF_SOFTFAIL` |      1 | `spfSoftfail`                           |
| `DKIM_PASS`    |  ‎-0.5 | `dkimPass`                              |
| `DKIM_FAIL`    |      1 | `dkimFail`                              |
| `DMARC_PASS`   |  ‎-1.5 | `dmarcPass`                             |
| `DMARC_FAIL`   |    3.5 | `dmarcFail`                             |
| `ARC_PASS`     |  ‎-0.5 | `arcPass`                               |
| `ARC_FAIL`     |      1 | `arcFail`                               |


## מוניטין ורשימות שחורות

| בדיקה          | נקודות | מפתח הגדרה    | משמעות                                                      |
| -------------- | -----: | ------------- | ----------------------------------------------------------- |
| `DENYLISTED`   |    100 | `denylisted`  | כתובת ה-IP, הדומיין או הכתובת של השולח נמצאים ברשימת החסימה |
| `ALLOWLISTED`  |   ‎-20 | `allowlisted` | הוא נמצא ברשימת ההיתר                                       |
| `TRUTH_SOURCE` |    ‎-5 | `truthSource` | שירות מוניטין מסמן את השולח כאמין                           |
| `RBL_<LIST>`   |      4 | `rblListed`   | כתובת ה-IP של הלקוח נמצאת ברשימה שחורה, למשל `RBL_ZEN`      |


## מודל שפה ומודלים אופציונליים

| בדיקה                                                 | נקודות | מפתח הגדרה | משמעות                                  |
| ----------------------------------------------------- | ------ | ---------- | --------------------------------------- |
| `LLM_SPAM`, `LLM_PHISHING`, `LLM_SCAM`, `LLM_MALWARE` | עד ‎+6 | `llmSpam`  | פסק הדין של המודל, כפול רמת הביטחון שלו |
| `LLM_HAM`                                             | עד ‎-3 | `llmHam`   | כנ״ל                                    |
| `TOXIC_CONTENT`                                       | 3      | `toxicity` | מודל רעילות שסיפקתם סימן את הטקסט       |
| `NSFW_IMAGE`                                          | 3      | `nsfw`     | מודל תמונות שסיפקתם סימן תמונה          |
