# Spam Scannerドキュメント

Spam Scannerは、Node.jsとコマンドライン向けのスパムフィルターで、ソースコードはGitHubで公開しています。生のメールメッセージを読み、スパム、フィッシング、詐欺、マルウェア付きのいずれに当たるかを、言語を問わず判定します。ライブラリ、コマンドラインツール、PostfixやSendmailのmilter、Postfixのコンテンツフィルター、SpamAssassin互換のspamdサーバー、HTTP API、TCPサーバーとして動作します。

[Forward Email](https://forwardemail.net)が、自社のメールサーバーのために開発しています。


## メッセージの判定方法

各検査が点数を加算または減算し、その合計で結果が決まります。

| スコア    | アクション    | メールサーバーの動作      |
| ------ | -------- | --------------- |
| 5未満    | `accept` | メッセージを配送する      |
| 5〜14.9 | `tag`    | スパムの印を付けて配送する   |
| 15以上   | `reject` | SMTPセッション中に拒否する |

どちらのしきい値も変更できます。どの結果にも、該当したテストがその点数と理由とともに示されるため、判定は必ず説明できます。

検査の内容：

* **学習済みの分類器**は、あらゆる文字体系で書かれたメッセージの単語、リンクの形、送信者、添付ファイルを読みます。公開データセットで学習した状態で提供され、自分のメールからも学習します。[分類器の仕組み](https://spamscanner.net/ja/docs/how-it-works/#the-classifier)
* **フィッシングの検査**は、類似ドメイン（`paypa1.com`や、キリル文字のаを使った`pаypal.com`）、表示テキストと宛先が別のアドレスになっているリンク、ブランドを名乗る表示名を検出します。[フィッシング](https://spamscanner.net/ja/docs/how-it-works/#phishing)
* **添付ファイルの検査**は、実行ファイル、文書に見せかけた実行ファイル、二重拡張子、右から左への書字方向を悪用したファイル名、ZIPファイル内の実行ファイル、Officeマクロ、アクティブなPDFコンテンツを検出します。ClamAVで添付ファイルのウイルスをスキャンすることもできます。[添付ファイル](https://spamscanner.net/ja/docs/how-it-works/#attachments)
* **認証**：クライアントのIPアドレスがわかっている場合のSPF、DKIM、DMARC、ARC。[認証](https://spamscanner.net/ja/docs/how-it-works/#authentication)
* **DNSブロックリスト**：クライアントのIPアドレスとリンク内のドメインが対象です。既知のマルウェアサイトとアダルトサイトにはCloudflareのフィルタリング用リゾルバーを使います。[ブロックリスト](https://spamscanner.net/ja/docs/how-it-works/#blocklists)
* **ルール**：分類器が学習するまでもないパターン向けです。GTUBEのテスト文字列、セクストーションの件名、PayPalの請求書詐欺、自己なりすまし、AIフィルター向けに隠された指示。[ルール](https://spamscanner.net/ja/docs/scoring/#rules)
* **言語モデル**（オプション）：際どい判定についてセカンドオピニオンを出します。Ollamaや任意のOpenAI互換サーバーを使ったローカルモデル、CloudflareのClefなどの決定モデル、またはClaude、ChatGPT、Geminiなど。デフォルトでは、回答を書かせるのではなく、1ステップで各判定の確率を返します。[言語モデル](https://spamscanner.net/ja/docs/llm/)


## どこから始めるか

* [はじめに](https://spamscanner.net/ja/docs/getting-started/)：インストールして最初のメッセージをスキャンします。
* [コマンドライン](https://spamscanner.net/ja/docs/cli/)：すべてのコマンドとオプション。
* [PostfixとSendmail](https://spamscanner.net/ja/docs/postfix/)：milterまたはコンテンツフィルターでメールサーバーをフィルタリングします。
* [その他のメールサーバー](https://spamscanner.net/ja/docs/mail-servers/)：Exim、Haraka、Dovecot、procmail、そしてHTTP APIを呼び出せるあらゆるもの。
* [学習](https://spamscanner.net/ja/docs/training/)：自分のメールを学習させ、結果を計測します。
* [言語モデル](https://spamscanner.net/ja/docs/llm/)：決定と生成、測定した正確さと速度、決定モデル、プロバイダー、推奨のオープンモデル、プライバシー、プロンプトインジェクション。
* [言語](https://spamscanner.net/ja/docs/languages/)：中国語、アラビア語、タイ語をはじめ、あらゆる文字体系の読み方。
* [Forward Email](https://spamscanner.net/ja/docs/forward-email/)：Forward Emailでの使い方と、バージョン5または6からのアップグレード。
* [APIリファレンス](https://spamscanner.net/ja/docs/api/)と[テストとスコア](https://spamscanner.net/ja/docs/scoring/)。
* [セキュリティとプライバシー](https://spamscanner.net/ja/docs/security/)：マシンの外に出るものと、それを止める方法。
