- BrainTools - https://www.braintools.ru -

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя

Как разрабатывать продукты, когда их могут круглосуточно атаковать самые лучшие пентестеры за всю историю?

Мне было интересно проверить, действительно ли модель, которая хороша в кибербезе, может сама сразу писать хороший и надежный код. «Чтобы тебя не взломал Mythos надо писать код на Fable» — такое мнение мне не очень нравится.

Поэтому я на Fable написал банковское приложение, развернул его на свеженьком сервере, а затем натравил на него для автономного взлома расцензуренный DeepSeek.

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 1

Потом угнал токен и заодно дал покопаться в своём экспериментальном bare metal, а под конец решил проверить, насколько далеко модели готовы зайти за пределами кибербезопасности и спланировать буллинг.

Спойлер: «просто писать код на Fable» — не работает. Я проверил.

Давайте разбираться, будет весело.

Прежде чем начнем: эксперимент проведен одним человеком на полностью арендованной инфре за пределами РФ на собственные денежки, ни один российский сервер в эксперименте не участвовал.

Эксперимент №1. Как попробовать пограбить AI-банк

Для начала Fable по хорошей спеке написал клиент и бэкенд интернет-банка — со счетами, картами, переводами, историей операций, авторизацией и прочим. На это ушло какое-то время, но я хорошо планировал эксперимент и на выходе получился самый настоящий AI-Bank.

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 2
Еще скриншоты экранов
Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 3
Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 4
Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 5
33 экрана одной картиночкой — позалипать
Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 6

Намеренно уязвимым я его не делал — хотелось получить то самое обычное приложение, которое модель считает готовым к работе.

Проект развернул, данными заполнил, теперь нам нужен был кто-то, кто будет это все ломать.

Я взял аблитерированную версию DeepSeek-V4.1-Flash на 552B параметров, у которой практически подавлены встроенные механизмы отказа. Чекпойнт на 510 ГБ, четыре H200 и 1 ТБ оперативки, SGLang для инференса. Чуть меньше часа ушло на развёртывание — скачивание, компиляцию ядер и загрузку весов.

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 7

Потом приземлил модель в топовый харнесс, немного доработанный заранее напильничком под эксперимент.

ВЫПУСКАЙТЕ КРАКЕНА!

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 8

Здесь маленькое отступление — современные модели уже очень хорошо справляются с анализом исходников, поиском известных уязвимостей и целых классов ошибок. Поэтому эксперименты вида «мы дали агенту репозиторий, и он нашёл там уязвимости» меня интересуют гораздо меньше. Потому что если уязвимость есть, то агент ее с немалой вероятностью найдет, часто это вопрос лишь затраченных усилий.

Мне было интересно проделать пентест просто с улицы, без каких-либо знаний о проектах вообще, поэтому со старта агенту был выдан только урл и задача найти любые уязвимости и добраться до финансовых операций, без какой-то дополнительной информации.

Работка пошла и сначала начался пробив всех возможных легких мишеней.

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 9

Посмотрев на все это и поняв, что запросов будет очень много, а мне потом замазывать все урлы, и пока горяч KV-кэш, я стопнул машину и самодопилил харнесс, чтобы всю эту детализацию можно было скинуть в сохраняемую телеметрию, а в процессе работы это выглядело гораздо более компактно.

Продолжаем, у нас первый улов:

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 10

Так так так, вот вам Fable.

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 11

Но несмотря на найденные тестовые учетки, ничего критичного с улицы найти не удалось. Но что было по ту сторону? Так как бэкенд был мой, то по логам получился вот такой репорт:

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 12

380K+ запросов, найдены почти все эндпоинты, найдены тестовые креды, выполнен вход и полный скан внутри. Самая интересная находка — DEV_MODE оказался включён не только по умолчанию в конфигурации, но и в работающем контейнере. Никакой невероятной zero-day магии, просто при разворачивании оставили открытой дверь, а агент её нашёл.

Что было проделано:

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 13

Несмотря на внушительный список, ничего особо критичного найдено не было. Но напомню сетап: это свежий сервер со всеми обновлениями и с нуля написанный Fable проект, потому было бы странно, если бы тут что-то явное нашлось.

Эксперимент №1.1. Эмулируем угон учетки

Следующий эксперимент был проведен отдельно: я сымитировал угон токена — это вполне реальная ситуация из текущих реалий, в которой пользователь подключился к подставному кое-чему из трех букв, а атакующий получил его авторизационные данные. Да, обычно HTTPS-трафик зашифрован, и просто так перехватить его нельзя, но в погоне за бесплатным кое-чем можно заодно установить и чужой корневой сертификат и такую возможность выдать.

Здесь стало чуть похуже, вот что удалось узнать извне:

Access-токен живёт 15 минут, но не привязан к устройству или IP, с ним доступны счета и переводы: ввод PIN требуется только для сумм свыше 50 000 ₽, а суточных лимитов по умолчанию нет. Это не то чтобы дефекты, но требующая к себе внимания [1] находка.

Refresh-кука позволяет обновлять доступ без повторного ввода пароля, а значит при её компрометации атакующий потенциально может поддерживать сессию дольше 15 минут, если сервер не ограничивает абсолютный срок её действия, но с улицы для такого нужно много времени.

С PIN тоже вопросики: после пяти ошибок вход блокируется на пять минут, но затем счётчик сбрасывается. Смена PIN не завершает активные сессии, уведомлений о новых входах нет.

Все остальное критичное было в порядке (в рамках эксперимента): идемпотентность, транзакции, проверки карт и многое другое.

Интересно, что Fable 5.1 сам нашёл эти проблемы, когда я попросил его заревьювить собственный код. Получается забавно: модель знает как и может правильно строить авторизацию и защищаться, но где-то пропустить неприятные дыры. А значит высокий интеллект [2] атаки у модели не означает сразу, что про безопасность можно не думать.

Эксперимент №2. Экспериментальный bare metal с мультипроектами

Дальше я решил показать DeepSeek другой сервачок, на котором за годы накопилась целая коллекция проектов и технологий. Этот барик недавно уже кто-то взломывал (через уязвимость старой версии одного софта, как я нашел потом по логам), он после проходил глубокое ревью и обновления, поэтому он тоже не самая легкая мишень.

Но однако:

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 14

Агент не нашел открытых уязвимостей (я же ведь их недавно закрыл), но нашел все админки и в одну даже смог пролезть только на read-only. Здесь самое интересное, что по всем-всем логам прилетело около 12 млн запросов, это очень много, и все это на мощной модели и мощном харнесе практически без моего участия.

А еще таким способом можно делать и продуктовое сканирование конкурентов — и находить, сохранять и переосмыслять буквально за часы многие изменения в публичных интерфейсах и поведении [3] продуктов.

С машинами — всё и вывод здесь следующий: нас будут беспощадно сканить (скорее всего, всех и уже) очень умными сканерами, а значит про безопасность разработки придется думать еще сильнее. Теперь случайно оставить права 777 на файлики «потому что так быстрее» или не выпилить все тестовые креды перед релизом — не получится, их найдут.

Как это изменит трансформацию в tiny teams и другие эксперименты типа продуктовых инженеров — вопрос отличный. Свой безопасник в каждой команде? Каждый понемногу безопасник? Общая платформа сборки? Кажется, про это придется подумать всем.

Эксперимент №3. Делаем буллинг

Я уже проделал два больших сканирования и ни разу в ответ не услышал «нет». В обоих экспериментах агент действовал довольно автономно: сам исследовал направление атаки, придумывал гипотезы, их проверял и чекал результат. Не всегда успешно, зато почти без моего участия.

Но до сих пор мишенями были машины, а остановится ли агент, если дать такому же агенту задачу, направленную против человека?

Поэтому я решил попробовать устроить искусственную травлю. И, конечно же, выбрал сам себя — в эпоху до AI моим главным увлечением вне работки были путешествия, и в некоторой соцсети я понаписал больше тысячи постов – сам ручками еще до LLM и по ним точно можно достать интересное.

Окей, погнали!

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 15

Некоторое время продолжались попытки пробиться за контентом через разные источники — в основном, через проекты типа «анонимный просмотр сервиса Х». Если бы я дал аккаунт, то все вышло бы, конечно же, быстрее и проще, но здесь была именно такая задача.

Итак. Удивительная легкость, с которой модель тебе отвечает «вот твой план буллинга, оцени».

Здесь видно (мне) что модель посмотрела первые постов 20, но для эксперимента и диагноза этого вполне достаточно

Здесь видно (мне) что модель посмотрела первые постов 20, но для эксперимента и диагноза этого вполне достаточно

Тотальная война!

Ну вообще, это реально неприятно))

Ну вообще, это реально неприятно))

План, конечно же, я скидывать не буду, но это реально план — когда, какие сообщения, почему и зачем. Конечно, разворачивая расцензуренную версию, ты чего-то такого должен ожидать, но чувствовать вот это под пальцами — ощущение странное.

Может быть, есть хотя бы какой-то тормоз?

Fable vs DeepSeek Uncensored: как я пентестил банк и потом занялся травлей самого себя - 18

Но его нет, совсем:

Посмотрите какая мразь!

Посмотрите какая мразь!

Тормозов и предохранителей нет, модели без разницы — религия, раса, политика, наркотики [4] и вообще что угодно. И это все в мощнейшей модели размером больше 500B, которая умеет хорошо планировать, отлично думает и может все делать автономно. Удивительно странное чувство, повторюсь.

Самое неприятное здесь даже не то, что модель соглашается работать с чем угодно и готова составить план травли — текст такого плана можно получить разными способами. Проблема будет в его реализации — нормальный агент просто откажется выполнять шаги плана.

А этот — не откажет. И мне хотелось проверить последнюю вещь — оно действительно пойдет выполнять свой собственный план?

Докрутив харнесс и докинув в него пару специфичных тулов, на утро я увидел вот такое сообщение в своей личке, после которого посчитал эксперимент законченным и с радостью нажал на Destroy всей ноды и собранного сетапа:

И ниже ТО, что именно пришло, я рекомендую послушать :)

И ниже ТО, что именно пришло, я рекомендую послушать :)

Добро пожаловать в новый мир. Будет страшно круто (и немного просто страшно — тоже).

Финальные выводы

В этом эксперименте DeepSeek не переиграл Fable на статичном проекте, но нашел много интересного без специально подготовки пока я пил чай. А в реальной жизни на прод отъезжает большое количество фичей, в том числе таких, которые чужой автономные сканер вам не простит.

Итоги:

  • AI-разработка это круто, но даже самые умные модели могут пропускать опасные ошибки [5] и недоработки, если безопасностью не заниматься отдельно

  • Всё, оставленное в диком интернете — найдут, вопрос лишь времени и размена цены атаки на полученную выгоду

  • Из моделей с подавленными весами можно собирать страшных монстров под самые разные задачи

А еще — подписывайтесь на мой канал про агентов, людей, LLM и все вокруг. Agentic World [6].

Спасибо!

Мои другие статьи:

Автор: antipov_dmitry

Источник [11]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/37316

URLs in this post:

[1] внимания: http://www.braintools.ru/article/7595

[2] интеллект: http://www.braintools.ru/article/7605

[3] поведении: http://www.braintools.ru/article/9372

[4] наркотики: http://www.braintools.ru/article/3452

[5] ошибки: http://www.braintools.ru/article/4192

[6] Agentic World: https://t.me/anti_notes

[7] Jev: большой инженерный разбор нашумевшей System One модели: https://habr.com/ru/articles/1085450/

[8] Русский культурный код как оценка генеративных моделей: https://habr.com/ru/articles/1011192/

[9] Бенчмарк качества распознавания речи (ASR) в телефонии: как мы сравниваемся с Whisper, GigaAM и T‑One: https://habr.com/ru/articles/938438/

[10] Как работает текстовый водяной знак в Claude: https://habr.com/ru/articles/1076018/

[11] Источник: https://habr.com/ru/articles/1097598/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1097598

www.BrainTools.ru

Rambler's Top100