Программа Bug Bounty¶
Программа вознаграждения за обнаружение уязвимостей и ошибок в ComputeChain.
Цели программы¶
- Повышение безопасности сети
- Обнаружение критических уязвимостей до запуска mainnet
- Улучшение качества кода
- Создание сообщества
Уровни критичности¶
Critical (Критический)¶
Описание: Уязвимости, которые могут привести к: - Потере средств пользователей - Компрометации консенсуса - Полной остановке сети
Примеры: - Double spending (двойная трата) - Обход валидации транзакций - Подделка блоков - Утечка приватных ключей
Награда: По договоренности (токены CPC или фиат)
High (Высокий)¶
Описание: Уязвимости, которые могут привести к: - Частичной потере функциональности - DoS атакам - Некорректному расчету наград
Примеры: - DoS через мемпул - Некорректный расчет стейка - Проблемы с синхронизацией
Награда: По договоренности
Medium (Средний)¶
Описание: Уязвимости, которые могут привести к: - Неудобству использования - Некорректному поведению в граничных случаях
Примеры: - Проблемы с расчетом газа - Некорректная обработка ошибок - Проблемы UI/UX
Награда: По договоренности
Low (Низкий)¶
Описание: Мелкие ошибки и улучшения
Примеры: - Опечатки в документации - Улучшения производительности - Улучшения UX
Награда: Упоминание в документации
Как сообщить об ошибке¶
Шаг 1: Подготовка отчета¶
Шаблон отчета:
## Описание проблемы
Краткое описание проблемы.
## Шаги воспроизведения
1. Шаг 1
2. Шаг 2
3. Шаг 3
## Ожидаемое поведение
Что должно было произойти.
## Фактическое поведение
Что произошло на самом деле.
## Версия
- ComputeChain version: X.Y.Z
- Python version: X.Y.Z
- OS: Linux/macOS/Windows
## Логи
Шаг 2: Отправка отчета¶
Варианты:
- GitHub Issues:
- Создайте issue в репозитории
- Используйте шаблон "Bug Report"
-
Не публикуйте детали эксплойта публично
-
Email (для критических уязвимостей):
- security@computechain.ru (планируется)
-
Используйте PGP шифрование (если доступно)
-
Telegram/Discord:
- Свяжитесь с командой напрямую
- Только для некритических проблем
Шаг 3: Ожидание ответа¶
Сроки:
- Critical: В течение 24 часов
- High: В течение 48 часов
- Medium: В течение 1 недели
- Low: В течение 2 недель
Правила¶
Можно (Do's)¶
- ✅ Сообщать об ошибках ответственно
- ✅ Предоставлять подробную информацию
- ✅ Не использовать уязвимости для личной выгоды
- ✅ Давать команде время на исправление перед публикацией
Нельзя (Don'ts)¶
- ❌ Не атаковать сеть без разрешения
- ❌ Не публиковать детали эксплойта до исправления
- ❌ Не пытаться получить доступ к чужим средствам
- ❌ Не спамить отчетами
Процесс исправления¶
1. Подтверждение¶
- Команда подтверждает проблему
- Оценивает уровень критичности
- Определяет приоритет исправления
2. Исправление¶
- Разработка патча
- Тестирование
- Деплой в тестнет
3. Награда¶
- После исправления и верификации
- Выплата в токенах CPC или фиате
- Упоминание в документации
Примеры хороших отчетов¶
Пример 1: Критическая уязвимость¶
## Описание проблемы
Обнаружена возможность double spending через race condition в мемпуле.
## Шаги воспроизведения
1. Отправить транзакцию А с nonce N
2. Быстро отправить транзакцию B с тем же nonce N и более высокой ценой газа
3. Обе транзакции включены в разные блоки
## Ожидаемое поведение
Вторая транзакция должна быть отклонена из-за дублирования nonce.
## Фактическое поведение
Обе транзакции включены в блоки, что приводит к double spending.
## Версия
- ComputeChain version: 0.4.0
- Python version: 3.12.0
- OS: Linux
## Логи
[Логи приложены]
Пример 2: Средняя проблема¶
## Описание проблемы
Цена газа не учитывается при расчете комиссии в некоторых случаях.
## Шаги воспроизведения
1. Отправить транзакцию с --gas-price 5000
2. Проверить фактическую комиссию в блоке
3. Комиссия рассчитана с gas_price=1000 вместо 5000
## Версия
- ComputeChain version: 0.4.0
Благодарности¶
Список исследователей безопасности, которые помогли улучшить ComputeChain:
- (Будет обновляться по мере поступления отчетов)
Следующие шаги¶
- Известные проблемы — Известные проблемы
- Присоединиться к тестнету — Подключение к тестнету
- Безопасность — Безопасность сети