Как от этого защититься?
Лучший способ защититься от подобного - отказаться от использования сторонних библиотек, по крайней мере уменьшить их количество. Однако, это не всегда возможно, так как написание того или иного функционала требует ресурсов и нет гарантии что получится написать качественный код. То есть написанный на коленке код за трое суток, конечно работать будет(возможно), но не так как должен на самом деле.
Поэтому намного выгоднее и удобнее взять какую-нибудь популярную библиотеку прочитать документацию по ней и начать использовать в своём проекте. Это конечно всё хорошо, но как защититься если всё таки используешь сторонние библиотеки?
1. Хранить используемые библиотеки у себя.
2. Не обновляться без нужды, а если и обновляться, то проводить анализ обновленного кода.
3. Нужно уметь читать код библиотек, полностью понимать что там написано, что делает каждая функция.
4. Подключать библиотеки в проекте без использования CDN версий и прочего. Желательно со своего сайта, чтобы строго контролировать используемую версию библиотеки.
5. Желательно не использовать библиотеки, имеющие кучу внешних зависимостей.
6. По возможности использовать популярные библиотеки, но не доверять им на 100%. Тот факт что библиотека популярна и имеет сколько-то тысяч звездочек на Github, не гарантирует того, что однажды там не появится какой-нибудь гнилой код, выполняющий не очень хорошие действия. Помним про пункты:
1,
2,
3,
4,
5.
Конечно выполнение этих пунктов тоже требует ресурсов, но по крайней мере увеличивает шанс защититься от всяких нехороших сценариев.