[позже] Безопасность и контроль (общий)
Глава 10. Безопасность, контроль и защита
В предыдущих главах вы настроили профиль, подключили GitHub и сервер, научились писать промпты и выбирать режимы. Теперь настало время поговорить о самом важном — как не наломать дров.
DeepSeek Harness — это экспериментальный инструмент (Developer Preview). Он не проходил полноценный аудит безопасности. Агент может выполнять команды на вашем компьютере и сервере, читать и изменять файлы, подключаться к интернету. Если не контролировать его действия, последствия могут быть серьёзными: от случайно удалённых файлов до взлома сервера.
Официально: предупреждение в репозитории — SAFETY.md и страница deepseek.com/harness. Блок «Система безопасности» в этом учебнике лучше прочитать до глав про GitHub и SSH.
Эта глава — ваш инструктаж по технике безопасности. Она разделена на три части:
1. Безопасность — как защитить свои данные и сервер.
2. Контроль расходов — как не потратить все деньги на токены.
3. Мониторинг и отладка — как понять, что делает агент, и что делать, если что-то пошло не так.
Часть 1. Безопасность
10.1. Главное правило: DSH — это не игрушка
DeepSeek Harness может навредить вашему компьютеру и серверу. Это написано чёрным по белому в официальной документации:
«Проект может выполнять генерируемые моделью код и команды, загружать сторонние плагины и получать доступ к сети, процессам, учётным данным и файлам, которые ему предоставлены. Ошибочный вывод модели, вредоносный ввод или ненадёжные плагины могут повредить хост-компьютер.»
Что это значит для вас:
- Агент может случайно удалить важные файлы.
- Агент может перезаписать конфигурацию сервера.
- Злоумышленник может использовать агента для взлома вашего компьютера (например, подставив вредоносный промпт через веб-интерфейс).
Поэтому: никогда не запускайте DSH на боевом сервере или компьютере с важными данными, пока не поймёте, как он работает, и не настроите все ограничения.
10.2. Три режима доступа (Sandbox Mode)
У DSH есть три режима доступа к вашей файловой системе. Вы выбираете их в настройках профиля или через переменную окружения.
| Режим | Английское название | Что разрешено | Когда использовать |
|---|---|---|---|
| Только чтение | read-only |
Агент может читать файлы, но не может их изменять, создавать или удалять | Когда вы даёте агенту задачу «проанализируй» или «посмотри» |
| Работа в папке | workspace-write |
Агент может читать и изменять файлы только в вашей рабочей папке (workspace) | Для большинства задач — создание сайтов, редактирование кода |
| Полный доступ | danger-full-access |
Агент может читать и изменять любые файлы на вашем компьютере | Только в крайних случаях, когда это действительно необходимо, и сразу выключайте |
Как установить режим:
Через переменную окружения (рекомендуется):
# Запуск в режиме «только чтение»
DSH_PERMISSION_MODE=read-only dsh web
Или через профиль в cordis.patch.yml:
- patch:
id: permission
config:
sandbox_mode: workspace-write
Правило для маркетолога:
- Для 90% задач используйте workspace-write.
- Для задач «посмотри, что там» — read-only.
- danger-full-access никогда не используйте, если вы не понимаете, зачем он нужен.
10.3. Режим подтверждения (Approval Policy)
Даже если агент имеет доступ к файлам, вы можете настроить, чтобы он спрашивал вашего разрешения перед выполнением опасных действий.
| Режим | Английское название | Что происходит |
|---|---|---|
| Спрашивать | ask |
Агент останавливается и ждёт вашего подтверждения перед выполнением опасной команды |
| Разрешать | allow |
Агент выполняет всё без вопросов (опасно!) |
| Запрещать | deny |
Агент не может выполнять опасные команды |
Как установить режим подтверждения:
В cordis.patch.yml:
- patch:
id: permission
config:
approval_policy: ask # спрашивать перед опасными действиями
Для маркетолога: всегда используйте режим ask. Да, это немного замедляет работу, но это спасает от случайных ошибок. Если вы доверились агенту и хотите пропустить подтверждение для конкретной сессии — можно временно переключить на allow, но не забудьте вернуть обратно.
10.4. Не выставляйте DSH в интернет
В DSH нет встроенной аутентификации. Это означает, что если вы откроете доступ к DSH из интернета (например, через --host 0.0.0.0), любой сможет подключиться к вашему агенту и давать ему задачи.
Официальная рекомендация разработчиков:
«На данном этапе не рекомендуется обходить ограничения на выставление
--host 0.0.0.0путём изменения исходного кода, настройки композиции, использования socat/обратного прокси или проброса портов контейнера.»
Правило: DSH должен работать только на вашем локальном компьютере (127.0.0.1). Не пытайтесь открыть к нему доступ извне — это опасно.
Если вам нужно, чтобы агент работал на сервере, используйте headless-режим через SSH, а не веб-интерфейс, открытый в интернет.
10.5. Плагины — проверяйте перед установкой
Плагины — это код, который выполняется на вашем компьютере. Они могут делать всё, что угодно: читать ваши файлы, отправлять данные в интернет, использовать ваши API-ключи.
Правила безопасности для плагинов:
- Устанавливайте плагины только из проверенных источников — официальный маркетплейс или плагины с большим количеством звёзд на GitHub.
- Проверяйте, что делает плагин — прочитайте README на GitHub перед установкой.
- Используйте плагины для проверки плагинов — например,
@guojin-ai/dsh-plugin-guardделает статический анализ кода плагина и показывает уровень риска (зелёный/жёлтый/красный). - Тестируйте новые плагины в отдельном профиле — создайте профиль
testи устанавливайте туда всё новое.
10.6. Специализированные плагины безопасности
Сообщество создало несколько плагинов, которые помогают контролировать безопасность:
| Плагин | Что делает |
|---|---|
| dsh-guardwall | Проверяет плагины перед установкой, блокирует опасные вызовы инструментов, аудитирует утечки данных |
| dsh-ironbound-policy | Блокирует опасные shell-команды до того, как они достигнут инструмента |
| dsh-prompt-firewall | Фильтрует промпты по чёрному/белому списку, может работать в режиме аудита |
| auditrail | Записывает каждое обращение к инструментам — кто, что, какие файлы, статус, длительность |
Установка (например, dsh-guardwall):
dsh plugin --profile web add github:iiiweiii/dsh-guardwall
Часть 2. Контроль расходов
10.7. Почему расходы могут быть высокими
Вы платите за токены — каждое сообщение модели стоит денег. В DSH расходы могут быть выше, чем в обычном чате, потому что:
- «Входной билет» — каждый раз, когда агент начинает задачу, он передаёт модели описание всех доступных инструментов. Это может съедать тысячи токенов ещё до того, как агент начнёт работать.
- Много шагов — агент может делать десятки шагов для одной задачи, каждый шаг — это отдельный вызов модели.
- Дорогие модели — если вы используете GPT-4 или DeepSeek-V4-Pro, цена за токен выше.
Поэтому: контролировать расходы так же важно, как контролировать безопасность.
10.8. Лимиты в профиле
Самый простой способ контролировать расходы — установить лимиты в профиле.
В cordis.patch.yml:
- patch:
id: agent
config:
max_steps: 20 # максимум шагов за одну задачу
max_tokens: 50000 # максимум токенов за одну задачу
Что это даёт:
- max_steps: 20 — агент остановится после 20 шагов, даже если задача не завершена. Это защищает от бесконечных циклов.
- max_tokens: 50000 — агент остановится, если потратит больше 50 000 токенов за задачу.
Для маркетолога: начните с max_steps: 10 и max_tokens: 20000 для простых задач. Для сложных можно увеличить, но следите за расходом.
10.9. Плагины для контроля расходов
Сообщество создало несколько плагинов, которые показывают, сколько вы тратите в реальном времени:
| Плагин | Что делает |
|---|---|
| dsh-budget | Лимиты на сессию/день/месяц, предупреждения при превышении порога, три политики при перерасходе |
| dsh-usage-plugin | Записывает каждый вызов модели — сколько токенов, стоимость, баланс, календарь расходов, экспорт в CSV/JSON/PNG |
| dsh-deepseek-monitor | Показывает баланс DeepSeek, дневной/месячный расход токенов и стоимость прямо в интерфейсе |
| dsh-cost-meter | Стоимость за сессию, дневные итоги, бюджет с настройками периода |
Установка (например, dsh-budget):
dsh plugin --profile web add dsh-budget
После установки в настройках появится вкладка Budget, где можно:
- Установить лимит на сессию (например, $1)
- Установить дневной лимит (например, $5)
- Установить месячный лимит (например, $50)
- Настроить предупреждение при достижении определённого процента лимита
10.10. Как экономить на токенах
- Начинайте со стандартного режима (
standard) — для коротких задач он предсказуемее; PTC включайте на длинных пайплайнах (глава 8). - Используйте дешёвые модели — DeepSeek-V4-Flash дешевле, чем DeepSeek-V4-Pro или GPT-4.
- Давайте короткие, точные промпты — чем короче промпт, тем меньше токенов.
- Используйте лимиты —
max_stepsиmax_tokensв профиле. - Не давайте агенту сложные задачи в рабочее время — если можете подождать до вечера, используйте ночные тарифы (у некоторых моделей есть пиковые и непиковые цены).
Часть 3. Мониторинг и отладка
10.11. Trajectory — главный инструмент отладки
Trajectory (траектория) — это полный лог всех действий агента. Каждый шаг, каждый вызов инструмента, каждый промпт — всё записывается.
Что вы видите в Trajectory:
- Какие промпты агент отправлял модели
- Какие инструменты вызывал
- Какие ошибки возникали
- Сколько токенов потрачено на каждом шаге
Как открыть Trajectory:
1. В веб-интерфейсе откройте историю сессии.
2. Найдите кнопку или вкладку «Trajectory».
3. Вы увидите пошаговый лог.
Для маркетолога: если агент сделал не то, что вы просили, или потратил слишком много токенов — первым делом откройте Trajectory. Там вы увидите, где агент «сбился с пути».
10.12. Плагины для мониторинга
| Плагин | Что делает |
|---|---|
| dsh-trajectory | Экспортирует Trajectory в HTML-документ, которым можно поделиться |
| token-tracing | Показывает, куда ушли токены — пользовательский ввод, системный промпт, каждый вызов модели |
| dsh-error-audit | Ловит ошибки и предупреждения в реальном времени, записывает в лог с контекстом (время, код ошибки, сессия, промпт пользователя, действие агента) |
| tencentcloud-agentobs-sdk-dsh | Отправляет данные о работе агента в облачную систему мониторинга |
10.13. Что делать, если агент «завис» или ушёл в цикл
Иногда агент может застрять — повторять одно и то же, бесконечно вызывать инструменты или просто долго думать.
Что делать:
- Остановите сессию — в веб-интерфейсе есть кнопка «Stop» или «Cancel».
- Откройте Trajectory — посмотрите, на каком шаге агент застрял.
- Уточните промпт — возможно, задача была слишком расплывчатой.
- Перезапустите с лимитами — установите
max_steps: 10в профиле, чтобы агент не мог уйти в бесконечный цикл. - Если не помогает — перезапустите DSH (
Ctrl+Cв терминале и зановоdsh web).
10.14. Итоговый чек-лист безопасности
Перед каждым запуском проверяйте:
- [ ] Использую ли я режим
workspace-write(илиread-only), а неdanger-full-access? - [ ] Включён ли режим подтверждения
askдля опасных команд? - [ ] DSH запущен только на
127.0.0.1(локальный доступ), а не открыт в интернет? - [ ] Установлены ли лимиты
max_stepsиmax_tokensв профиле? - [ ] Все ли плагины установлены из проверенных источников?
- [ ] Есть ли у меня возможность посмотреть Trajectory, если что-то пойдёт не так?
10.15. Финальное предупреждение
DeepSeek Harness — мощный, но сырой инструмент. Он даёт вам суперспособности, но требует ответственности.
«DeepSeek Harness является экспериментальным программным обеспечением для разработчиков. Оно не проходило проверку безопасности и не должно рассматриваться как безопасное или готовое к использованию в производственной среде.»
Для маркетолога это означает:
- Начинайте с малого — тестовые проекты, небольшие задачи.
- Всегда проверяйте результат — не доверяйте агенту на 100%.
- Не давайте доступ к важным данным — пока не поймёте, как работает DSH.
- Будьте готовы к ошибкам — агент будет ошибаться, это нормально.
Если вы будете следовать правилам из этой главы, DSH станет вашим надёжным помощником, а не источником проблем.
Квиз по главе
Ответьте на все вопросы и сдайте квиз — сразу будет оценка и отсылки к тексту, где доучить ошибки.