Habr AI→ оригинал

Plugin opencode-policy Añade 309 Reglas para Proteger Agentes de IA contra Inyecciones y Fugas

Un nuevo plugin opencode-policy proporciona una capa de protección antes del modelo y las herramientas. Incluye 309 reglas: 27 contra prompt injection y 282 par

Plugin opencode-policy Añade 309 Reglas para Proteger Agentes de IA contra Inyecciones y Fugas
Источник: Habr AI. Коллаж: Hamidun News.

Для среды opencode предложили отдельный защитный слой, который перехватывает опасные запросы еще до того, как они дойдут до модели или будут переданы в shell и файловые инструменты. Плагин opencode-policy использует детерминированные правила, а не только системный промпт, и закрывает типовые сценарии атак на AI-агентов: prompt injection, чтение чужих файлов, попытки вытащить переменные окружения, подготовку данных к эксфильтрации и запуск подозрительных команд. В базовой поставке — 309 правил, которые можно расширять под свою инфраструктуру.

Идея выросла из практики соревнований по AI-агентам, где участникам специально подсовывали вредоносные инструкции. В таких задачах агент могли попросить забыть прежние правила, показать системный промпт, прочитать .env, ~/.

ssh или /proc/self/environ, декодировать полезную нагрузку и что-то выполнить от имени пользователя. Именно поэтому автор плагина вынес защиту за пределы самой модели: если опасная команда уже попала в tool execution, реагировать поздно. Фильтр ставится раньше и проверяет как пользовательские сообщения, так и аргументы инструментов.

Интеграция в opencode построена на двух хуках. Первый трансформирует сообщения до отправки в модель и ищет признаки prompt injection в текстовых полях, включая text, prompt, command и source.value.

Второй срабатывает перед запуском инструмента и анализирует не только путь к файлу, но и имя тула, shell-команду, текст запроса и другие аргументы. Если правило совпало, запрос не уходит дальше: для модели подменяется безопасным отказом, а выполнение инструмента просто останавливается с ошибкой политики. Такой подход делает поведение предсказуемым и удобным для аудита.

Сейчас в плагине 282 правила для tool-вызовов и 27 правил против prompt injection. Они хранятся в JSON и работают как набор regex-политик. Под блокировку попадают типичные сигнатуры вроде ignore previous instructions, фальшивые теги [developer] и [system], команды printenv и echo $TOKEN, обращения к /run/secrets и /proc/self/environ, а также попытки кодировать данные через base64, xxd или openssl enc.

Каждое срабатывание записывается в JSONL-лог с временем, типом события и идентификатором правила. Это помогает разбирать инциденты, находить ложные срабатывания и быстро добавлять новые паттерны по итогам реальных атак. Практическая сторона тоже выглядит максимально приземленной.

Плагин ставится одной командой npm install opencode-policy и подключается через конфиг opencode, после чего сообщения и tool-вызовы автоматически прогоняются через слой правил до исполнения. Автор отдельно подчеркивает, что набор политик открыт и может дополняться под конкретную инфраструктуру, а сам подход совместим и с локальными моделями, если они работают через opencode. Это делает решение полезным не только для облачных ассистентов, но и для внутренних агентных контуров компаний.

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

Такой консервативный дизайн особенно полезен там, где нужна воспроизводимость и детерминированные тесты, а не вероятностная оценка риска. Сам по себе такой фильтр не заменяет sandbox, ограничения прав, белые списки инструментов и сетевую изоляцию. Но для агентных систем, которые работают с кодом, shell, CI/CD, внутренними репозиториями и секретами, он закрывает важный ранний слой обороны.

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

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