- hysteria2.sh: строгая проверка --email/--host/--sni, install.env через printf %q, SHA256 бинарника в самом скрипте, hy2 update из тега релиза - 3x-ui.sh: SHA256 установщика 3X-UI, проверка --sni/--host, kit и kit-sub из тега, kit-sub без root (DynamicUser + LoadCredential), без cron для меню x-ui - VERSION, CHANGELOG, SECURITY.md, CI (ShellCheck, Python, тесты генераторов), установка с проверкой в README Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7GrBSRPVXhrz3RAprWDnt
2.0 KiB
2.0 KiB
Безопасность
Нашли уязвимость? Пожалуйста, не публикуйте её в открытом issue.
- Напишите через закрытый отчёт GitHub (вкладка Security → Report a vulnerability) или в Telegram @itsnotkubrick.
- Опишите, где проблема (файл и строки), как её воспроизвести и чем она грозит.
Мы ответим, исправим и отметим вас в списке изменений, если вы не против.
Что проект делает для безопасности
- Установщик 3X-UI закреплён по версии и по SHA256: если файл на GitHub изменится, скрипт его не запустит.
- Бинарник Hysteria сверяется с SHA256, записанным в самом скрипте.
- Свои части (
kit,kit-sub,hy2 update) скрипт берёт из тега релиза, а не из веткиmain. - Подписка
kit-subработает без прав root: systemdDynamicUserиLoadCredential. - Все данные, которые попадают в файлы настроек, проверяются и экранируются.
- Генераторы конфигов для роутеров работают только в браузере и никуда не отправляют ваши ссылки.
Ограничения
Скрипт ставит стороннее ПО: панель 3X-UI, ядро Xray, Hysteria, nginx. Мы закрепляем их версии, но не проверяем их исходный код целиком. Сгенерированный конфиг Mihomo скачивает списки сайтов (rule-set) и веб-панель из их проектов на GitHub.