Olá! Em posts anteriores, falamos em detalhes sobre como escolher dependências e usar arquivos de bloqueio no npm , mas eu apenas toquei nos problemas de segurança de passagem. É hora de corrigir essa lacuna: esta e a próxima postagem serão totalmente dedicadas à segurança no npm! E, primeiro, veremos como a segurança é garantida no nível da infraestrutura npm e do ecossistema como um todo.
Vivemos em uma época perigosa
, , , . , API , , . , ( , ). , - , , , , .
, , . , — .
npm
, , . , npm , .
, : npm , , .
, npm ^Lyft Security ( ) : Lyft npm , pen- . , Lyft Node Security Platform (NSP) [ Node], Node npm-. , 2018- npm Inc. ^Lyft Security, npm.
, npm , , (JavaScript). Node Security Platform npm , .
, 2020 GitHub (Microsoft) npm Inc., npm GitHub. , , GitHub — GitHub Security Lab. , Microsoft GitHub npm registry.
, npm , , npm .
npm . , . , . -, . , , , , TOR ( ).
, , , : , , .
, npm JavaScript, . , , , IP- URL, , . npm , Security Insight API. , .
npm . npm registry, (private) (, CI/CD-), .
, , , npm- GitHub. , npm, , .
, npm GitHub , ; npm , npm, , npm . , , , .
, npm , - (, production), , npm registry .
. , - , . Have I Been Pwned E-mail , . , GMail, 11 , 14 . , !
: , npm, , npm (, ), . , , (, , npm ).
. , npm 24/7, , . JavaScript, npm . npm 25 . .
(malware), npm, . , npm , .
, . npm , , , .
, npm security advisory. ( npm audit), , , . , ( ). , npm 48 , . npm , 45 , , .
npm, , , 20 % . npm 1427 (security advisories). . GitHub.
, , , : npm CLI , . .
npm , , , , .
, , , , . , , .
- , , .