- kit update ставит только релизы, у которых SHA256SUMS подписан ключом автора (ssh-keygen -Y verify), версия внутри подписи совпадает, файлы сошлись с хешами; откат на старую версию запрещён; после обновления проверяется подписка, иначе возврат - автообновление: systemd-таймер раз в сутки ночью со случайной задержкой, kit update --manual / --auto, журнал /var/log/kit-update.log - hy2 update тоже проверяет подпись - tools/release.sh: проверка версий и хеша установщика 3X-UI, SHA256SUMS и подпись - kit backup и 3x-ui.sh --restore: архив 600, строгая проверка архива, конфиги nginx и kit-sub собираются заново, смена IP в подключениях - сайт-заглушка: случайный из шести шаблонов внутри скрипта - zashboard закреплён на v3.29.1, короткие тире и 192.168.x.x в текстах и картинках - CI: ключ подписи одинаковый в kit и hy2, проверка подписи релиза - CHANGELOG, README, инструкция, SECURITY.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7GrBSRPVXhrz3RAprWDnt
2.9 KiB
2.9 KiB
Безопасность
Нашли уязвимость? Пожалуйста, не публикуйте её в открытом issue.
- Напишите через закрытый отчёт GitHub (вкладка Security → Report a vulnerability) или в Telegram @itsnotkubrick.
- Опишите, где проблема (файл и строки), как её воспроизвести и чем она грозит.
Мы ответим, исправим и отметим вас в списке изменений, если вы не против.
Что проект делает для безопасности
- Установщик 3X-UI закреплён по версии и по SHA256: если файл на GitHub изменится, скрипт его не запустит.
- Бинарник Hysteria сверяется с SHA256, записанным в самом скрипте.
- Свои части (
kit,kit-sub,hy2 update) скрипт берёт из тега релиза, а не из веткиmain. - Обновления (
kit update, ночное автообновление,hy2 update) ставятся, только если файлSHA256SUMSрелиза подписан ключом автора (ssh-keygen -Y sign), версия внутри подписи совпадает, а каждый файл сошёлся с подписанным SHA256. Закрытый ключ не хранится на GitHub. Откат на старую версию запрещён, после обновления проверяется подписка, при сбое – возврат. - Резервная копия
kit backupдоступна только root (права 600);--restoreпринимает только локальный файл и отклоняет архивы с лишними файлами, ссылками и путями вида../. - Подписка
kit-subработает без прав root: systemdDynamicUserиLoadCredential. - Все данные, которые попадают в файлы настроек, проверяются и экранируются.
- Генераторы конфигов для роутеров работают только в браузере и никуда не отправляют ваши ссылки.
Ограничения
Скрипт ставит стороннее ПО: панель 3X-UI, ядро Xray, Hysteria, nginx. Мы закрепляем их версии, но не проверяем их исходный код целиком. Сгенерированный конфиг Mihomo скачивает списки сайтов (rule-set) и веб-панель zashboard (закреплённой версии) из их проектов на GitHub.