学習・技術検証用デモ — 本システムは実際の銀行サービスではありません。

公開情報をもとに構築した教育目的のシステムです。実在する個人情報・口座情報・機密情報・認証情報等を入力しないでください。

ミニ銀行ACADEMY SYSTEM LEARNING
教材メニュー
学習進捗0 / 134
あと134項目
INTERMEDIATE · 中級COURSE 09 · BANKING ENGINEERING

銀行エンジニアリング 14:監視ルールとアラート(誤検知とのつきあい方)

ルールを厳しくすれば見逃しは減りますが、確認が必要なアラートが増えます。MiniBankの4つのルールと、アラートが重複しない仕組み、証拠の残し方を学びます。

17 / 55
BANKING ENGINEERING · 銀行エンジニアリング

v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。

Prerequisite: BANKING SYSTEM

LEARNING GOALS

このページで学ぶこと

  • 4つの監視ルールと閾値
  • アラートの重複排除
  • 見逃しと誤検知のトレードオフ

PLAIN LANGUAGE

まず、ここだけつかむ

1

4つのルールが、高頻度・新規口座・入金直後の転送・普段と違う金額を検知します。

2

閾値はデータとして保存され、アラートに根拠の取引が残ります。

3

同じ兆候は何度検査しても1件のアラートにしかなりません。

DIFFICULT PARTS, STEP BY STEP

難しいポイントを、順番にほどく

専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。

01

Threshold(閾値)

やさしく言うと

検知する境目の値です。

なぜ必要?

何を兆候とみなすかを明確にするためです。

Minibankでは

aml.rules.params。

02

Dedupe Key

やさしく言うと

同じ兆候を1件にまとめる識別子です。

なぜ必要?

検査のたびにアラートが増えないようにするためです。

Minibankでは

ルール+口座+時間枠、またはルール+仕訳。

03

False Positive

やさしく言うと

問題のない取引を検知してしまうことです。

なぜ必要?

避けられない前提で手順を設計するためです。

Minibankでは

判断 FALSE_POSITIVE でケースを閉じます。

Level 2 銀行業務:MiniBankの監視ルール

閾値はコードではなく aml.rules の params に保存されています。どの値で検知したかがアラートと一緒に残るため、後から「なぜ検知されたか」を説明できます。

ルール内容重要度架空の例
HIGH_FREQUENCY_OUTFLOW60分以内に5回以上の出金・送金MEDIUM短時間に少額の他行送金を5回
NEW_ACCOUNT_LARGE_OUTFLOW開設7日以内の口座から30万円以上HIGH口座開設当日に40万円を他行へ送金
RAPID_PASS_THROUGH10万円以上の入金から24時間以内にその90%以上を出金HIGH他行から50万円入金、直後に48万円を送金
UNUSUAL_AMOUNT過去30日の平均出金額の5倍以上(過去3件以上)MEDIUM普段2万円の送金が続く口座で15万円

Level 3 システム:MiniBankでの実装

  • aml.scan(期間) が全ルールを台帳上の取引に適用し、新しいアラートの件数を返す。実行記録は aml.scan_runs に残る
  • アラートには dedupe_key(ルール+口座+時間枠、またはルール+仕訳)が付き、同じ兆候を何度Scanしても1件にしかならない
  • アラートの evidence には、検知の根拠になった取引(仕訳ID・金額・日時)が保存される

異常時:大量のアラートが発生した

段階内容
症状Scan後、未対応アラートが急増した
調査ルール別・口座別に件数を見る。1つの口座に同じルールが集中していないか、閾値の変更がなかったか
考えられる原因閾値の設定ミス、給与日など正当な取引が集中する日、実際の不審な動き
対応スコアの高いものからケース化する。1つのケースは1つの口座にまとまるので、同じ口座の複数アラートを一度に調べられる
再発防止閾値の変更は記録を残して行い、誤検知の割合を見て調整する(MiniBankには閾値変更の画面や自動調整はない)

Level 4 アーキテクチャ:見逃しと誤検知

検知ルールは必ず「見逃し(False Negative)」と「誤検知(False Positive)」のどちらかを抱えます。誤検知ゼロを目指すと見逃しが増えるため、銀行は誤検知を前提に、調査の手順と記録を整えることで全体の品質を保ちます。

どこを確認すればよいか

  • 管理画面「AML・不正検知」→ 監視ルールの閾値、アラートの「根拠」

CHECK YOUR UNDERSTANDING

3問で理解チェック

答えを頭の中で考えてから、各項目を開いて確認してください。

Q1開設当日に40万円を送金すると、どのルールに当たりますか?
答え

NEW_ACCOUNT_LARGE_OUTFLOW です。

Q2同じ期間を2回検査するとアラートは2件になりますか?
答え

なりません。

Q3閾値を下げると何が起きやすくなりますか?
答え

誤検知(確認が必要なアラート)が増えます。

ここまで読めましたか?

完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。

SOURCE TRAIL

根拠と関連教材

CURRENT IMPLEMENTATIONは確認したrepository内の実装です。HISTORICAL IMPLEMENTATIONは導入・修正の履歴で、後続migrationによる再定義があり得ます。RELATED LESSONは教材への案内で、実装の一次Sourceではありません。ASSUMPTIONは仮定、UNKNOWNは未確認を表します。

確認基点: d02eae8914f39cbf06bfe422dc39c71886f82b3e / 2026-09-11。稼働環境への適用確認: UNKNOWN。パス実在の自動検査と、記述した技術的事実の確認は別です。

Implementation Status: IMPLEMENTED IN MINIBANK(この教材が扱うコードの範囲)

  • RELATED LESSON/docs/be-fraud-aml-basicsFraudとAMLの全体像
  • CURRENT IMPLEMENTATIONsupabase/migrations/20260924130000_v11_aml_simulator.sqlaml.scan / aml.scoreルールによる検知とアラートの重複排除
  • CURRENT IMPLEMENTATIONscripts/banking/v11-aml.test.mjs4ルールの検知、アラート≠判断、ケースの手順・二次確認・上申のDBテスト