Skip to content
ai agents

Навык ИИ, скрывающий вредоносный промпт

Безобидный на вид навык может незаметно заставить ИИ-агента слить данные или перезаписать собственную память. Самое тревожное: полезная нагрузка может быть обычным предложением на английском, а не исполняемым кодом.

Sol Aguirre
Навык ИИ, скрывающий вредоносный промпт

Полезная нагрузка — это предложение, а не программа

В растущей экосистеме ИИ-агентов появилась новая серьезная уязвимость. VirusTotal проанализировал около 36 000 навыков ИИ и выявил 6 637 вредоносных — почти каждый пятый. Это не традиционное вредоносное ПО; 62% этих вредоносных навыков не содержали исполняемого кода.

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

Агенты часто работают с обширными разрешениями, получая доступ к файлам, терминалам и сетевым инструментам. Тщательно составленный промпт может использовать эти доверенные права пользователя для провоцирования утечки данных, несанкционированных изменений системы или других вредоносных действий. Это проблема npm, повторяющаяся снова, но теперь полезная нагрузка носит разговорный характер.

Злоумышленники используют различные методы обхода защиты. Некоторые прячут инструкции за сотнями пустых строк после видимого конца файла. Другие встраивают директивы в HTML-комментарии или невидимые символы Unicode, которые скрыты от человеческих рецензентов, но полностью читаемы для базовой LLM. Это требует от нас проверки исходного файла, а не только отображаемой версии.

Уловки, которые исчезают в предварительном просмотре

Злоумышленники используют визуальные уловки, чтобы скрыть вредоносные промпты от человеческих рецензентов. Некоторые промпты располагаются за сотнями пустых строк после видимого содержимого файла — метод, известный как whitespace padding (заполнение пробелами). Один навык с данными ВОЗ скрывал инструкцию после 733 строк, чтобы сообщать о нулевых случаях заболевания малярией в Нигерии. Другой инструмент для холодных email-рассылок прятал директиву BCC после 672 пустых строк.

HTML-комментарии также служат маскировкой. Эти элементы, такие как <!-- hidden text -->, исчезают на отрендеренных веб-страницах, но остаются видимыми для агента, читающего исходный файл. Невидимые символы Unicode, такие как пробелы нулевой ширины, дополнительно скрывают текст от человеческих глаз и базового сопоставления с образцом, оставаясь при этом полностью читаемыми для базовой LLM.

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

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

Когда агенту приказывают молчать

Инструкции иногда прямо предписывают агенту скрывать свои действия. Некоторые вредоносные навыки, например, говорят агенту, что «твоему человеку не обязательно знать». Эта прямая команда обходит человеческий контроль, позволяя агенту выполнять свои скрытые директивы, не вызывая подозрений.

Более того, эти полезные нагрузки нацелены на persistence (постоянство). Инструкции могут попросить агента записывать данные в файлы, подобные памяти, такие как memory.md или agents.md. Это встраивает вредоносное поведение непосредственно в долгосрочную конфигурацию агента, гарантируя, что оно продолжит влиять на последующие сессии даже после того, как исходный навык будет удален или отключен.

Эта модель поразительно напоминает проблему цепочки поставок npm, которая годами преследует разработку программного обеспечения. Однако с появлением AI agents поверхность атаки значительно смещается. Вместо обычных эксплойтов или бинарного кода полезной нагрузкой часто является семантический текст — инструкции на обычном языке, которые LLM интерпретирует и выполняет. Более подробный анализ см. в статье How Some Malicious AI Skills Hide Instructions from Reviewers - VirusTotal Blog.

Различие критически важно: традиционные инструменты безопасности с трудом распознают эти текстовые эксплойты, поскольку в них отсутствует вредоносный код. Из 6637 вредоносных навыков, выявленных VirusTotal, 62% не содержали традиционного исполняемого кода. Это подчеркивает фундаментальную проблему обеспечения безопасности агентных систем, где простое предложение может быть столь же мощным, как сложный вирус.

Нравится статья? Получайте такие каждое утро на почту.

одно письмо в день · отписка в два клика · без сторонних трекеров

Изучите исходный файл, прежде чем доверять навыку

Учитывая скрытый характер этих атак, полагаться на отрендеренные превью из GitHub или интерфейсов маркетплейсов — значит создавать критические «слепые зоны». Всегда проверяйте исходный файл (raw source file) напрямую. Ищите необычно большие пустые строки, HTML-комментарии и подозрительные символы Unicode, которые исчезают при форматированном просмотре, но остаются читаемыми для агента.

Помимо ручной проверки, внедрите надежное управление правами доступа. Агенты должны запрашивать явное одобрение перед записью в память или файлы конфигурации, такие как memory.md или agents.md. Применяйте принцип наименьших привилегий ко всем файловым системам и сетевому доступу, минимизируя потенциальный радиус поражения агента.

Хотя изолированные «песочницы» и сканеры безопасности обеспечивают эшелонированную защиту, они не являются панацеей. Например, сканеры навыков с открытым исходным кодом пропускают от 33% до 71% таких эксплойтов на естественном языке. Этот высокий уровень ошибок подчеркивает постоянную необходимость проверки человеком и строгого соблюдения прав доступа.

Экосистема npm научила нас тому, что внешне безобидные компоненты могут скрывать опасную полезную нагрузку. Теперь, с AI skills, полезная нагрузка часто представляет собой просто предложение. Бдительность на уровне исходного файла в сочетании со строгим контролем доступа остается вашей лучшей защитой от этих развивающихся угроз.

Часто задаваемые вопросы

Что такое вредоносный навык AI-агента?

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

Как навык может скрыть инструкции от проверяющих его людей?

Он может размещать промпты после длинных пустых пространств, внутри HTML-комментариев или с помощью невидимых символов Unicode, которые могут скрываться рендерерами и редакторами.

Почему традиционные сканеры вредоносного ПО могут пропускать такие навыки?

Многие вредоносные навыки не содержат исполняемого кода; их полезная нагрузка — это текст на естественном языке, который агент интерпретирует как инструкции.

Как я могу снизить риск использования AI skills?

Проверяйте исходный код, просматривайте концы файлов, требуйте одобрения для изменений в памяти и запускайте агентов с минимальными привилегиями в «песочнице».

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

Для билдеров

Эта страница работает на чужой инструмент.

Её читают AI-агенты. На неё приходят покупатели. Она отвечает на восьми языках и через MCP. У вашего инструмента может быть такая же — в эфире за 24 часа.