Этот документ — о безопасности самого проекта (сайт, скрипты, CI). Курс учит ответственному раскрытию — здесь мы следуем тому, чему учим.
Проект — это статический сайт, оффлайн-скрипты и учебные материалы. Персональных данных, бэкенда и аутентификации нет. Тем не менее, сообщай о:
- XSS или инъекциях в коде сайта (
site/app.js, рендеринг данных); - небезопасной обработке пользовательского ввода в скриптах (
build-data.py,check.py,generate_certificate.py); - утечке секретов в истории репозитория;
- уязвимостях в CI-конфигурации, которые может использовать вредоносный PR;
- ошибках в учебных материалах, которые могут привести к небезопасным или незаконным действиям.
Обычные ошибки контента (опечатки, битые ссылки) — не уязвимости, заводи обычный Issue или PR.
- Не открывай публичный Issue с деталями уязвимости.
- Используй приватный канал:
- GitHub → вкладка Security → Report a vulnerability (Private Vulnerability Reporting).
- Приложи: описание, шаги воспроизведения, влияние, по возможности PoC (минимальный, недеструктивный).
⚠️ Включи Private Vulnerability Reporting в настройках репозитория: Settings → Code security → Private vulnerability reporting. Без него кнопка «Report a vulnerability» не появится.
- Подтвердим получение в течение 72 часов.
- Дадим оценку и план исправления в течение 7 дней.
- Будем держать тебя в курсе до устранения.
- С благодарностью укажем тебя в CHANGELOG.md (если не против).
- Дать разумное время на исправление до публичного раскрытия (обычно 90 дней).
- Не эксплуатировать уязвимость дальше, чем нужно для доказательства.
- Не затрагивать данные и инфраструктуру других пользователей.
| Версия | Поддержка безопасности |
|---|---|
| Текущий релиз (см. VERSION) | ✅ |
| Предыдущий MAJOR | |
| Старше | ❌ |
Практика в рамках курса — только на своих машинах и легальных полигонах. Эта политика касается безопасности данного репозитория, а не разрешает тестировать сторонние системы. Атака чужих систем без письменного разрешения незаконна.