Тайпсквоттинг перестал быть мошенничеством для доверчивых людей, которые неправильно вводят URL. Теперь злоумышленники регистрируют доменные имена, почти идентичные названиям популярных программных библиотек. Когда разработчик допускает опечатку при установке пакета, его система непрерывной интеграции загружает вредоносный код, оставаясь незамеченным. Проблема перерастает от одного пользователя до масштаба всей цепочки поставок.
Как злоумышленники эксплуатируют автоматизированные процессы 🔍
Злоумышленники публикуют пакеты в публичных репозиториях, таких как npm или PyPI, с именами вроде requets вместо requests. Инструменты CI/CD, которые выполняют установки без контроля человека, являются идеальной целью. Не проверяя каждую зависимость, система загружает вредоносный пакет. Попав внутрь, код может украсть учетные данные, внедрить бэкдоры или изменить конечный бинарный файл. Обнаружение затруднено, потому что имя почти идентично легитимному.
Разработчик, который ошибся в наборе и развернул бэкдор 🛠️
Представьте сонного разработчика, который пишет pip install collerful-stuff вместо colorful-stuff. Его CI с радостью принимает это, не задавая вопросов. Вредоносный пакет устанавливается, приветствует злоумышленника и открывает ему частную VPN к производственной базе данных. Все из-за разницы в одну букву. Хуже всего то, что разработчик винит клавиатуру, но настоящий виновник — это система, которая слепо доверяет любому имени, похожему на правильное.