Compartilhar via


Usar a auditoria do npm para detectar e corrigir vulnerabilidades de pacote

Serviços do Azure DevOps

O comando de auditoria npm executa uma verificação completa do seu projeto, identificando possíveis vulnerabilidades de segurança e gerando um relatório detalhado que realça todos os problemas encontrados. A realização de auditorias de segurança é uma etapa vital para reconhecer e resolver vulnerabilidades dentro das dependências do projeto. O comando de correção de auditoria npm resolve automaticamente as vulnerabilidades detectadas, atualizando versões de pacote inseguras para as versões seguras mais recentes. Lidar com essas vulnerabilidades é crucial para evitar possíveis problemas, como perda de dados, interrupções de serviço e acesso não autorizado a informações confidenciais.

Aviso

Executar o comando npm audit transmitirá os nomes de todos os pacotes especificados em seu package.json para o registro público.

Executar a auditoria do "npm" localmente

npm audit pode ser executado localmente sem a necessidade de autenticar com seu feed. Isso permite que você examine o projeto em busca de vulnerabilidades e receba um relatório detalhado sobre os problemas de segurança detectados e sua gravidade.

Se você quiser corrigir as vulnerabilidades detectadas, poderá executar npm audit fix, mas deve ser autenticado com o feed para fazer isso. Esse comando atualiza versões de pacote inseguras para as versões seguras mais recentes disponíveis.

Quando você executa a correção de auditoria do npm, ela não apenas atualiza o package.json e opackage-lock.json do projeto local, mas também sincroniza essas alterações com o feed associado do Azure Artifacts. As versões recém-protegidas dos pacotes estarão automaticamente disponíveis no feed.

Essa sincronização garante que outros projetos que compartilham o mesmo feed também se beneficiem dessas atualizações. Ele ajuda a manter um conjunto consistente e seguro de versões de pacote em todos os projetos.

  1. Execute o seguinte comando no diretório do projeto para executar uma auditoria npm:

    npm audit
    
  2. Se você quiser tentar atualizar para versões de pacote não vulneráveis, verifique se você está conectado ao feed primeiro e execute o seguinte comando no diretório do projeto:

    npm audit fix
    

Depois de executar a correção de auditoria do npm, certifique-se de realizar um teste completo em seu aplicativo para confirmar que as atualizações não introduziram alterações significativas. Se uma correção exigir uma atualização de versão importante, é recomendável examinar as notas de lançamento do pacote para alterações que possam causar interrupções. Tenha em mente que, embora um pacote privado com dependências públicas vulneráveis receba alertas de vulnerabilidade, ele não receberá correções por meio da correção de auditoria do npm.

Observação

npm audit é executado automaticamente com cada execução de npm install, mas funciona apenas para pacotes públicos.

Execute a auditoria do npm em seu pipeline

Atualmente, o Azure Pipelines não suporta auditoria npm. Se você tentar usar o comando npm audit regular em seu pipeline, ele falhará. Em vez disso, execute npm audit com o argumento --registry e forneça a URL de origem do seu feed.

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelines, selecione seu pipeline e, em seguida, selecione Editar para modificá-lo.

  3. Na definição do pipeline, selecione o + sinal para adicionar uma nova tarefa.

  4. Pesquise a tarefa npm e selecione Adicionar para adicioná-la ao pipeline.

  5. Insira um Nome de exibição para sua tarefa e selecione personalizar no menu suspenso de Comando.

  6. Cole o comando personalizado na caixa de texto Comando e argumentos :

    1. Use o comando a seguir para executar uma auditoria npm e verificar as vulnerabilidades do pacote. Substitua o marcador de posição pela URL de origem do feed.

      audit --registry=<FEED_SOURCE_URL>
      
    2. Se você quiser tentar atualizar para versões de pacote não vulneráveis, use o comando a seguir. Substitua o marcador de posição pela URL de origem do feed.

    audit fix --registry=<FEED_SOURCE_URL>
    

    Uma captura de tela mostrando a tarefa de auditoria npm em um pipeline clássico.