⚡ Não perca: notícia importante no ar! ⚡
Sua opinião é importante: leia e participe!
Apoie esse projeto de divulgacao de noticias! Clique aqui
O GitHub anunciou o que disse serem “alterações importantes” chegando à versão 12 do npm, uma das quais desativa scripts de instalação por padrão para combater ameaças à cadeia de suprimentos de software.
As mudanças visam combater técnicas de ataque que abusam do comando “npm install” para acionar a execução de código malicioso usando ganchos de ciclo de vida npm. "Npm install" é usado para baixar e instalar todas as dependências necessárias para um projeto Node.js. A versão 12 está programada para lançamento no próximo mês.
Descrevendo os scripts do ciclo de vida do tempo de instalação como a “maior superfície de execução de código no ecossistema npm”, o GitHub disse que o comando “npm install” executa scripts de cada dependência transitiva, como resultado de um único pacote comprometido em qualquer lugar da árvore de dependências pode executar código arbitrário em uma máquina de desenvolvedor ou executor de CI.
Ao bloquear tais comportamentos, a ideia é exigir a aprovação explícita do usuário antes que a execução do código seja iniciada automaticamente durante a "instalação npm", em vez de ser confiável por padrão. “Ativar a execução do script fecha esse caminho, mantendo-o a um comando de distância para os pacotes em que você confia”, disse o GitHub.
As mudanças estão listadas abaixo -
npm install não executará mais scripts de pré-instalação, instalação ou pós-instalação a partir de dependências, a menos que sejam explicitamente permitidos no projeto.
npm install não resolverá mais dependências do Git, sejam diretas ou transitivas, a menos que seja explicitamente permitido via --allow-git.
npm install não resolverá mais dependências de URLs remotos, como tarballs https, a menos que seja explicitamente permitido via --allow-remote.
“Isso inclui compilações nativas do node-gyp (ou seja, um pacote com um bind.gyp e nenhum script de instalação explícito ainda é bloqueado, porque o npm executa uma reconstrução implícita do node-gyp para ele)”, disse a subsidiária da Microsoft sobre as mudanças no comportamento padrão “allowScripts”. "preparar scripts de git, arquivo e dependências de link são bloqueados da mesma maneira."
Ao padronizar "--allow-git" como "none", a configuração fecha um caminho de execução de código onde o arquivo de configuração .npmrc de uma dependência do Git usado pode substituir o executável do Git, mesmo com --ignore-scripts, um sinalizador que impede que pacotes especificados em um arquivo package.json executem automaticamente scripts de ciclo de vida integrados durante o processo de instalação.
O GitHub recomenda que os desenvolvedores se preparem para essas mudanças atualizando para o npm 11.16.0 ou mais recente, executando a instalação normal e revisando os avisos exibidos.
“Use npm aprovar-scripts --allow-scripts-pending para ver quais pacotes possuem scripts, aprovar aqueles em que você confia e enviar o package.json atualizado”, acrescentou. "Depois disso, apenas os scripts que você aprovou continuarão em execução após a atualização. Qualquer coisa que você deixar sem aprovação será interrompida."
No início deste ano, o npm também introduziu o “min-release-age”, uma configuração que diz ao npm para rejeitar qualquer versão de pacote publicada menos de um número especificado de dias como proteção contra pacotes maliciosos recém-publicados.
As mudanças visam combater técnicas de ataque que abusam do comando “npm install” para acionar a execução de código malicioso usando ganchos de ciclo de vida npm. "Npm install" é usado para baixar e instalar todas as dependências necessárias para um projeto Node.js. A versão 12 está programada para lançamento no próximo mês.
Descrevendo os scripts do ciclo de vida do tempo de instalação como a “maior superfície de execução de código no ecossistema npm”, o GitHub disse que o comando “npm install” executa scripts de cada dependência transitiva, como resultado de um único pacote comprometido em qualquer lugar da árvore de dependências pode executar código arbitrário em uma máquina de desenvolvedor ou executor de CI.
Ao bloquear tais comportamentos, a ideia é exigir a aprovação explícita do usuário antes que a execução do código seja iniciada automaticamente durante a "instalação npm", em vez de ser confiável por padrão. “Ativar a execução do script fecha esse caminho, mantendo-o a um comando de distância para os pacotes em que você confia”, disse o GitHub.
As mudanças estão listadas abaixo -
npm install não executará mais scripts de pré-instalação, instalação ou pós-instalação a partir de dependências, a menos que sejam explicitamente permitidos no projeto.
npm install não resolverá mais dependências do Git, sejam diretas ou transitivas, a menos que seja explicitamente permitido via --allow-git.
npm install não resolverá mais dependências de URLs remotos, como tarballs https, a menos que seja explicitamente permitido via --allow-remote.
“Isso inclui compilações nativas do node-gyp (ou seja, um pacote com um bind.gyp e nenhum script de instalação explícito ainda é bloqueado, porque o npm executa uma reconstrução implícita do node-gyp para ele)”, disse a subsidiária da Microsoft sobre as mudanças no comportamento padrão “allowScripts”. "preparar scripts de git, arquivo e dependências de link são bloqueados da mesma maneira."
Ao padronizar "--allow-git" como "none", a configuração fecha um caminho de execução de código onde o arquivo de configuração .npmrc de uma dependência do Git usado pode substituir o executável do Git, mesmo com --ignore-scripts, um sinalizador que impede que pacotes especificados em um arquivo package.json executem automaticamente scripts de ciclo de vida integrados durante o processo de instalação.
O GitHub recomenda que os desenvolvedores se preparem para essas mudanças atualizando para o npm 11.16.0 ou mais recente, executando a instalação normal e revisando os avisos exibidos.
“Use npm aprovar-scripts --allow-scripts-pending para ver quais pacotes possuem scripts, aprovar aqueles em que você confia e enviar o package.json atualizado”, acrescentou. "Depois disso, apenas os scripts que você aprovou continuarão em execução após a atualização. Qualquer coisa que você deixar sem aprovação será interrompida."
No início deste ano, o npm também introduziu o “min-release-age”, uma configuração que diz ao npm para rejeitar qualquer versão de pacote publicada menos de um número especificado de dias como proteção contra pacotes maliciosos recém-publicados.
Fonte: https://thehackernews.com
#samirnews #samir #news #boletimtec #github #desativará #scripts #de #instalação #npm #por #padrão #para #impedir #ataques #à #cadeia #de #suprimentos
⚡ Fique ligado: novidades e promoções em breve por aqui! ⚡
Postar um comentário