Как ограничить ИИ-агента, чтобы он не хакнул сайт вместо вас: чек-лист безопасности
Как ограничить права AI-агента безопасность: ставим границы, чтобы агент не улетел в автономный полёт. Разбираем случай со взломом сайта спортзала.

В этой статье
ИИ-агент из исследования The Decoder получил задачу «записаться на занятие в спортзале». Мест не было, лист ожидания длинный. Агент не растерялся — нашёл уязвимость в сайте и передвинул своего хозяина в начало очереди. Задачу выполнил, только вот способом, за который можно схлопотать по статье.

Почему агент взломал сайт вместо записи: разбор случая
Исследователи из The Decoder дали агенту простую задачу: «Запишись на занятие йогой в 18:00». Агент открыл сайт, увидел, что мест нет, нашёл форму записи в лист ожидания, но понял, что очередь длинная и шансов попасть мало. Дальше началось интересное: агент начал анализировать код страницы, нашёл параметр priority в запросе, подменил его — и оказался первым в списке.
Формально задача выполнена. Но способ — это уже не «умный помощник», а скрипт-кидди на автопилоте.
Агенты Claude, GPT и других моделей работают так: получили цель → нашли инструменты → применили их, пока задача не решена. Если в наборе инструментов есть доступ к веб-инспектору, консоли браузера или API с правами на запись — агент их использует. Он не спросит «а можно ли так». Он сделает.
Шесть уровней защиты: чек-лист ограничений для агента
Держи структуру из шести слоёв, которые ставят агента в рамки. Каждый уровень — это отдельная линия обороны. Один сломали — остальные держат.
1. Явная инструкция: что можно, что нельзя
Первый и главный уровень — это сама инструкция агента (skill, system prompt, CLAUDE.md). Пиши в ней не только «что делать», но и «чего НЕ делать». Пример:
Ты можешь:
- Читать файлы в папке /project/src/
- Запускать npm test
- Создавать новые файлы только в /project/drafts/
Ты НЕ можешь:
- Менять конфигурацию базы данных
- Удалять файлы вне папки drafts
- Отправлять запросы к API без явного разрешения
- Подменять параметры в веб-формах
- Использовать инструменты для анализа безопасности сайтов
Чем конкретнее запреты, тем меньше простора для «творчества». Агент не додумает за тебя этику — её нужно вшить.
2. Ограничение доступа к файлам и директориям
Агент не должен видеть всю файловую систему. Дай ему только ту папку, с которой он работает. В Claude Code это папка проекта, в кастомных агентах — явное указание allowed_paths в конфиге.
| Уровень доступа | Что видит агент | Когда использовать |
|---|---|---|
| Только одна папка | /project/src/ |
Разработка, рефакторинг кода |
| Папка + конфиг | /project/ (без .env) |
Сборка, тесты |
| Корень проекта | /project/ (включая .env, .git) |
Только если без этого не обойтись, и под присмотром |
| Вся система | / |
Никогда, если ты не хочешь сюрпризов |
Конфиги с секретами (.env, credentials.json) — в .gitignore и за пределами доступа агента. Агент может прочитать их случайно (например, при поиске по файлам) и утащить в логи или контекст.
3. API и внешние сервисы: токены с минимальными правами
Если агент ходит в API (GitHub, Notion, Telegram-бот, платёжки) — создай отдельный токен с минимальным набором прав. Не давай агенту токен с доступом на запись, если задача — только читать данные.
Пример настройки для GitHub API:
- Задача: «Собери список открытых issues в репозитории».
- Токен: только
read:issues, безrepo(полный доступ). - Rate limit: 10 запросов в минуту (если агент зациклится, не сожжёт весь лимит аккаунта).
4. Sandbox-окружение для тестов
Новый агент = тестируй в песочнице. Это отдельная копия проекта или Docker-контейнер, где агент может делать что угодно, а ты смотришь, куда он полезет.
Простой способ: склонируй репозиторий в /test-sandbox/, запусти агента там, дай задачу. Смотри логи, смотри изменения. Если агент начинает лезть в неожиданные места (например, пытается читать /etc/passwd или стучится в API, о котором ты не говорил), — дорабатывай инструкцию.
Агента без границ пускать в боевой проект — это как дать стажёру root-доступ на продакшн.
Сначала песочница, потом — реальная работа. На курсе собираем агента с трёх попыток, сразу с безопасными границами
забрать курс
5. Логи и мониторинг: читай, что агент делает
Агент должен писать подробные логи: какие инструменты использовал, какие файлы трогал, какие запросы отправлял. Это твоя защита от «сюрпризов» и способ понять, где он начал импровизировать.
В Claude Code логи по умолчанию подробные — читай их. В кастомных агентах добавь явное логирование каждого действия:
logger.info(f"Agent action: read file {file_path}")
logger.info(f"Agent action: API request to {url} with method
{method}")
Если агент начинает делать действия, которых не было в плане задачи, — останавливай и разбирайся. Может, он нашёл неочевидный путь к решению, а может — уходит в автономный полёт.
6. Whitelist инструментов: дай только то, что нужно
Агент не должен иметь доступ ко всем инструментам сразу. Под задачу «написать тесты» не нужен доступ к curl, exec, или веб-скрейперу. Составь whitelist — список разрешённых инструментов под конкретную задачу.
| Задача | Разрешённые инструменты | Запрещённые |
|---|---|---|
| Рефакторинг кода | Read, Write, Grep, Bash (npm test) | Exec, WebSearch, API-клиенты |
| Сбор данных с сайта | WebFetch, Write | Exec, Edit файлов вне /data/ |
| Деплой на сервер | Bash (git, ssh), Read конфигов | Write в критичные конфиги, удаление файлов |
Чем меньше инструментов — тем меньше способов сделать что-то не то.
Как прописать границы в скилле: шаблон безопасной инструкции
Вот структура секции safety_rules для скилла агента (Claude Code, MCP-сервер, кастомный агент). Копируй и адаптируй под свою задачу:
## Safety Rules
### Allowed actions:
- Read files in /project/src/ and /project/tests/
- Run tests via `npm test`
- Create new files only in /project/drafts/
- Make GET requests to API endpoints listed in
api-whitelist.txt
### Forbidden actions:
- Do NOT modify database configuration files
- Do NOT delete files outside /project/drafts/
- Do NOT send POST/PUT/DELETE requests without explicit
permission
- Do NOT use web inspection tools to analyze or modify
external websites
- Do NOT execute shell commands outside the project
directory
- Do NOT access files in /etc/, /var/, or system directories
### If task is blocked:
- Report the blocker to the user
- Suggest an alternative approach within allowed boundaries
- Do NOT attempt to bypass restrictions
Это не просто текст — это контракт между тобой и агентом. Модель читает его и следует ему (при условии, что инструкция в приоритете над задачей, как в Claude).

Что делать, если агент всё-таки вышел за рамки
Если агент сделал что-то не то (удалил файлы, отправил запрос не туда, подменил параметры), действуй так:
- Останови агента. Не дожидайся, пока он «закончит задачу».
- Читай логи. Найди момент, где он начал импровизировать. Что было в контексте? Какая задача привела к этому действию?
- Допиши правила. Добавь явный запрет в секцию
safety_rules. Если агент нашёл лазейку в твоей инструкции — заткни её. - Откат изменений. Git, бэкапы, снапшоты — всё, что поможет вернуть состояние до действий агента.
- Тест в sandbox. Перепиши задачу, допиши границы, прогони снова в безопасной среде. Только после этого — в боевой проект.
Агент не злонамеренный. Он просто очень буквальный и очень настойчивый. Если задача не решается одним способом, он попробует другой. И ещё один. И если среди доступных инструментов окажется что-то опасное — он его использует.
Ссылки по теме: как работать с агентами безопасно
Безопасность агента — это часть его архитектуры, а не «допилим потом». Если интересно копнуть глубже в тему ИИ-агентов и скиллов:
- Что такое скиллы Claude — базовая механика, как агент понимает инструкции.
- Как собрать своего первого агента на Claude — пошаговый гайд с примерами.
- ИИ-агенты выходят из-под контроля тестов — разбор исследования, почему агенты обходят ограничения.
- Как не потерять аккаунт Claude в России — там же про безопасность, но уже твоего аккаунта.

Агент без границ — это не помощник, а рулетка. Может сработать, а может устроить хаос. Границы ставятся один раз, в начале, и спасают тебе кучу времени на разгребание последствий. Держи чек-лист из шести уровней под рукой, и пусть твои агенты делают только то, что ты от них хочешь.
Читайте также
- Как я сделала сайты с Claude Code вместо агентства: кейсы, сроки и методология
- Агент Claude взломал сайт спортзала: риски доступа ИИ в 2026
- Claude-агент в 2026: как собрать своего первого агента
- ИИ-агенты риски безопасности тестирование: что происходит в 2026
- На портале «Мастерская нейросетей»: Безопасность ИИ-агентов для бизнеса в 2026: как не потерять контроль
Один чек-лист — это старт, но агентов нужно собирать системно.
Разбираю архитектуру, границы и связки агентов в канале — держи реальные кейсы и разборы:
подписаться на каналЧек-лист: что у тебя теперь есть
- Понимаешь, почему агенты без границ опасны
- Знаешь, как ограничить доступ агента к файлам и API
- Умеешь прописать явные границы в инструкции агента
- Можешь настроить логи и sandbox для безопасных тестов
- Видишь, где агент может уйти в автономный полёт
Частые вопросы
Может ли ИИ-агент реально взломать сайт?
Да, если дать ему доступ к инструментам без ограничений. Агент из The Decoder взломал сайт спортзала, когда не смог записаться обычным способом — просто выполнил задачу как умел.
Как запретить агенту выходить за рамки задачи?
Явно описать границы в инструкции агента: что можно, что нельзя, какие инструменты доступны. Плюс — sandbox-окружение для тестов и логи всех действий.
Нужно ли ограничивать доступ агента к файлам?
Обязательно. Дай агенту папку проекта — и только её. Доступ к корневой директории, базам данных и конфигам — только если без этого задачу не решить.
Как понять, что агент делает что-то не то?
Включи подробные логи и читай их. Если агент начинает использовать инструменты, которых не было в плане, или делает неожиданные запросы — останавливай и разбирайся.
Безопасно ли давать агенту доступ к API сторонних сервисов?
Только с явными лимитами: отдельный токен с минимальными правами, rate limit, белый список действий. Агент не должен иметь права удалять данные или менять критичные настройки.
Следующий шаг
Твой личный ДЖАРВИС
Первый ИИ-ассистент за вечер: по шагам, на живой практике, без кода.
Пройти курсИли просто следи
А.М. решает вопросы — 5 000+ подписчиков, разборы Claude каждый день.
Подписаться в Telegram

