Skip to content

Політика безпеки

Огляд

Безпека проєкту 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
  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. Тестуйте наслідки безпеки

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

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

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

Безпека Python

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

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

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

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

Контакти

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

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

Подяки

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

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

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

  • При виявленні нових вразливостей
  • При розвитку найкращих практик безпеки
  • При зміні обсягу проєкту
  • Щорічно як мінімум

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


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