92% поддельных паспортов в МФО, лизинге и факторинге со свистом проходят стандартные системы распознавания. Почему? Потому что OCR — это тупая молотилка текста. Ей абсолютно плевать, что пиксельная сетка вокруг ИНН была грубо вырезана из другого JPEG, а фон под фотографией имеет иной уровень квантования. Думаете, вас защитит сверка по базам МВД и бюро кредитных историй? Нет. Если фродер купил в даркнете реальный скан чистого донора, стер его лицо и вклеил свое, база ответит: «Паспорт действителен». Настоящая проверка документов на подделку — это ИИ-KYC, который ловит фотошоп в паспортах до выдачи денег, опираясь на физику цифрового изображения. Компьютерное зрение видит то, что глаз кредитного аналитика упускает по умолчанию.
Фрод давно эволюционировал от банального замазывания цифр в Paint. Сейчас на нас летит четыре категории мусора. Первая — классическая переклейка фото (документ настоящий, лицо чужое). Вторая — модификация сумм и дат в финансовых выписках. Третья — полностью синтетические личности, сгенерированные диффузионными нейросетями под конкретный шаблон. И четвертая, самая агрессивная форма — deepfake-селфи, которые скармливаются в liveness-проверки через виртуальные камеры в обход браузерного WebRTC (так называемые injection attacks).
Наш подход в Morana Labs кардинально отличается от того, что привык покупать рынок. Вендоры продают скоринг по простым правилам. Мы продаем математику артефактов. Пайплайн детекции обязан начинаться с анализа ошибок сжатия (Error Level Analysis) и частотного разбора. Любое сохранение в графическом редакторе оставляет шрамы в матрице дискретного косинусного преобразования. Склеенные слои имеют разный уровень шума, а края вставленного текста звенят артефактами резкости, которых нет на оригинальном фоне.
import cv2 import numpy as np def check_compression_ghosts(image_bytes, quality=65): img_np = np.frombuffer(image_bytes, np.uint8) original = cv2.imdecode(img_np, cv2.IMREAD_COLOR) _, encoded = cv2.imencode('.jpg', original, [cv2.IMWRITE_JPEG_QUALITY, quality]) recompressed = cv2.imdecode(encoded, cv2.IMREAD_COLOR) diff = np.abs(original.astype(np.int16) - recompressed.astype(np.int16)) return np.max(diff) > 15 # В проде работает сверточная нейросеть, а не голый diff За CV-детекцией идет кросс-валидация. MRZ-зона паспорта сверяется не только контрольными суммами, но и шрифтовыми паттернами. Liveness обязан искать паттерны муара от монитора, а активный модуль — анализировать отсветы от случайных цветовых вспышек экрана на лице. Интеграция в onboarding имеет жесткий лимит: если проверка занимает дольше 400-500 миллисекунд, бизнес теряет конверсию. Никто не будет ждать, пока тяжелая модель крутится во внешнем облаке. Инференс должен отрабатывать на оптимизированных CPU/GPU рантаймах (TensorRT, ONNX) строго в изолированном контуре заказчика, чтобы данные не светились наружу.
Проверка документов на подделку: ИИ-KYC и честный трейд-офф
Любой, кто обещает вам «100% блокировку фрода с помощью ИИ», — лжец и маркетолог. В индустриальном machine learning есть только суровый баланс между True Positive (пойманный скамер) и False Reject (отклоненный честный клиент). Нормальная метрика для финтеха — это когда вы режете 99% откровенной грязи, но при этом FRR не пробивает 3-4%.
В реальности работают три правила:
- ИИ не отменяет ручной разбор, он просто сжигает 95% рутины. Оставшиеся 5% пограничных кейсов обязаны падать на пульт антифрод-офицера для принятия итогового решения.
- На убитых сканах ничего не работает. Если ваш фронтенд позволяет грузить мыльные фото на 1 мегапиксель при свете тусклой лампы, никакая нейросеть не вытащит из них артефакты правки. Процессный контроль качества на этапе захвата — это половина успеха пайплайна.
- Deepfake-технологии мутируют непрерывно. Модель, обученная год назад, сегодня пропустит лицо от новых генеративных сетей. Антифрод — это бесконечный процесс дообучения.
Компьютерное зрение в безопасности — это не магия из пресс-релизов. Это хардкорная инженерия, где каждый сэкономленный процент FRR сохраняет миллионы, а каждая пропущенная переклейка напрямую списывается из P&L компании.