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

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

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

銀行エンジニアリング 13:FraudとAML、取引モニタリングの全体像

不正検知(Fraud)とマネー・ローンダリング対策(AML)は似ていますが、守る相手も目的も違います。そして、アラートは「犯罪の証拠」ではありません。検知から判断までの流れを学びます。

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

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

Prerequisite: BANKING SYSTEM

LEARNING GOALS

このページで学ぶこと

  • FraudとAMLの違い
  • Transaction → Detection → Alert → Investigation → Decision
  • リスクベース・アプローチの考え方

PLAIN LANGUAGE

まず、ここだけつかむ

1

Fraudは顧客や銀行を狙う不正、AMLは犯罪で得たお金の移転を防ぐ取り組みです。

2

アラートは確認すべき兆候であり、犯罪の証拠ではありません。

3

MiniBankは台帳を後から読んで検知し、口座や記帳には一切手を加えません。

DIFFICULT PARTS, STEP BY STEP

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

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

01

Transaction Monitoring

やさしく言うと

取引を継続的に調べ、兆候を探すことです。

なぜ必要?

人の目だけでは大量の取引を見きれないためです。

Minibankでは

aml.scan() が台帳上の取引にルールを適用します。

02

Alert

やさしく言うと

人が確認すべき兆候の記録です。

なぜ必要?

確認の対象を漏れなく管理するためです。

Minibankでは

aml.alerts。作成されても口座は止まりません。

03

Risk-based Approach

やさしく言うと

リスクの高いものほど深く確認する考え方です。

なぜ必要?

限られた人手を重要な確認に使うためです。

Minibankでは

ルールの重要度とアラートのスコア。

Level 1 基礎:2つの「怪しい取引」

Fraud(不正検知)AML(マネー・ローンダリング対策)
主な被害者顧客や銀行(なりすまし、詐欺)社会(犯罪で得たお金の出どころを隠す行為)
典型例乗っ取られた口座からの送金入金直後に全額を別の口座へ移す
目的被害を防ぐ・止める疑わしい取引を見つけ、確認し、必要なら報告する

Level 2 銀行業務:検知から判断までの流れ

リスクベース・アプローチとは、すべての取引を同じ強さで調べるのではなく、リスクの高いものほど深く確認する考え方です。MiniBankではルールごとに重要度(HIGH / MEDIUM)があり、アラートのスコアとして表示されます。

  1. 01Transaction(台帳に記録された取引)
  2. 02Detection(ルールで兆候を探す)
  3. 03Alert(確認すべき兆候)
  4. 04Case(口座単位で調査をまとめる)
  5. 05Investigation(証拠収集・調査メモ)
  6. 06Decision(誤検知・問題なし・要二次確認・上申)

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

  • 監視対象は台帳そのもの(aml.monitored_transactions)。顧客の預金勘定の仕訳から、振込・入出金・他行送金を1つの流れとして見る
  • 検知・アラート・ケースの処理は、口座を凍結したり、支払を止めたり、記帳したりしない(DBテストで、検知の前後で仕訳件数と口座状態が変わらないことを確認)
  • データはすべてテスト用に作った架空の顧客・取引。実在の人物・犯罪データ・外部サービスは使わない

Level 4 アーキテクチャ:監視を「記帳の外」に置く理由

検知ロジックを記帳処理の中に入れると、ルールの不具合やルール変更で決済そのものが止まる危険があります。MiniBankは、記帳が終わった台帳を後から読む形にし、検知と業務処理の障害範囲(Failure Domain)を分けています。その代わり、検知は即時ではなく、Scanを実行した時点になります。

どこを確認すればよいか

  • 管理画面「AML・不正検知」:ルール・未対応アラート・ケース一覧

CHECK YOUR UNDERSTANDING

3問で理解チェック

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

Q1アラートが出た口座は自動で凍結されますか?
答え

されません。

Q2MiniBankは何を監視していますか?
答え

台帳上の顧客預金の取引(振込・入出金・他行送金)です。

Q3AMLで守っているのは誰ですか?
答え

主に社会(犯罪収益の移転の防止)です。

ここまで読めましたか?

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

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/kyc本人確認のライフサイクル
  • CURRENT IMPLEMENTATIONsupabase/migrations/20260924130000_v11_aml_simulator.sqlaml.scan / aml.scoreルールによる検知とアラートの重複排除
  • CURRENT IMPLEMENTATIONscripts/banking/v11-aml.test.mjs4ルールの検知、アラート≠判断、ケースの手順・二次確認・上申のDBテスト