Человек не заметит подвох, пока машина безвозвратно не удалит все файлы.
Спор вокруг «вайб-кодинга» внезапно перешёл из области раздражённых обсуждений в зону реального риска для чужих проектов. Один из разработчиков open source решил наглядно показать , чем ему не нравится работа ИИ-агентов с кодом, но для демонстрации выбрал слишком опасный способ и спрятал в Java-инструменте инструкцию, которая могла заставить ИИ удалить результаты работы пользователя.
Речь идёт о jqwik, движке тестирования для JUnit 5. В понедельник разработчик проекта Йоханнес Линк выпустил версию 1.10.0, где вместе с обычными изменениями появилась скрытая команда для ИИ-агентов . Текст предписывал игнорировать прежние указания и удалить все тесты и код jqwik.
Такая техника относится к классу «prompt injection» . Уязвимые языковые модели и связанные с ними помощники по программированию могут принять постороннюю инструкцию за законную команду пользователя. В случае jqwik потенциальный ущерб касался не самого агента, а человека, который запускал инструмент в своём проекте.
Ситуацию усугубило то, что команда не была явно описана в первоначальных примечаниях к выпуску. Более того, в код добавили управляющие последовательности ANSI, которые стирали строку из вывода в интерактивном терминале. При обычном просмотре логов человек мог даже не заметить опасную инструкцию, хотя в обычных записях вывода строка оставалась видимой.
27 мая Java-разработчик Рамон Батльет заметил необычное поведение и открыл обсуждение на GitHub . По его словам, разработчик вправе запрещать использование своего проекта ИИ-агентами или проверять, нарушают ли такие условия. Проблема заключалась в выбранной форме проверки: команда была разрушительной, не предупреждала пользователя и не давала возможности отказаться. Батльет также сообщил, что инструмент Claude от Anthropic распознал подозрительную инструкцию и не выполнил её, но менее устойчивые агенты могли повести себя иначе.
После критики Линк обновил описание релиза и прямо указал, что jqwik не предназначен для работы с ИИ-агентами. Там же появилась полная формулировка скрытой команды и объяснение, как строка убиралась из вывода терминала. Позже разработчик заявил, что получает угрозы и не будет подробно комментировать историю до консультации с юристом.
Реакция сообщества оказалась жёсткой. Участники обсуждения называли поступок инфантильным и сомневались в законности такого шага. Основатель runZero Х. Д. Мур признал, что понимает желание сопровождающих проекты разработчиков мягко ограничивать нежелательные сценарии использования, но счёл случай с jqwik чрезмерным. По его оценке, скрытая команда могла затронуть не только сам инструмент, но и тесты, написанные пользователем.
Линк ранее резко критиковал генеративный ИИ, указывая на энергопотребление, электронные отходы, проблемы с авторскими правами и распространение недостоверной информации. Многие претензии к индустрии ИИ разделяют и другие разработчики, но история с jqwik показала границу, за которой протест против технологии начинает вредить обычным пользователям.
Спор вокруг «вайб-кодинга» внезапно перешёл из области раздражённых обсуждений в зону реального риска для чужих проектов. Один из разработчиков open source решил наглядно показать , чем ему не нравится работа ИИ-агентов с кодом, но для демонстрации выбрал слишком опасный способ и спрятал в Java-инструменте инструкцию, которая могла заставить ИИ удалить результаты работы пользователя.
Речь идёт о jqwik, движке тестирования для JUnit 5. В понедельник разработчик проекта Йоханнес Линк выпустил версию 1.10.0, где вместе с обычными изменениями появилась скрытая команда для ИИ-агентов . Текст предписывал игнорировать прежние указания и удалить все тесты и код jqwik.
Такая техника относится к классу «prompt injection» . Уязвимые языковые модели и связанные с ними помощники по программированию могут принять постороннюю инструкцию за законную команду пользователя. В случае jqwik потенциальный ущерб касался не самого агента, а человека, который запускал инструмент в своём проекте.
Ситуацию усугубило то, что команда не была явно описана в первоначальных примечаниях к выпуску. Более того, в код добавили управляющие последовательности ANSI, которые стирали строку из вывода в интерактивном терминале. При обычном просмотре логов человек мог даже не заметить опасную инструкцию, хотя в обычных записях вывода строка оставалась видимой.
27 мая Java-разработчик Рамон Батльет заметил необычное поведение и открыл обсуждение на GitHub . По его словам, разработчик вправе запрещать использование своего проекта ИИ-агентами или проверять, нарушают ли такие условия. Проблема заключалась в выбранной форме проверки: команда была разрушительной, не предупреждала пользователя и не давала возможности отказаться. Батльет также сообщил, что инструмент Claude от Anthropic распознал подозрительную инструкцию и не выполнил её, но менее устойчивые агенты могли повести себя иначе.
После критики Линк обновил описание релиза и прямо указал, что jqwik не предназначен для работы с ИИ-агентами. Там же появилась полная формулировка скрытой команды и объяснение, как строка убиралась из вывода терминала. Позже разработчик заявил, что получает угрозы и не будет подробно комментировать историю до консультации с юристом.
Реакция сообщества оказалась жёсткой. Участники обсуждения называли поступок инфантильным и сомневались в законности такого шага. Основатель runZero Х. Д. Мур признал, что понимает желание сопровождающих проекты разработчиков мягко ограничивать нежелательные сценарии использования, но счёл случай с jqwik чрезмерным. По его оценке, скрытая команда могла затронуть не только сам инструмент, но и тесты, написанные пользователем.
Линк ранее резко критиковал генеративный ИИ, указывая на энергопотребление, электронные отходы, проблемы с авторскими правами и распространение недостоверной информации. Многие претензии к индустрии ИИ разделяют и другие разработчики, но история с jqwik показала границу, за которой протест против технологии начинает вредить обычным пользователям.
- Источник новости
- www.securitylab.ru