Spam Scannerドキュメント

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

Forward Emailが、自社のメールサーバーのために開発しています。

メッセージの判定方法#

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

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

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

検査の内容:

  • 学習済みの分類器は、あらゆる文字体系で書かれたメッセージの単語、リンクの形、送信者、添付ファイルを読みます。公開データセットで学習した状態で提供され、自分のメールからも学習します。分類器の仕組み
  • フィッシングの検査は、類似ドメイン(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リファレンスとテストとスコア。
  • セキュリティとプライバシー:マシンの外に出るものと、それを止める方法。

このページをGitHubで編集 · Markdown ·