Files
claude-howto/uk/SECURITY.md
Evgenij I 1a567be793 i18n(uk): add missing files, translate P4 root docs
- Copy code/image/config files across all modules
- Translate brand-voice and code-review templates
- Translate CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, STYLE_GUIDE
- Copy CHANGELOG as-is (technical log)

Ref: luongnv89/claude-howto#63
2026-04-09 23:59:59 +03:00

339 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- i18n-source: SECURITY.md -->
<!-- i18n-source-sha: 63a1416 -->
<!-- i18n-date: 2026-04-09 -->
# Політика безпеки
## Огляд
Безпека проєкту Claude How To є важливою для нас. Цей документ описує наші практики безпеки та пояснює, як відповідально повідомляти про вразливості.
## Підтримувані версії
Ми надаємо оновлення безпеки для наступних версій:
| Версія | Статус | Підтримка до |
|--------|--------|--------------|
| Остання (main) | ✅ Активна | Поточна + 6 місяців |
| Релізи 1.x | ✅ Активна | До наступної мажорної версії |
**Примітка**: Як освітній проєкт-довідник, ми зосереджуємося на підтримці актуальних найкращих практик та безпеки документації, а не на традиційній підтримці версій. Оновлення застосовуються безпосередньо до гілки main.
## Практики безпеки
### Безпека коду
1. **Управління залежностями**
- Усі Python-залежності зафіксовані в `requirements.txt`
- Регулярні оновлення через dependabot та ручний перегляд
- Сканування безпеки за допомогою Bandit при кожному коміті
- Pre-commit хуки для перевірок безпеки
2. **Якість коду**
- Лінтинг за допомогою Ruff виявляє поширені проблеми
- Перевірка типів за допомогою mypy запобігає вразливостям, пов'язаним з типами
- Pre-commit хуки забезпечують дотримання стандартів
- Усі зміни переглядаються перед злиттям
3. **Контроль доступу**
- Захист гілки `main`
- Обов'язковий рев'ю перед мерджем
- Статусні перевірки повинні пройти перед мерджем
- Обмежений доступ на запис до репозиторію
### Безпека документації
1. **Ніяких секретів у прикладах**
- Усі API-ключі в прикладах є заповнювачами
- Облікові дані ніколи не захардкоджені
- Файли `.env.example` показують необхідні змінні
- Чіткі попередження щодо управління секретами
2. **Найкращі практики безпеки**
- Приклади демонструють безпечні патерни
- Попередження безпеки виділені в документації
- Посилання на офіційні гайди безпеки
- Обробка облікових даних обговорюється у відповідних розділах
3. **Перегляд контенту**
- Вся документація перевіряється на проблеми безпеки
- Міркування безпеки в настановах для контриб'юторів
- Валідація зовнішніх посилань та посилань
### Безпека залежностей
1. **Сканування**
- Bandit сканує весь Python-код на вразливості
- Перевірка вразливостей залежностей через GitHub security alerts
- Регулярні ручні аудити безпеки
2. **Оновлення**
- Патчі безпеки застосовуються оперативно
- Мажорні версії оцінюються ретельно
- Changelog включає оновлення, пов'язані з безпекою
3. **Прозорість**
- Оновлення безпеки задокументовані в комітах
- Розкриття вразливостей обробляється відповідально
- Публічні рекомендації безпеки за потреби
## Повідомлення про вразливість
### Проблеми безпеки, які нас цікавлять
Ми цінуємо повідомлення про:
- **Вразливості коду** в скриптах або прикладах
- **Вразливості залежностей** у Python-пакетах
- **Проблеми криптографії** в будь-яких прикладах коду
- **Недоліки автентифікації/авторизації** в документації
- **Ризики витоку даних** у прикладах конфігурації
- **Вразливості ін'єкцій** (SQL, команди тощо)
- **Проблеми SSRF/XXE/обхід шляхів**
### Проблеми безпеки поза межами
Це виходить за рамки цього проєкту:
- Вразливості в самому Claude Code (повідомляйте Anthropic)
- Проблеми із зовнішніми сервісами або бібліотеками (повідомляйте upstream)
- Соціальна інженерія або навчання користувачів (не стосується цього довідника)
- Теоретичні вразливості без підтвердження концепції
- Вразливості в залежностях, повідомлені через офіційні канали
## Як повідомити
### Приватне повідомлення (рекомендовано)
**Для чутливих проблем безпеки використовуйте приватне повідомлення про вразливості GitHub:**
1. Перейдіть: https://github.com/luongnv89/claude-howto/security/advisories
2. Натисніть "Report a vulnerability"
3. Заповніть деталі вразливості
4. Вкажіть:
- Чіткий опис вразливості
- Уражений компонент (файл, розділ, приклад)
- Потенційний вплив
- Кроки для відтворення (якщо можливо)
- Запропоноване виправлення (якщо є)
**Що відбувається далі:**
- Ми підтвердимо отримання протягом 48 годин
- Ми дослідимо та оцінимо серйозність
- Ми працюватимемо з вами над розробкою виправлення
- Ми узгодимо графік розкриття
- Ми вкажемо вас у рекомендації безпеки (якщо ви не бажаєте анонімності)
### Публічне повідомлення
Для нечутливих проблем або тих, що вже є публічними:
1. **Створіть GitHub Issue** з міткою `security`
2. Вкажіть:
- Назва: `[SECURITY]` з коротким описом
- Детальний опис
- Уражений файл або розділ
- Потенційний вплив
- Запропоноване виправлення
## Процес реагування на вразливості
### Оцінка (24 години)
1. Ми підтверджуємо отримання повідомлення
2. Ми оцінюємо серйозність за [CVSS v3.1](https://www.first.org/cvss/v3.1/specification-document)
3. Ми визначаємо, чи входить це в область застосування
4. Ми зв'язуємося з вами з початковою оцінкою
### Розробка (1-7 днів)
1. Ми розробляємо виправлення
2. Ми переглядаємо та тестуємо виправлення
3. Ми створюємо рекомендацію безпеки
4. Ми готуємо нотатки до випуску
### Розкриття (залежно від серйозності)
**Критична (CVSS 9.0-10.0)**
- Виправлення випускається негайно
- Публічна рекомендація видається
- 24-годинне попереднє повідомлення репортерам
**Висока (CVSS 7.0-8.9)**
- Виправлення випускається протягом 48-72 годин
- 5-денне попереднє повідомлення репортерам
- Публічна рекомендація при випуску
**Середня (CVSS 4.0-6.9)**
- Виправлення випускається в наступному регулярному оновленні
- Публічна рекомендація при випуску
**Низька (CVSS 0.1-3.9)**
- Виправлення включається в наступне регулярне оновлення
- Рекомендація при випуску
### Публікація
Ми публікуємо рекомендації безпеки, що включають:
- Опис вразливості
- Уражені компоненти
- Оцінку серйозності (CVSS-бал)
- Версію виправлення
- Обхідні рішення (якщо є)
- Подяку репортеру (з дозволу)
## Найкращі практики для репортерів
### Перед повідомленням
- **Перевірте проблему**: Чи можете ви відтворити її стабільно?
- **Шукайте існуючі issues**: Чи вже повідомлено про це?
- **Перевірте документацію**: Чи є настанови щодо безпечного використання?
- **Тестуйте виправлення**: Чи працює ваше запропоноване виправлення?
### При повідомленні
- **Будьте конкретними**: Вказуйте точні шляхи файлів та номери рядків
- **Додавайте контекст**: Чому це проблема безпеки?
- **Покажіть вплив**: Що міг би зробити зловмисник?
- **Надайте кроки**: Як ми можемо відтворити?
- **Запропонуйте виправлення**: Як би ви це виправили?
### Після повідомлення
- **Будьте терплячими**: Ми маємо обмежені ресурси
- **Будьте на зв'язку**: Відповідайте на подальші запитання швидко
- **Зберігайте конфіденційність**: Не розголошуйте публічно до виправлення
- **Дотримуйтесь координації**: Слідуйте нашому графіку розкриття
## Заголовки безпеки та конфігурація
### Безпека репозиторію
- **Захист гілок**: Основна гілка потребує 2 схвалень для змін
- **Статусні перевірки**: Усі CI/CD перевірки повинні пройти
- **CODEOWNERS**: Призначені рецензенти для ключових файлів
- **Підписані коміти**: Рекомендовано для контриб'юторів
### Безпека розробки
```bash
# Install pre-commit hooks
pre-commit install
# Run security scans locally
bandit -c pyproject.toml -r scripts/
mypy scripts/ --ignore-missing-imports
ruff check scripts/
```
### Безпека залежностей
```bash
# Check for known vulnerabilities
pip install safety
safety check
# Or use pip-audit
pip install pip-audit
pip-audit
```
## Настанови безпеки для контриб'юторів
### При написанні прикладів
1. **Ніколи не захардкоджуйте секрети**
```python
# ❌ Bad
api_key = "sk-1234567890"
# ✅ Good
api_key = os.getenv("API_KEY")
```
2. **Попереджайте про наслідки безпеки**
```markdown
⚠️ **Security Note**: Never commit `.env` files to git.
Add to `.gitignore` immediately.
```
3. **Використовуйте безпечні значення за замовчуванням**
- Увімкнення автентифікації за замовчуванням
- Використання HTTPS де можливо
- Валідація та санітизація введення
- Використання параметризованих запитів
4. **Документуйте міркування безпеки**
- Пояснюйте, чому безпека важлива
- Показуйте безпечні vs. небезпечні патерни
- Посилайтесь на авторитетні джерела
- Розміщуйте попередження на видному місці
### При перегляді внесків
1. **Перевіряйте на відкриті секрети**
- Сканування на поширені патерни (api_key=, password=)
- Перегляд конфігураційних файлів
- Перевірка змінних оточення
2. **Перевіряйте безпечні практики кодування**
- Відсутність захардкоджених облікових даних
- Правильна валідація введення
- Безпечна автентифікація/авторизація
- Безпечна робота з файлами
3. **Тестуйте наслідки безпеки**
- Чи можна це зловживати?
- Який найгірший сценарій?
- Чи є граничні випадки?
## Ресурси безпеки
### Офіційні стандарти
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
- [CWE Top 25](https://cwe.mitre.org/top25/)
- [CVSS Calculator](https://www.first.org/cvss/calculator/3.1)
### Безпека Python
- [Python Security Advisories](https://www.python.org/dev/security/)
- [PyPI Security](https://pypi.org/help/#security)
- [Bandit Documentation](https://bandit.readthedocs.io/)
### Управління залежностями
- [OWASP Dependency Check](https://owasp.org/www-project-dependency-check/)
- [GitHub Security Alerts](https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)
### Загальна безпека
- [Anthropic Security](https://www.anthropic.com/)
- [GitHub Security Best Practices](https://docs.github.com/en/code-security)
## Архів рекомендацій безпеки
Минулі рекомендації безпеки доступні на вкладці [GitHub Security Advisories](https://github.com/luongnv89/claude-howto/security/advisories).
## Контакти
Для запитань, пов'язаних з безпекою, або для обговорення практик безпеки:
1. **Приватне повідомлення про безпеку**: Використовуйте приватне повідомлення про вразливості GitHub
2. **Загальні питання безпеки**: Відкрийте обговорення з тегом `[SECURITY]`
3. **Відгуки про політику безпеки**: Створіть issue з міткою `security`
## Подяки
Ми цінуємо дослідників безпеки та учасників спільноти, які допомагають підтримувати безпеку цього проєкту. Контриб'юторів, які відповідально повідомляють про вразливості, буде відзначено в наших рекомендаціях безпеки (якщо вони не бажають анонімності).
## Оновлення політики
Ця політика безпеки переглядається та оновлюється:
- При виявленні нових вразливостей
- При розвитку найкращих практик безпеки
- При зміні обсягу проєкту
- Щорічно як мінімум
**Останнє оновлення**: Квітень 2026
**Наступний перегляд**: Квітень 2027
---
Дякуємо за допомогу в забезпеченні безпеки Claude How To! 🔒