3 дыры безопасности в своём боте

✖️ 3 дыры безопасности в своём боте Коллеги, handleChannelRemove, handlePostView, handlePostCancel. Ни одна функция не проверяла, чей это пост.

3 дыры безопасности. Чужие данные видны всем. Нашёл сам.

📍Что было сломано

  1. Удаление канала: любой мог удалить чужой
  2. Просмотр постов: статистика чужих каналов
  3. Отмена постинга: остановка чужих кампаний

Всё из-за отсутствия проверки userId в запросах к базе.

📍Как обнаружил Code review с AI на предмет мультитенантности: "Проверь все функции на изоляцию данных между пользователями"

AI нашёл 7 подозрительных мест. Из них 3 критичных: доступ к чужим данным без ограничений.

📍Исправление Добавил middleware для проверки владельца:

if (channel.userId !== req.user.id) {
 return res.status(403).json({error: 'Forbidden'});
}

Плюс unit-тесты на попытки доступа к чужим ресурсам.

📍Последствия Без этой проверки любой пользователь мог:

Одна строчка кода, которая стоит всего бизнеса.

📍Профилактика Теперь каждая новая функция проходит чеклист:

  1. Проверка прав доступа
  2. Валидация входных данных
  3. Тест на межпользовательскую изоляцию
  4. Code review на security

Как настроил мониторинг безопасности для всех проектов. Чеклист security review в бесплатном гиде.

#моикейсы_поповвии Работаем дальше.

Поделиться: Telegram LinkedIn X

Больше — в канале

Практические кейсы AI-автоматизации для предпринимателей

Vladislav Popov

Владислав Попов

AI-консультант, 15+ лет в IT, PhD (University of York). Помогаю предпринимателям автоматизировать бизнес с помощью AI.