Pull to refresh

Comments 2

Меня всегда волновал вопрос, пытается ли кто-то проверять, соответствует ли минифицированный код npm-пакетов тому коду, что доступен в репозитории.
Это вроде как базовый шаг, который должен предшествовать поиску уязвимостей в исходном коде.
Насколько мне известно, команда npm publish позволяет публиковать произвольный минифицированный код, а инструкции по сборке не стандартизованы в package.json.

Системы сканирования анализируют не исходный код пакета, а именно продуктовый собранный код. По большому счету, исходный код вообще не попадает в реестр npm и потому находится за рамками системы.


Проблема соответствия исходного кода дистрибутиву в большей степени касается логики работы программы, но здесь, судя по всему нам остается только доверять тому лицу, которое отвечает за публикацию. Каких-то гарантий, что при публикации в дистрибутив не было добавлено что-то лишнее нет. Кроме того, системы сборки часто добавляют свой собственный код в дистрибутив, а тут даже сам автор пакета уже не знает что туда может быть добавлено. К примеру, если удастся взломать какой-то популярный плагин для Babel/Webpack, то это даст возможность внедрить вредоносный код в тысячи собранных пакетов.

Sign up to leave a comment.