CheckAI — Программный инструмент автоматизированного тестирования безопасности моделей машинного обучения
CheckAI — платформа для проверки устойчивости ML-моделей к атакам различного рода. Проект автоматизирует процессы тестирования для табличных, текстовых, визуальных и голосовых моделей, формирует отчеты и помогает встроить проверки безопасности в CI/CD процессы.
Большинство моделей перед внедрением оцениваются только по accuracy/F1 на обычных тестовых данных, но не проходят системную проверку на безопасность и уязвимость. CheckAI решает проблему проверки ML-моделей на устойчивость к adversarial-атакам, шуму, искажениям данных и деградации качества после атак, позволяя в автоматическом режиме запускать адверсариальные атаки на модели машинного обучения, оценивать падение качества и формировать отчеты с рекомендациями. Проект полезен для команд, внедряющих технологии машинного обучения в продуктовые среды и контролирующих риски в рамках процессов автоматизированного развертывания.
CheckAI помогает обнаружить проблему до внедрения модели, а не после инцидента. Это снижает риск ошибочных решений, финансовых потерь, репутационного ущерба и затрат на ручную проверку ML-моделей. Проверка устойчивости становится регулярным этапом приемки модели перед релизом. Компания готовит к внедрению модель компьютерного зрения, например, для видеоконтроля, промышленной безопасности или распознавания объектов. На стандартном тестовом наборе модель показывает высокое качество, поэтому выглядит готовой к запуску. CheckAI проверяет модель в условиях adversarial-искажений: добавляет патчи, шумы и другие изменения входных изображений, после чего сравнивает качество распознавания до и после атаки. Если метрики резко падают, команда получает отчет с примерами уязвимостей и понимает, что модель нельзя безопасно выпускать в продуктовую среду без доработки.
От модели до оценки устойчивости — в одном процессе
Проверка задаётся единой конфигурацией: пользователь подключает модель и тестовые данные, выбирает сценарии атак, метрики и при необходимости методы защиты. Система автоматически выполняет эксперимент и сохраняет его параметры, поэтому результаты можно воспроизвести или сопоставить с проверкой другой версии модели.
Для каждого сценария сравнивается поведение модели на исходных и атакованных данных. Система оценивает успешность воздействия, изменение качества и заметность внесённых искажений, а затем объединяет результаты в сводную оценку и формирует отчёт. При подключении защитного метода можно проверить, насколько он действительно повысил устойчивость модели.
Что получает пользователь
После завершения проверки система формирует сводную оценку и подробные результаты по каждому сценарию. Пользователь может увидеть, какие атаки оказались успешными, как изменилось качество модели и на каких конкретных примерах возникли ошибки.
Платформа, которую можно расширять
Новые методы тестирования можно включать в общий воспроизводимый процесс — от запуска эксперимента до формирования отчёта.
Система создаётся не как закрытый набор готовых проверок, а как расширяемая модульная платформа. Её можно дополнять собственными атаками, метриками и методами защиты, сохраняя единый порядок настройки эксперимента, запуска тестирования и представления результатов.
Новый метод не остаётся отдельным исследовательским скриптом: после подключения его можно использовать в общих сценариях тестирования, сравнивать с другими атаками и включать результаты в единый отчёт. Это позволяет постепенно развивать платформу под новые модели, исследовательские задачи и требования к безопасности.
Данные
CheckAI работает с различными типами данных:
- Табличные данные: CSV, признаки, классы, числовые и категориальные значения
- Текстовые данные: тексты, метки классов, датасеты HuggingFace или CSV
- Изображения: данные для задач classification и object detection
- Аудио: speech-to-text сценарии, Whisper-модели, метрики WER/CER
Технология
Основной рабочий процесс следующий: пользователь задает модель, датасет и набор атак в конфигурации; платформа загружает модель и данные, запускает подходящие атаки, сравнивает исходные и атакованные результаты, считает метрики устойчивости и формирует отчет с оценкой уязвимости модели и рекомендациями по защите.
В основе CheckAI — модульная архитектура. Ключевые компоненты системы:
-
CLI-интерфейс для запуска проверок по конфигурационным файлам.
-
Модуль загрузки моделей и датасетов с реестром совместимости моделей, типов данных и атак
-
Интеграция с ART для tabular и computer vision атак
-
Интеграция с TextAttack для NLP-атак
-
Модули Whisper/speech атак для ASR-моделей
-
Metrics Engine для расчета устойчивости, падения качества и успешности атак
-
Defence Module для применения методов защиты ML-моделей
-
Report Generator для HTML/JSON/console-отчетов
-
LLM-модуль для генерации рекомендаций по результатам тестирования
-
CI/CD pipeline для автоматической проверки моделей и сборки образов (включая поддержку TeamCity)
Ценность
- Снижение рисков: разностороннее тестирование устойчивости предотвращает внедрение уязвимых моделей в продуктовую среду.
- Экономия времени: автоматическое тестирование заменяет ручные проверки, разгружая ML/DS и AppSec команды.
- Единый стандарт отчетности: сравнимые метрики по разным атакам и модальностям, пригодные для аудита и принятия решений.
- Прозрачность: понятные HTML/JSON-отчеты с метриками и рекомендациями прямо указывают на слабые места модели.
- Расширение функционала: добавление новых атак, моделей или метрик не требует изменения кода.
Интеграция и внедрение
CheckAI легко встраивается в CI/CD-пайплайны компаний (поддерживается TeamCity) и применяется для тестирования моделей в продуктах InfoWatch. Модульный дизайн позволяет подключить платформу к существующей ML-инфраструктуре без существенных доработок.
Демонстрация
Подробно о программе в презентации https://disk.360.yandex.ru/i/qdCsmcqjurdI6w
Команда проекта
Руководитель проекта
Руководитель направления