Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Membangun SAPA: AI Agent pendeteksi pesan penipuan untuk UMKM Indonesia

2026年09月11日に「Dev.to」が公開したITニュース「Membangun SAPA: AI Agent pendeteksi pesan penipuan untuk UMKM Indonesia」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

インドネシアの中小企業向けに、AIが詐欺メッセージを検知する「SAPA」を開発。LLMを使わず、パターンマッチングで高速かつ安定したリスク判定を行う。個人情報を保護しつつ、疑わしいメッセージのリスクレベルと具体的な対処法を提示。オープンソースで提供している。

ITニュース解説

インドネシアでは、オンラインで商品を販売する中小企業が、毎日さまざまな詐欺メッセージの被害に遭っている。特に頻繁に見られるのは二つの手口で、一つは大手マーケットプレイスを装い、「アカウントがブロックされる」といった脅し文句とともに、ワンタイムパスワード(OTP)などの個人情報を要求するフィッシング詐欺である。もう一つは、偽の送金証明書のスクリーンショットを送りつけ、入金確認を待たずにすぐに商品を発送するよう急かすものである。このような詐欺の犠牲となるのは、たいていパニックに陥り、冷静に考える時間がない中小企業の経営者たちである。

こうした問題を解決するために生まれたのが、AIによる賢いプログラムであるSAPAだ。SAPAは「Scam Analysis and Protection Assistant」(詐欺分析・防御アシスタント)の略で、Hermesという土台となる仕組みの上に構築されたAIエージェントとして機能する。ユーザーは疑わしいメッセージをSAPAに貼り付けるだけで、SAPAはそのメッセージのリスクスコアを数値で示し、何が危険なのかを示す指標のリスト、そして安全に取るべき具体的な行動を教えてくれる。

SAPAの重要な特徴は、そのリスク評価が「決定論的」である点にある。つまり、メッセージの評価はAIによる漠然とした推測に頼らず、はっきりと決まったルールに基づいて行われる。大規模言語モデル(LLM)と呼ばれる、大量の文章から学習したAIを使うことも検討されたが、その利用は処理速度が遅く、かかる費用が不確実で、同じメッセージに対しても結果が変わる可能性があるため採用されなかった。詐欺対策において、今日15点と評価されたものが明日には違う点数になるような不確実性は非常に危険である。そのためSAPAでは、確実な結果を一貫して提供することが重視されている。

SAPAの分析エンジンは、特定の「パターンマッチング」と「固定の重み付け」という仕組みで動作する。メッセージを読み込み、五つの主要な危険指標に合致するかをチェックし、それぞれに設定された点数(重み)を合計してリスクレベルを決定する。外部のAPI(アプリケーション・プログラミング・インターフェース)を呼び出したり、複雑なAIモデルを読み込んだりするプロセスは一切ないため、小さな仮想専用サーバー(VPS)上でも二秒以内にすべての処理が完了する。

検出される五つの指標は以下の通りだ。一つ目は、OTP、パスワード、PINなどの個人情報や機密情報を要求するメッセージで、これには最も高い5点が付く。二つ目は、「アカウントが10分でブロックされる」といった時間的プレッシャーや脅しを含むもので、2点が付く。三つ目は、「.info」や「.xyz」のような不審なトップレベルドメインを含むリンクで、3点が付く。四つ目は、メッセージ内で言及されているブランドの公式ドメインとは異なるドメインのリンクで、これも5点という高い点数となる。五つ目は、感情的に急かすような、緊急性を不自然に煽る言葉が含まれるもので、2点が付く。

具体的な例を挙げると、「Tokopediaのアカウントは10分以内にブロックされます。https://tokopedia-verifikasi.infoをクリックして、アカウントを開くためにOTPを送信してください。」というメッセージの場合、OTPの要求(5点)、アカウントブロックの脅し(2点)、不審なドメイン「.info」(3点)、そして公式のTokopediaドメイン「tokopedia.com」ではないドメイン不一致(5点)の四つの指標すべてに該当する。合計は15点となり、「高」リスクと判定される。そして、リンクをクリックしないことや、OTPを誰にも渡さないこと、公式アプリやウェブサイトを直接確認すること、などの具体的な推奨事項が示される。

一方で、「Tokopediaのご注文が受け付けられました。公式アプリから追跡番号をお知らせします。」といった通常の運営通知は、どの指標にも当てはまらないためスコアは0点となり、「低」リスクと判定される。この種のシステムが、正常なメッセージまで詐欺と誤検知してしまうと、ユーザーはすぐに利用をやめてしまうため、正確な識別能力は極めて重要である。また、「お客様が送金証明のスクリーンショットを送りました。残高を確認せずにすぐに商品を発送してください。」といった、少し曖昧なメッセージも存在する。これには6点が付与され「中」リスクと判定される。SAPAは、この場合も「スクリーンショットだけで商品を発送せず、まずは公式の銀行口座を確認してください」という注意喚起をする。

SAPAの開発では、最初からユーザーのプライバシー保護が最優先事項として設計された。個人情報が漏洩するようなAIツールは、存在しないよりも悪い結果を招く可能性があるからだ。三つの重要なプライバシー保護策が導入されている。一つ目は、個人を特定できる情報(PII)の自動センシングである。分析の前に、メッセージ中の電話番号、メールアドレス、OTP、口座番号などはすべて「[NOMOR_HP_2]」や「[EMAIL_2]」といった匿名化されたトークンに変換される。元の情報はシステム内のどこにも保存されることはない。

二つ目は、URLのパッシブな検査である。SAPAはURLが公式ブランドのドメインと一致するかどうかを、事前に用意されたローカルなドメインリスト(domains.json)と比較することで確認する。実際にそのURLにアクセスすることはないため、外部へのHTTPリクエストは一切発生しない。これにより、サーバーのIPアドレスが攻撃者に知られるのを防ぎ、第三者へのデータ漏洩のリスクをなくしている。

三つ目は、「同意に基づくデータ保存」の原則である。SAPAはデフォルトでは何の情報も保存しない。ユーザーが後で確認するために分析結果を保存したい場合のみ、システムは明示的な同意を求める。保存されるのは、スコア、検出された指標のリスト、カテゴリーなどの「メタデータ」だけで、メッセージの元のテキストがディスクに書き込まれることは決してない。保存されたデータは、ユーザーの同意のもとでいつでも保存、閲覧、取得、削除が可能であり、削除は即座に、永久的に行われる。このアプローチは、インドネシアの個人情報保護法に準拠しており、個人データの収集には同意が必要であり、ユーザーには削除する権利があるという要件を満たしている。

SAPAの信頼性を確認するため、開発チームは30のテストケースを作成した。これには、詐欺であることが確実なメッセージが10件、通常のメッセージが10件、そして判断が難しい曖昧なメッセージが10件含まれていた。それぞれのケースには期待されるリスクレベルと検出されるべき指標があらかじめ設定されていた。その結果、SAPAはすべてのテストケースで100パーセントの精度を示し、30件すべてを正確に判定した。誤って詐欺と判定する「誤検知(False positive rate)」も、詐欺を見逃す「未検知(False negative rate)」も0パーセントだった。また、個人情報の自動センシング機能も、10件中10件で正常に機能した。これらのテストは、GPUなどの高性能なハードウェアや外部APIを必要とせず、数秒で完了する。

SAPAは、クラウドサービスの一つであるCloudBaikの仮想専用サーバー(VPS)上に展開されている。具体的には、4つの仮想CPUと4GBのRAMを備えたUbuntu 24.04 LTSというシンプルな構成の環境で動作する。使用されている技術スタックも、Python 3、Hermes Agentフレームワーク、そしてSAPA専用に開発された「カスタムスキル」という非常にシンプルなものである。SAPAのスキルは、「SKILL.md」(エージェントの作業指示)、分析エンジンである「analyze.py」、同意に基づくデータ保存を管理する「storage.py」、そして「domains.json」やテストケースの「30_cases.json」といったデータファイルで構成されている。Hermesフレームワークは、ローカルのディレクトリからこれらのスキルを読み込み、指示に従ってanalyzerを安全なサブプロセスとして実行し、その結果を返す仕組みだ。DockerやKubernetesのような複雑なコンテナ技術は使われておらず、一台のVPSですべての処理が完結する。

しかし、SAPAにも限界は存在する。SAPAは決して人間の注意深さを完全に置き換えるものではない。メッセージを自動的にブロックしたり、ユーザーに代わって最終的な判断を下したりすることはない。SAPAの役割は、リスクスコアを提示し、その理由を説明し、次にとるべき行動を提案することまでである。最終的な決定は、常に中小企業の経営者自身に委ねられている。また、SAPAの分析エンジンは、あらゆる種類の詐欺を検出できる汎用的なツールではない。その焦点は、インドネシアの中小企業をターゲットにした「テキストメッセージ」の詐欺検出に特化している。画像分析、電話での会話、対面でのやり取りなど、テキスト以外の形式の詐欺には対応していない。これらの形式に対応するためには、また別の技術的なアプローチが必要となる。

SAPAはオープンソースとして公開されているため、誰でもその機能を試したり、開発に参加したりすることが可能だ。すぐに使えるスキルパッケージが提供されており、Python 3とHermesがインストールされていれば、簡単に導入できる。例えば、「hermes -s /path/to/sapa -q "Akun Tokopedia Anda akan diblokir. Klik https://tokopedia-verifikasi.info dan kirim OTP."」といったコマンド一つで、疑わしいメッセージをSAPAに分析させることができる。このSAPAシステムは、AI HackFest 2026というコンペティションの「デジタル安全と公共の利益」カテゴリーのために開発されたものである。

関連コンテンツ

関連IT用語