10.1Kпросмотров
10 июля 2025 г.
Score: 11.1K
Давайте поговорим про вашу кибербезопасность как разработчика Нет, это не когда вы хакаете, а вас ☕️ Особенно, когда вы работаете с множественными заказчиками и проектами. А это не только фриланс, но и небольшие компании в том числе. 👨‍💻 Частые ситуации, когда к вам приходит заказчик с наработками, которые нужно "доделать/переделать/развивать". Вы общаетесь, все нормально, начинаете работу и... Заказчик просто исчезает, как и ваша крипта с кошелька. ➡️ Главное правило: всегда помните, что любой чужой код - это потенциальная угроза. И чем больше прав у языка, на котором проект, тем больше опасность. Одно дело вытащить данные из вашего браузера и отправить в точку Х (metamask и ваши оранжевые аккаунты в опасности). Другое - нанести вред вашей рабочей машинке и украсть ваши личные фото. На что нужно обращать внимание в таких ситуациях: ❗️Красные флаги ✔️ "запусти быстро посмотреть {UI / как работает / в чем ошибка}" ✔️ "скидывает напрямую zip-архив" (хотя часть заказчиков так реально хранят проекты) ✔️ "в репозитории один коммит без истории" ✔️ "репозиторий публичный" (вы бы свой коммерческий проект выставляли бы?) ✔️ отказ общаться вживую с нормального аккаунта Но иногда и у нормальных заказчиков бывают такие комбо, поэтому дальше стоит проверить сам код ДО ЗАПУСКА на предмет опасностей. Используем глобальный поиск по проекту. Можно даже плагины настроить на это. 👩‍💻 ➡️Конструкции с Function, Function.constructor, eval(), .prototype ... - это скрытый запуск команд, в том числе и отправка данных куда-то ➡️ любые кодировки данных: base64, atob() и тп. Это может быть маскировка url адреса или скрипта ➡️ что за пакеты и команды находятся в package.json Там могут подтягиваться непонятные зависимости, которые через node.js хрен пойми что будут делать. Поэтому сразу жмакайте npm i только если доверяете автору проекта 👩‍💻 ➡️конструкции с require('child_process') ➡️можно пробежаться по require и посмотреть, не грузит ли проект что-то со сторонних url ➡️конструкция require('vm') и что она делает дальше ➡️еще советуют проверять fs, но это может занять слишком много времени Но помните, что постоянно придумываются все новые способы атак, а под каждый язык будут и свои угрозы. Поэтому есть и потенциальные решения, которые использую и я в том числе: 🟢запуск проекта в изолированной среде или вообще на не основном устройстве 🟢оформление договоренностей (договора и тп) до начала работы над проектом. Хотя бы без оплаты, но проверить на фэковость 🟢брать предоплату 🛡 Ну и я надеюсь вам не нужно повторять о том, чтобы вы не открывали непонятные ссылки из писем/соцсетей и тп. Банально, а вон сколько топ менеджеров постоянно хакают из-за этого Ну и перешли кодящим друзьям, пусть будут начеку
10.1K
просмотров
2748
символов
Да
эмодзи
Нет
медиа

Другие посты @petrychenko_ivan

Все посты канала →