Огляд

Безпека проєкту 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. Прозорість

    • Оновлення безпеки задокументовані в комітах
    • Розкриття вразливостей обробляється відповідально
    • Публічні рекомендації безпеки за потреби

Повідомлення про вразливість

Проблеми безпеки, які нас цікавлять

Ми цінуємо повідомлення про:

Проблеми безпеки поза межами

Це виходить за рамки цього проєкту:

Як повідомити

Приватне повідомлення (рекомендовано)

Для чутливих проблем безпеки використовуйте приватне повідомлення про вразливості GitHub:

  1. Перейдіть: YOUR_REPO
  2. Натисніть "Report a vulnerability"
  3. Заповніть деталі вразливості
  4. Вкажіть:
    • Чіткий опис вразливості
    • Уражений компонент (файл, розділ, приклад)
    • Потенційний вплив
    • Кроки для відтворення (якщо можливо)
    • Запропоноване виправлення (якщо є)

Що відбувається далі:

Публічне повідомлення

Для нечутливих проблем або тих, що вже є публічними:

  1. Створіть GitHub Issue з міткою security
  2. Вкажіть:
    • Назва: [SECURITY] з коротким описом
    • Детальний опис
    • Уражений файл або розділ
    • Потенційний вплив
    • Запропоноване виправлення

Процес реагування на вразливості

Оцінка (24 години)

  1. Ми підтверджуємо отримання повідомлення
  2. Ми оцінюємо серйозність за CVSS v3.1
  3. Ми визначаємо, чи входить це в область застосування
  4. Ми зв'язуємося з вами з початковою оцінкою

Розробка (1-7 днів)

  1. Ми розробляємо виправлення
  2. Ми переглядаємо та тестуємо виправлення
  3. Ми створюємо рекомендацію безпеки
  4. Ми готуємо нотатки до випуску

Розкриття (залежно від серйозності)

Критична (CVSS 9.0-10.0)

Висока (CVSS 7.0-8.9)

Середня (CVSS 4.0-6.9)

Низька (CVSS 0.1-3.9)

Публікація

Ми публікуємо рекомендації безпеки, що включають:

Найкращі практики для репортерів

Перед повідомленням

При повідомленні

Після повідомлення

Заголовки безпеки та конфігурація

Безпека репозиторію

Безпека розробки

# 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/

Безпека залежностей

# Check for known vulnerabilities
pip install safety
safety check

# Or use pip-audit
pip install pip-audit
pip-audit

Настанови безпеки для контриб'юторів

При написанні прикладів

  1. Ніколи не захардкоджуйте секрети

    # ❌ Bad
    api_key = "sk-1234567890"
    
    # ✅ Good
    api_key = os.getenv("API_KEY")
    
  2. Попереджайте про наслідки безпеки

    ⚠️ **Security Note**: Never commit `.env` files to git.
    Add to `.gitignore` immediately.
    
  3. Використовуйте безпечні значення за замовчуванням

    • Увімкнення автентифікації за замовчуванням
    • Використання HTTPS де можливо
    • Валідація та санітизація введення
    • Використання параметризованих запитів
  4. Документуйте міркування безпеки

    • Пояснюйте, чому безпека важлива
    • Показуйте безпечні vs. небезпечні патерни
    • Посилайтесь на авторитетні джерела
    • Розміщуйте попередження на видному місці

При перегляді внесків

  1. Перевіряйте на відкриті секрети

    • Сканування на поширені патерни (api_key=, password=)
    • Перегляд конфігураційних файлів
    • Перевірка змінних оточення
  2. Перевіряйте безпечні практики кодування

    • Відсутність захардкоджених облікових даних
    • Правильна валідація введення
    • Безпечна автентифікація/авторизація
    • Безпечна робота з файлами
  3. Тестуйте наслідки безпеки

    • Чи можна це зловживати?
    • Який найгірший сценарій?
    • Чи є граничні випадки?

Ресурси безпеки

Офіційні стандарти

Безпека Python

Управління залежностями

Загальна безпека

Архів рекомендацій безпеки

Минулі рекомендації безпеки доступні на вкладці GitHub Security Advisories.

Контакти

Для запитань, пов'язаних з безпекою, або для обговорення практик безпеки:

  1. Приватне повідомлення про безпеку: Використовуйте приватне повідомлення про вразливості GitHub
  2. Загальні питання безпеки: Відкрийте обговорення з тегом [SECURITY]
  3. Відгуки про політику безпеки: Створіть issue з міткою security

Подяки

Ми цінуємо дослідників безпеки та учасників спільноти, які допомагають підтримувати безпеку цього проєкту. Контриб'юторів, які відповідально повідомляють про вразливості, буде відзначено в наших рекомендаціях безпеки (якщо вони не бажають анонімності).

Оновлення політики

Ця політика безпеки переглядається та оновлюється:

Останнє оновлення: Квітень 2026 Наступний перегляд: Квітень 2027


Дякуємо за допомогу в забезпеченні безпеки Claude How To! 🔒