Skip to content

Security: stalker1243/Scott-AI

Security

docs/security.md

Защита backend и понятные ошибки

В версии 2.1.0 добавлены проверки перед выполнением запросов.

Что проверяется

  • Backend по умолчанию доступен с этого компьютера. Запросы из браузера проверяются по Origin и Host, включая WebSocket. Чужая страница не получает доступ к командам через обычную отправку формы или WebSocket.
  • При разрешённом доступе из сети сохраняется короткий список удалённых маршрутов и проверка привязанного устройства. Сетевой WebSocket закрыт. Заголовки X-Forwarded-For не заменяют адрес подключившегося клиента.
  • Команды оболочки, скрипты, удаление и принудительное завершение процессов в старом /ai/execute требуют EXECUTE_TOKEN и ограничения частоты. Запуск программы с дополнительными аргументами также требует этот токен.
  • Тело HTTP-запроса ограничено 32 МиБ, приём — 30 секундами и четырьмя параллельными загрузками. Вложения в чате сохраняют предел 20 МБ суммарно. Проверка соединения остаётся доступна во время загрузок.
  • До разбора DOCX проверяется объём распакованных данных и число элементов. Неверный файл возвращает понятный отказ.

Эта граница защищает приложение от чужих сайтов и непривязанных устройств в сети. Другие процессы того же пользователя на компьютере остаются доверенной стороной. Приложение следует запускать с обычными правами пользователя.

Если операция не удалась

Сообщение содержит описание, следующий шаг и код вида SCOTT-API-500 с идентификатором запроса. Сохраните архив во вкладке Логи и приложите этот идентификатор к обращению. api-errors.log включён в архив; он содержит тип сбоя и место в коде без тела запроса и значения исключения.

Код Что сделать
401/403 Проверить настройки доступа и открыть ScottAI напрямую
408 Проверить соединение и отправить запрос снова
413 Уменьшить вложения
422 Проверить заполнение полей и формат файла
429/503 Дождаться завершения текущих операций
500/504 Сначала проверить историю, затем сохранить логи

После таймаута действие могло завершиться позднее. Повторная отправка остаётся решением пользователя, автоматического повтора команды нет. Ошибки проверки данных не возвращают введённый API Token. Переключение языка интерфейса переводит описание и подсказку, код остаётся тем же.

Проверка зависимостей перед выпуском

Обновлены FastAPI/Starlette, HTTP-библиотеки, чтение PDF и изображений, а также связанные библиотеки с опубликованными исправлениями. Рабочее окружение разработчика не заменяется проверочным окружением. Изменение requirements должно сопровождаться обновлением библиотек в пакете.

Аудит учитывает версии всего дерева установленных зависимостей, отсутствие пакетов и конфликты ограничений. Наличие только успешных тестов недостаточно для объявления выпуска безопасным. Отчёт текущего прохода хранится в reports/release-candidate-2026-10-18/ (локальные отчёты разработки).

Проверку можно повторить из нужного runtime; --auditor-python указывает отдельный Python с установленным pip-audit. Проверка читает метаданные пакетов и не импортирует модели:

python tools/audit_dependencies.py --auditor-python C:\path\to\audit-env\Scripts\python.exe

Команда возвращает ненулевой код при уязвимостях, пропущенных пакетах, конфликтах версий или неполном аудите. Замечания без готового исправления также не пропускаются автоматически.

В прежнем дереве Torch 2.9.1 было четыре опубликованных замечания. В 2.1.0 CPU/CUDA-профили переведены на Torch 2.14.1 после проверок Whisper, Silero и Scott Voice с прежними весами и эталоном. Отсутствие замечаний в базе также не гарантирует отсутствие неизвестных ошибок.

CPU- и CUDA-профили Torch 2.14.1 прошли аудит по 95 зависимостей без известных замечаний, пропусков и конфликтов. Отдельное дерево Scott Voice прошло полный аудит 66 зависимостей. Проверка не исключала замечания без исправления. Локальный патч Qwen опубликован с лицензией и контрольной суммой; независимого аудита самого патча не было.

Проверены загрузка прежних весов, синтез Scott Voice и распознавание на RTX 3060. Это не подтверждает работу всех GPU: RTX 3050, AMD и физические Linux-устройства в этом проходе не проверялись. Рабочее окружение разработчика сохранено отдельно; готовая установка пользователя получает новые компоненты через штатную подготовку.

Справочные материалы: обработка ошибок FastAPI, pip-audit, границы безопасности PyTorch.

There aren't any published security advisories