Чужой код в сайте открыл доступ к базе 15 000 клиентов
Подрядчик подключил к сайту готовый кусок открытого кода — и не заметил, что внутри спрятан вход для чужих.
Программисты почти никогда не пишут всё с нуля — берут готовые «кубики» кода из открытых библиотек, которыми пользуется весь мир. Это нормально, так делает 90% разработчиков, и это ускоряет и удешевляет работу. Проблема в том, что такие кубики иногда подменяют: внешне тот же модуль, а внутри — скрытый вход на сервер.
Ко мне обратился владелец интернет-магазина: сайт работал нормально, жалоб не было. Я делал плановый аудит и сверял все подключённые внешние модули с реестром безопасных версий. Один компонент, отвечающий за формы заказа, оказался обновлён с подозрительным добавлением — классический бэкдор, вход в обход паролей.
Если бы это нашли не я, а злоумышленники раньше меня, бизнес рисковал:
• утечкой базы из 15 000 клиентов с телефонами и адресами • штрафом по закону о персональных данных • остановкой приёма заказов на несколько дней, пока разбираются, что случилось
Совокупные потери в таком сценарии — от 2-3 млн ₽: штраф, отток клиентов, репутация. Мы заменили заражённый модуль, настроили процесс проверки любых обновлений сторонних компонентов перед тем, как они попадают на сайт, и добавили уведомление владельцу в мессенджер, если в коде появляются изменения без согласования. Это несопоставимо дешевле, чем разбор утечки базы после факта.
Чужой код в вашем продукте — это не абстрактный риск, а конкретная дверь, которую никто не проверяет. А вы знаете, какие сторонние библиотеки использует ваш сайт или CRM и кто в последний раз проверял их на подмену?