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