銀行エンジニアリング Lab 04:AML Lab(検知・調査・誤検知・上申)
架空の取引パターンを作ってアラートを発生させ、ケース化・証拠収集・判断までを体験します。証拠なしの判断や、一人での二次確認が止められることも確かめます。
v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。
Prerequisite: BANKING SYSTEMLEARNING GOALS
このページで学ぶこと
- 取引パターンからアラートを発生させる
- ケース調査の手順
- 統制(証拠必須・二次確認・上申)の確認
PLAIN LANGUAGE
まず、ここだけつかむ
架空の取引パターンでアラートを発生させ、ケースを調査します。
証拠なしの判断、同一人物の二次確認、担当者による上申案件の完了が止められることを確かめます。
アラートが出ても口座や記帳が変わらないことを確認します。
DIFFICULT PARTS, STEP BY STEP
難しいポイントを、順番にほどく
専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。
検査(Scan)
ルールを取引に適用する操作です。
兆候をアラートにするためです。
AML画面の「検査を実行」。
証拠の収集
その時点の口座情報と取引を保存することです。
判断の根拠を後から確かめられるようにするためです。
aml.collect_evidence()。
統制の確認
止めるべき操作が止まることの確認です。
手順が形だけにならないようにするためです。
AL007・AL008・AD004。
準備
seed で、架空顧客Bobに「入金直後のほぼ全額送金」と「短時間の高頻度送金」のパターンが作られ、前者は調査中のケースになっています。二次確認の演習では operator と manager の2人を使います。
open 'http://localhost:54336/local/login?as=operator&next=/admin/aml'演習
| 演習 | 操作 | 観察すること |
|---|---|---|
| 1. 検知 | 他行為替で1時間以内に5回送金 → AMLで検査を実行 | HIGH_FREQUENCY_OUTFLOW のアラートが1件。もう一度検査しても増えない |
| 2. アラート≠判断 | アラートの口座を口座管理画面で見る | 口座は有効のまま。記帳も変わらない |
| 3. 証拠なし判断 | ケースを作り調査開始 → すぐ判断 | 「判断には調査メモか証拠が必要です」 |
| 4. 誤検知 | 証拠を収集 → FALSE_POSITIVE と理由を記録 | ケースとアラートが完了(CLOSED) |
| 5. 二次確認 | 別のケースで NEEDS_REVIEW → 同じ人で判断 → manager で判断 | 同じ人は拒否、別の人なら完了 |
| 6. 上申 | ESCALATED → operator で完了を試す → manager で完了 | operator は権限エラー、manager が結論を記録 |
振り返り
- アラートの根拠(evidence)だけで判断できたか、それとも追加の証拠が必要だったか
- 誤検知として閉じた理由を、第三者が読んで納得できる文章で残せたか
CHECK YOUR UNDERSTANDING
3問で理解チェック
答えを頭の中で考えてから、各項目を開いて確認してください。
Q1Labで二次確認を試すのに必要なのは?
依頼者とは別の担当者(operatorとmanager)です。
Q2誤検知で閉じたケースのアラートはどうなりますか?
CLOSED になります。
Q3上申案件を operator が完了しようとすると?
権限エラー(AD004)になります。
完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。
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-aml-case-investigationケース調査
- CURRENT IMPLEMENTATION
src/app/admin/(protected)/aml/cases/[id]/page.tsxAmlCasePage()ケース詳細と判断画面 - CURRENT IMPLEMENTATION
scripts/banking/v11-aml.test.mjs4ルールの検知、アラート≠判断、ケースの手順・二次確認・上申のDBテスト