# Безопасность `forge-tools-ssh` намеренно устроен так, чтобы AI-ассистент не мог выйти за рамки, заданные оператором. Если вы нашли способ обойти эти рамки — сообщите, пожалуйста, команде разработки, не открывая публичный issue. ## Модель угроз - **Хосты.** При заданном `allowed_hosts` подключение к любому хосту вне списка отклоняется. Отсутствие или порча конфига не открывают доступ. - **Учётные данные.** Ассистент передаёт только имя профиля; хост, ключ и адрес берутся из конфига. Произвольные ключи и пароли из модели не используются. - **Команды.** Пользовательские значения экранируются перед попаданием в shell. Инструмент `run` эмитит permission-паттерны для внешнего движка одобрения. - **Файлы.** Запись проверяет синтаксис для известных форматов; чтение ограничено по размеру. ## Известные ограничения - **Host key не проверяется** (`ssh.InsecureIgnoreHostKey`). Канал не защищён от подмены сервера на уровне SSH. Рассчитано на доверенную сеть; при необходимости включайте строгую проверку host key на уровне инфраструктуры. - **Путь внутри удалённой системы не ограничивается**: границей служат права Unix-пользователя, под которым выполнено подключение. Заводите отдельного пользователя с минимально необходимыми правами. ## Гигиена репозитория - Реальные ключи, адреса и пароли в репозиторий не коммитятся: только `ssh.json.example` с подстановками `${VAR}`. - Приватные ключи и рабочие данные исключены через `.gitignore` (`/data/`).