Comments 2
Это вроде как базовый шаг, который должен предшествовать поиску уязвимостей в исходном коде.
Насколько мне известно, команда
npm publish
позволяет публиковать произвольный минифицированный код, а инструкции по сборке не стандартизованы в package.json
.Системы сканирования анализируют не исходный код пакета, а именно продуктовый собранный код. По большому счету, исходный код вообще не попадает в реестр npm и потому находится за рамками системы.
Проблема соответствия исходного кода дистрибутиву в большей степени касается логики работы программы, но здесь, судя по всему нам остается только доверять тому лицу, которое отвечает за публикацию. Каких-то гарантий, что при публикации в дистрибутив не было добавлено что-то лишнее нет. Кроме того, системы сборки часто добавляют свой собственный код в дистрибутив, а тут даже сам автор пакета уже не знает что туда может быть добавлено. К примеру, если удастся взломать какой-то популярный плагин для Babel/Webpack, то это даст возможность внедрить вредоносный код в тысячи собранных пакетов.
Как npm обеспечивает безопасность