Webサイトを運営していると、避けて通れないのがサイバー攻撃や不審なアクセスです。
未だ蔓延するフィッシング詐欺に引っかかる人が一人でも減るように、という願いを込めてこのツールを作りました。
今回活用したのは、Cloudflare Workers と OpenAI API。
これらを組み合わせて、怪しい挙動を入力すると判定してくれる「セキュリティBOT」を構築しました。
サーバーレスなので運用コストはほぼゼロ。設定も爆速です。その構築手順をシェアします!
🛠 具体的な設定手順
ステップ1:Cloudflare Workers の準備
まずは土台となる環境を作ります。
Cloudflareダッシュボードの「Workers & Pages」から「アプリケーションを作成」をクリック。
「Workerを作成」を選択し、名前(例:security-line)を決めてデプロイします。
環境変数の設定(重要!):
「設定」タブ > 「変数」から、以下の2つを登録します。
① LINE_CHANNEL_ACCESS_TOKEN: LINE Developersで発行したトークン。
② OPENAI_API_KEY: OpenAIで発行したAPIキー。
💡 ポイント: キーをコードに直接書かないことで、GitHubなどで公開しても安全な状態を保ちます。
ステップ2:判定ロジックの実装(前衛と後衛)
CloudFlareのエディタでコードを書き込みます。ここでは「スピード」と「精度」の両立を意識しました。
🛡️ 前衛:スピード重視の「センサーライト」
detectKeywords(キーワード検知)の部分です。
役割: 登録された「怪しい単語」を見つけたら、即座に反応する。
仕組み: メッセージの中に「パスワード」や「マルウェア」という文字がないか一瞬でスキャンします。
メリット: プログラムが直接判断するので、0.1秒もかからずに「危ない!」とLINEを送れます。
弱点: 「パ・ス・ワ・ー・ド」のように少し書き方を変えられると、スルーしてしまいます。
🧠 後衛:中身を読み解く「警備員さん」
ここで OpenAI (AI) の出番。
役割: 単語だけでは判断できない「文章全体の怪しさ」をじっくり考える。
仕組み: 前衛(センサー)を通り抜けた文章をAIに渡し、「これ、詐欺っぽい言い回しじゃない?」と相談します。
メリット: 「役所を装った巧妙な嘘」や「遠回しな誘導」など、単語登録だけでは防げない複雑な手口を見抜けます。
弱点: AIが考える時間が数秒かかるのと、APIの利用料(微々たるものですが)が発生します。
ステップ3:LINE Messaging API との連携
最後に、送信した内容をLINEで応答して判別できるようにします。
LINE Developers で「メッセージ送信(Push Message)」の設定を確認する。
Workersのコード内で fetch を使い、LINEのサーバーへ整形したテキストを送信します。
Webhookの設定:
LINE Developersの管理画面で、Webhook URLに https://security-line.workers.dev/(サンプルURL) を貼り付けます。
LINE Developersの設定で一番忘れがちなのが、『Webhookの利用』をオンにすることです。
URLを入れただけでは動かないので注意が必要です。
💡 あとがき
設定自体はシンプルですが、一番悩んだのは『どのワードを危険とみなすか』の選定でした。
LINE BOTでは、チェックリストも配布していますが、
日々進化する詐欺の手口に合わせて、このチェックリストも育てていこうと思っています。
まとめ:自分専用の警備員をポケットに
今回、Cloudflare WorkersとOpenAIを組み合わせることで、「爆速のキーワード検知」と「柔軟なAI解析」を併せ持つセキュリティBOTが完成しました。
驚くべきは、これだけの機能を持たせながらサーバー代が実質0円で運用できている点です。
現代のインターネットは、巧妙なフィッシング詐欺やマルウェアのリスクであふれています。
ですが、最新のサーバーレス技術とAIを味方につければ、自分(そして大切な人)を守るための強力なツールを、個人でも数時間で作り上げることができます。
「怪しいな」と思ったらすぐに相談できる警備員を、あなたもLINEの中に雇ってみませんか?
友達募集中:セキュリティ警告BOTはこちら

