Оглавление
Исследователи из Microsoft и нескольких американских университетов представили BlueCodeAgent — систему защиты для моделей генерации кода, которая использует автоматизированное тестирование на проникновение для создания эффективных механизмов безопасности. Об этом сообщает Microsoft Research.
Проблема безопасности AI-генерации кода
Языковые модели для генерации кода стали стандартным инструментом в разработке программного обеспечения, но их широкое применение сопровождается серьезными рисками безопасности. Системы могут:
- Создавать вредоносный код по злонамеренным запросам
- Генерировать код с уязвимостями (инъекции, небезопасная обработка входных данных)
- Производить код с дискриминационной или неэтичной логикой
Хотя методы тестирования на проникновение (red teaming) хорошо изучены, разработка защитных механизмов (blue teaming) отставала из-за трех основных проблем:
- Плохое понимание моделями абстрактных концепций безопасности
- Избыточная консервативность — ложные срабатывания при анализе безопасного кода
- Неполное покрытие рисков, особенно для новых и тонких угроз

Архитектура BlueCodeAgent
BlueCodeAgent использует комплексный подход, объединяя генерацию тестовых атак и создание защитных механизмов на их основе.

Диверсифицированное тестирование на проникновение
Система включает три метода генерации данных для атак:
- Генерация на основе политик безопасности — использование принципов безопасности для создания примеров, намеренно нарушающих политики
- Оптимизация вредоносных промптов — итеративное улучшение начальных промптов с помощью инструментов взлома для повышения успешности атак
- Генерация уязвимостей на основе знаний — создание реалистичных примеров уязвимого кода с использованием базы знаний о распространенных слабостях программного обеспечения (CWE)
Улучшенная защита на основе знаний
На основе собранных данных BlueCodeAgent реализует два уровня защиты:
- Принципиальная защита через конституции — создание явных правил безопасности из данных атак, которые помогают моделям сохранять соответствие этическим и безопасным принципам
- Тонкий анализ через динамическое тестирование — выполнение сгенерированного кода в изолированных средах Docker для проверки реальных уязвимостей, что снижает количество ложных срабатываний
Подход Microsoft интересен тем, что превращает уязвимости в актив — данные об успешных атаках становятся основой для создания более умных систем защиты. Это похоже на тренировку иммунной системы: сначала знакомишь с патогенами, а потом учишь эффективно с ними бороться. Особенно впечатляет динамическое тестирование в песочницах — это убирает главную проблему статического анализа, когда модель видит угрозу там, где ее нет.
Результаты и перспективы
BlueCodeAgent демонстрирует улучшение на 12.7% по метрике F1 на четырех датасетах и трех типах задач. Ключевое достижение — способность системы обобщать знания для работы с ранее не встречавшимися рисками, что особенно ценно в условиях постоянно развивающихся угроз.
Система эффективно работает с тремя основными категориями рисков:
- Предвзятые и вредоносные инструкции на уровне входных данных
- Уязвимый код на уровне выходных данных
- Сложные сценарии, требующие контекстно-зависимого анализа рисков
Этот подход знаменует переход от реактивной к проактивной безопасности в генеративном AI, где защита строится не на запретах, а на глубоком понимании природы угроз.
Оставить комментарий