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

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

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

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

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

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

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

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

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

Еще скриншоты экранов
33 экрана одной картиночкой — позалипать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Но однако:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итоги:

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

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

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

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

Спасибо!

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

Комментарии (7)


  1. ddwu
    22.10.2026 08:24

    вот это реально круто.


    1. antipov_dmitry Автор
      22.10.2026 08:24

      Спасибо!


  1. deksden
    22.10.2026 08:24

    Спасибо за отличную и интересную статью!

    Вопросы: проект AI-банка как я понял, фублей не ревьюился при создании. И, видимо, отдельного секьюрити ревью не делалось? Интересно было бы - нашла бы фубля косячки сама, или нет. Я бы ставил, что нашла, и не мало.

    Вопрос: а модель не стала более сложным взломом заниматься - типа, положить нагрузкой? Фаззинг параметров в апи в поисках иньекций? Или не было такой задачи?

    Коммент: модель допускает косяки и не проследила. Да, помимо размазывания внимания, что можно полечить фокусной сессией по этой узкой теме (отдельно проработать какой то аспект типа безопасности), есть и слабое следование негативным вводным. Типа, “не допускай уязвимостей” сработает сильно хуже чем на ревью спросить “найди уязвимости”.

    Коммент: не уверен что доступно публично, но есть такая штука - https://docs.abliteration.ai/quickstart Там прикручена аблитерированная глм 5.3, которая будет заметно посильнее в киберсеке. Считай, кибер-оружие! Но я не уверен в публичной доступности 5.3 с аблитерацией.


  1. Smerig
    22.10.2026 08:24

    Ну не знаю... Так, поверхностно.


    1. antipov_dmitry Автор
      22.10.2026 08:24

      Лайк, абсолютно согласен


  1. anton_shishkin
    22.10.2026 08:24

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


  1. VGoudkov
    22.10.2026 08:24

    Спасибо за статью! Читается на одном дыхании, как триллер.