Files

32 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Безопасность
`forge-tools-ssh` намеренно устроен так, чтобы AI-ассистент не мог выйти за
рамки, заданные оператором. Если вы нашли способ обойти эти рамки — сообщите,
пожалуйста, команде разработки, не открывая публичный issue.
## Модель угроз
- **Хосты.** При заданном `allowed_hosts` подключение к любому хосту вне списка
отклоняется. Отсутствие или порча конфига не открывают доступ.
- **Учётные данные.** Ассистент передаёт только имя профиля; хост, ключ и адрес
берутся из конфига. Произвольные ключи и пароли из модели не используются.
- **Команды.** Пользовательские значения экранируются перед попаданием в shell.
Инструмент `run` эмитит permission-паттерны для внешнего движка одобрения.
- **Файлы.** Запись проверяет синтаксис для известных форматов; чтение ограничено
по размеру.
## Известные ограничения
- **Host key не проверяется** (`ssh.InsecureIgnoreHostKey`). Канал не защищён от
подмены сервера на уровне SSH. Рассчитано на доверенную сеть; при
необходимости включайте строгую проверку host key на уровне инфраструктуры.
- **Путь внутри удалённой системы не ограничивается**: границей служат права
Unix-пользователя, под которым выполнено подключение. Заводите отдельного
пользователя с минимально необходимыми правами.
## Гигиена репозитория
- Реальные ключи, адреса и пароли в репозиторий не коммитятся: только
`ssh.json.example` с подстановками `${VAR}`.
- Приватные ключи и рабочие данные исключены через `.gitignore` (`/data/`).