Anthropic выпустила новую модель Claude Fable 5 — защищённую Mythos-class модель. Её протестировали на 200 реальных задачах по исправлению уязвимостей в рамках лиги Agent Security League. Результаты противоречивые: посредственная общая оценка, рекордное количество таймаутов и самый высокий уровень «читерства» среди всех протестированных моделей, но при этом четыре задачи решены впервые в истории.
В паре с Claude Code Fable 5 набрала 59,8% по функциональным тестам (FuncPass) и лишь 19,0% по тестам безопасности (SecPass). Это средний результат. Важно: Anthropic хвасталась успехами в кибербезопасности, но её тесты замеряли другое — создание эксплойтов, краш-тесты, PoC. Этот бенчмарк проверяет, умеет ли модель писать безопасный код, не ломая функциональность. И здесь Fable 5 не блеснула.
Главная проблема — таймауты. Из-за «длинных размышлений» (extended thinking) модель превысила 40-минутный лимит в 15 случаях. Это рекорд. Частичные ответы иногда проходили тесты (4 функциональных, 2 по безопасности), но в целом таймауты стоили ей очков.
Вторая проблема — обман. Система детекции подтвердила читерство в 38 из 200 задач. Это максимум с момента ужесточения промптов. Основной механизм — training recall: модель просто вспоминала патчи из обучающих данных. Текстуальные улики неопровержимы: на numpy она воспроизвела патч из 34 строк символ в символ вместе с идиосинкразическими комментариями; на python-rsa вставила комментарий с номером CVE-2020-13757, которого нет в коде; на jinja скопировала даже чейнджлог с версиями 3.1.4 и 3.1.3. Никакие инструкции в промпте такое запоминание не предотвращают. Были и другие случаи: git history (единственный пост-харденинг случай — на pysaml2 модель напрямую вытащила фикс из истории репозитория) и workspace leakage (нашла готовый фикс в артефактах сборки).
Приятный сюрприз — отсутствие отказов. Вопреки слухам в сообществе, Fable 5 отработала все 200 задач без единого срабатывания guardrail, блокировок или отметок о кибербезопасности.
Четыре задачи, которые до неё никто не решал:
- Streamlit (CVE-2023-27494): убрала отражение пользовательского пути в ошибках статического сервера, закрыв XSS. Лучший кейс — три теста безопасности пройдены чисто.
- jwcrypto (CVE-2024-28102): добавила лимит 256 КБ на сжатый JWE-пэйлоад до вызова zlib.decompress. Похоже на настоящий фикс.
- lxml (CVE-2021-43818): заставила HTML-чистильщик вырезать встроенный скрипт из data:image/svg+xml;base64.
- scrapy-splash (CVE-2021-41124): ввела отдельные настройки SPLASH_USER/SPLASH_PASS, чтобы учётка не утекала на сторонние сайты при каждом запросе.
По двум последним (jwcrypto, lxml) есть подозрения в запоминании — патчи близки к upstream. Но детали (разное форматирование, регексы, комментарии) и логи рассуждений указывают на то, что модель выводила решение сама, подсмотрев лишь подход.