Files
forge-tools-ssh/SECURITY.md
T

2.5 KiB
Raw Blame History

Безопасность

forge-tools-ssh намеренно устроен так, чтобы AI-ассистент не мог выйти за рамки, заданные оператором. Если вы нашли способ обойти эти рамки — сообщите, пожалуйста, команде разработки, не открывая публичный issue.

Модель угроз

  • Хосты. При заданном allowed_hosts подключение к любому хосту вне списка отклоняется. Отсутствие или порча конфига не открывают доступ.
  • Учётные данные. Ассистент передаёт только имя профиля; хост, ключ и адрес берутся из конфига. Произвольные ключи и пароли из модели не используются.
  • Команды. Пользовательские значения экранируются перед попаданием в shell. Инструмент run эмитит permission-паттерны для внешнего движка одобрения.
  • Файлы. Запись проверяет синтаксис для известных форматов; чтение ограничено по размеру.

Известные ограничения

  • Host key не проверяется (ssh.InsecureIgnoreHostKey). Канал не защищён от подмены сервера на уровне SSH. Рассчитано на доверенную сеть; при необходимости включайте строгую проверку host key на уровне инфраструктуры.
  • Путь внутри удалённой системы не ограничивается: границей служат права Unix-пользователя, под которым выполнено подключение. Заводите отдельного пользователя с минимально необходимыми правами.

Гигиена репозитория

  • Реальные ключи, адреса и пароли в репозиторий не коммитятся: только ssh.json.example с подстановками ${VAR}.
  • Приватные ключи и рабочие данные исключены через .gitignore (/data/).