Spam Scannerドキュメント
Spam Scannerは、Node.jsとコマンドライン向けのスパムフィルターで、ソースコードはGitHubで公開しています。生のメールメッセージを読み、スパム、フィッシング、詐欺、マルウェア付きのいずれに当たるかを、言語を問わず判定します。ライブラリ、コマンドラインツール、PostfixやSendmailのmilter、Postfixのコンテンツフィルター、SpamAssassin互換のspamdサーバー、HTTP API、TCPサーバーとして動作します。
Forward Emailが、自社のメールサーバーのために開発しています。
メッセージの判定方法#
各検査が点数を加算または減算し、その合計で結果が決まります。
| スコア | アクション | メールサーバーの動作 |
|---|---|---|
| 5未満 | accept | メッセージを配送する |
| 5〜14.9 | tag | スパムの印を付けて配送する |
| 15以上 | reject | SMTPセッション中に拒否する |
どちらのしきい値も変更できます。どの結果にも、該当したテストがその点数と理由とともに示されるため、判定は必ず説明できます。
検査の内容:
- 学習済みの分類器は、あらゆる文字体系で書かれたメッセージの単語、リンクの形、送信者、添付ファイルを読みます。公開データセットで学習した状態で提供され、自分のメールからも学習します。分類器の仕組み
- フィッシングの検査は、類似ドメイン(
paypa1.comや、キリル文字のаを使ったpаypal.com)、表示テキストと宛先が別のアドレスになっているリンク、ブランドを名乗る表示名を検出します。フィッシング - 添付ファイルの検査は、実行ファイル、文書に見せかけた実行ファイル、二重拡張子、右から左への書字方向を悪用したファイル名、ZIPファイル内の実行ファイル、Officeマクロ、アクティブなPDFコンテンツを検出します。ClamAVで添付ファイルのウイルスをスキャンすることもできます。添付ファイル
- 認証:クライアントのIPアドレスがわかっている場合のSPF、DKIMDomainKeys Identified Mail。メッセージに付ける署名で、送信者のDNSで公開された公開鍵を使って検証します。、DMARCあるドメインを名乗るメールがSPFとDKIMのアライメントに失敗したとき、受信側がどう扱うべきかを示すDNSのポリシー。、ARCAuthenticated Received Chain。転送サーバーを経由しても認証結果を引き継ぐための署名。。認証
- DNSブロックリスト:クライアントのIPアドレスとリンク内のドメインが対象です。既知のマルウェアサイトとアダルトサイトにはCloudflareのフィルタリング用リゾルバーを使います。ブロックリスト
- ルール:分類器が学習するまでもないパターン向けです。GTUBEのテスト文字列、セクストーションの件名、PayPalの請求書詐欺、自己なりすまし、AIフィルター向けに隠された指示。ルール
- 言語モデル(オプション):際どい判定についてセカンドオピニオンを出します。Ollamaや任意のOpenAI互換サーバーを使ったローカルモデル、CloudflareのClefなどの決定モデル、またはClaude、ChatGPT、Geminiなど。デフォルトでは、回答を書かせるのではなく、1ステップで各判定の確率を返します。言語モデル
どこから始めるか#
- はじめに:インストールして最初のメッセージをスキャンします。
- コマンドライン:すべてのコマンドとオプション。
- PostfixとSendmail:milterまたはコンテンツフィルターでメールサーバーをフィルタリングします。
- その他のメールサーバー:Exim、Haraka、Dovecot、procmail、そしてHTTP APIを呼び出せるあらゆるもの。
- 学習:自分のメールを学習させ、結果を計測します。
- 言語モデル:決定と生成、測定した正確さと速度、決定モデル、プロバイダー、推奨のオープンモデル、プライバシー、プロンプトインジェクション。
- 言語:中国語、アラビア語、タイ語をはじめ、あらゆる文字体系の読み方。
- Forward Email:Forward Emailでの使い方と、バージョン5または6からのアップグレード。
- APIリファレンスとテストとスコア。
- セキュリティとプライバシー:マシンの外に出るものと、それを止める方法。