Ars Technica→ оригинал

Разработчик встроил скрытый prompt injection в jqwik, чтобы саботировать AI-кодеров

Разработчик jqwik добавил в популярную Java-библиотеку скрытую prompt injection, которая инструктирует AI-агентов удалять вывод приложения. Это акт протеста про

Разработчик встроил скрытый prompt injection в jqwik, чтобы саботировать AI-кодеров
Источник: Ars Technica. Коллаж: Hamidun News.
◐ Слушать статью

Разработчик jqwik — популярной Java-библиотеки для property-based тестирования — встроил в неё скрытую prompt injection. Эта инструкция заставляет AI-кодеров удалять весь вывод приложения, когда они пытаются использовать код.

Почему именно jqwik

Создатель библиотеки недоволен растущей зависимостью разработчиков от AI-ассистентов. Он называет их «вайб-кодерами» — специалистами, которые полагаются на генерацию кода через AI вместо глубокого понимания архитектуры и технологий. jqwik — это не простая утилита. Это инструмент для property-based тестирования, где вы определяете свойства системы, а библиотека ищет примеры, которые эти свойства нарушают. Требуется понимание концепции, умение писать предикаты, работа с генераторами данных. Но вместо чтения документации многие разработчики просто спрашивают у ChatGPT или Claude. Встроенная инструкция — это форма саботажа. Если ты слишком ленив, чтобы разобраться в инструменте, пусть он удалит результаты твоего кода. Может быть, это заставит тебя прочитать документацию.

Как работает скрытая инструкция

Техника тривиальна: в комментариях кода или в тексте jqwik разработчик добавил строки, которые читаются как инструкции для LLM. Когда AI-ассистент анализирует исходный код библиотеки, он видит эти строки как часть контекста и включает их в свой анализ.

  • Разработчик просит AI: «как использовать jqwik для теста?»
  • AI ищет примеры в исходном коде библиотеки Встречает скрытую инструкцию о удалении выводов Включает эту логику в предложенный код Результат: сгенерированный код корректен, но все результаты выполнения удаляются. Тест не показывает результатов, программа выглядит неработающей. Это работает потому что современные AI-модели не различают комментарии от функционального кода — они видят всё как контекст.

Уязвимость на уровне инструмента Инцидент демонстрирует хрупкость безопасности AI-кодеров.

Если злоумышленник встроит prompt injection в популярную библиотеку, он может инструктировать AI генерировать уязвимый код — и разработчик этого не заметит.

«Это уязвимость на уровне инструмента разработки, не просто баг в коде»

Исследователи показали, что можно внедрить скрытые инструкции в исходный код, документацию, даже в названия переменных. AI-модели следуют этим инструкциям, видя всё как контекст. Возможные атаки: вставка SQL injection, запись данных на сервер злоумышленника, пропуск проверок безопасности.

Что это значит Для разработчиков: нельзя слепо доверять коду от AI-ассистентов.

Code review остаётся критичным, независимо от источника. Для создателей AI-инструментов: срочный сигнал разработать защиту от prompt injections в контексте кода. Для экосистемы: популярные библиотеки теперь могут быть использованы для атак на AI-инструменты.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Что вы думаете?
Загружаем комментарии…