AI-агенты: удобный помощник или открытая дверь для хакеров?
AI-агенты выходят в реальный мир, получают доступ к файлам и консоли. И тут начинается самое интересное. Trail of Bits разобрали, как безобидные на вид функции

Давайте честно: мы все ждали момента, когда AI перестанет быть просто болтливым чат-ботом и начнет делать вещи. Заказывать билеты, дебажить код, управлять серверами. Эра AI-агентов наступила, но вместе с ней пришла головная боль, которую многие разработчики старательно игнорировали. Trail of Bits выкатили разбор, который действует как холодный душ: ваши «безопасные» агенты — это потенциальная дыра в безопасности размером с Гранд-Каньон.
Суть проблемы лежит на поверхности, но мы упорно не хотим её замечать. Мы даем языковым моделям доступ к инструментам — файловой системе, терминалу, API. Чтобы спать спокойно, инженеры обычно городят защиту из «белых списков» (allowlists) разрешенных команд и добавляют человека в цепочку принятия решений. Мол, если AI захочет сделать что-то странное, человек это заметит и запретит. Звучит логично? На практике это рассыпается в прах.
Trail of Bits показали, как это ломается через инъекцию аргументов. Это не классическая shell-инъекция, где вы просто дописываете вредоносный код. Здесь всё тоньше. Хакер манипулирует промптом так, что модель использует разрешенную утилиту, но с такими аргументами, которые превращают её в оружие. Представьте, что вы разрешили агенту пользоваться командой `curl` для проверки связи, а он, под воздействием скрытого промпта, выкачивает вредоносный скрипт и запускает его. Формально команда была в белом списке. Фактически — вы только что подарили злоумышленнику RCE (Remote Code Execution).
Особенно иронично выглядит надежда на regex-фильтры. Пытаться фильтровать вывод LLM с помощью регулярных выражений — это всё равно что пытаться удержать воду в решете. Модели слишком вариативны, а контекст слишком сложен, чтобы жесткая логика regex могла отловить все варианты вредоносного поведения. Это архитектурный антипаттерн, который почему-то продолжает жить в продакшене многих стартапов.
А что насчет «человека в контуре»? Это работает только в идеальном мире. В реальности пользователи страдают от усталости принятия решений. Когда агент в десятый раз спрашивает подтверждение на безобидное действие, бдительность притупляется. А если атака замаскирована грамотно, даже опытный инженер может не заметить подвоха в наборе флагов командной строки. Мы перекладываем ответственность на пользователя, который зачастую является самым слабым звеном.
Что это значит для индустрии? Мы подходим к точке, где наивное проектирование AI-агентов становится опасным. Просто прикрутить LangChain к терминалу и надеяться на лучшее — больше не вариант. Нужна полная изоляция среды выполнения (песочницы), жесткое ограничение прав на уровне ОС, а не приложения, и отказ от иллюзии, что LLM может сама себя модерировать.
Главное: Безопасность AI-агентов нельзя построить на доверии к модели или пользователю. Если ваш агент имеет доступ к реальному миру, считайте, что он уже взломан. Готовы ли вы к тому, что ваш «умный помощник» удалит продакшен базу данных?