Você sabe o que significa NPM?

O NPM, ou Node Package Manager, é um repositório online com a finalidade de publicação de projetos NodeJS de código aberto. Podemos utilizar o npm como um utilitário de linhas de comando, interagindo com os repositórios e instalando os seus pacotes. Isso auxilia diretamente na instalação, controle de gerenciamento de versão e dependências dos projetos. Existem muitos aplicativos e bibliotecas publicados no npm, com novidades sendo adicionadas todos os dias. Você pode pesquisar essas bibliotecas e dependências em: https://npmjs.org.

Para instalar uma biblioteca, você só precisará executar o comando:

npm install nome_do_pacote

Assim que estiver instalado, você pode verificar a existência da biblioteca ou dependência na pasta node_modules e você usa o comando require() para adicioná-lo à sua página.

Para adicionar algo globalmente, você pode adicionar o comando -g à sintaxe. Isso instalará o programa em um local, e adicionará um link a ele, permitindo a utilização do programa no console, como qualquer outra ferramenta CLI.

Como um gerenciador de dependências, você possuirá um arquivo package.json no seu projeto nodejs. Executando o comando:

npm install

Utilizando esse comando na pasta raiz do seu projeto, assim o npm instalará todas as dependências que são listadas no arquivo package.json. Depois de executar este comando, você pode verificar na pasta node_modules que todas as dependências que são especificadas no package.json estarão instaladas.

home

Com o comando home, você pode abrir o site da biblioteca que você está tentando instalar. O site será aberto no seu navegador padrão. Por exemplo, utilizaremos o React Native como exemplo:

npm home react-native

Após executar este comando, a página de documentação do React Native no GitHub será aberta!

init

O comando init nos permite iniciar um arquivo package.json. Na criação deste arquivo, são feitas diversas perguntas. Mas você também pode pular todo o questionário adicionando um -y ao comando!

npm init -y

Lista de pacotes

Podemos verificar a lista de pacotes instalados no nosso projeto utilizando o comando:

npm ls --depth 0

E também podemos verificar quais são as bibliotecas ou dependências instaladas globalmente na nossa máquina utilizando o comando:

npm ls -g --depth 0

Gostou deste artigo? Comente abaixo e compartilhe com os seus amigos!

Referências:

Referências: https://nodejs.org/en/knowledge/getting-started/npm/what-is-npm/

Backdoor descoberto na carteira de criptomoedas Agama

Recentemente a Komodo Plataform descobriu uma backdoor em um de seus aplicativos mais antigos, o Agama. Sabendo que eles tinham pouco tempo para agir, a equipe usou a própria falha de segurança para remover todos as aplicações e valores para um local mais seguro.

Graças a esta tatica, 8 milhoes de Komodo coins e 96 bitcoins (quase 13 milhões de dólares) foram removidas das contas com a vulnerabilidade que poderiam ser hackeadas a qualquer momento.


Sobre a falha

O backdoor foi descoberto pela equipe de auditoria de segurança dos pacotes de repositório JavaScript do NPM. A equipe do NPM disse que identificou uma atualização maliciosa na biblioteca JavaScript electron-native-notify (versão 1.1.6), que continha código projetado para roubar criptomoedas e outras senhas de login específicas para aplicativos de criptomoeda.

Embora inicialmente não fizesse sentido que uma biblioteca com um conjunto de recursos muito limitado contivesse uma funcionalidade tão avançada, depois de investigar o problema, o pessoal do NPM percebeu que estavam lidando com um ataque na cadeia de fornecimento e usando a biblioteca agora como backdoor.

A equipe do npm disse que o código malicioso funcionaria conforme o planejado e coletaria os seeds e senhas do aplicativo de carteira da Agama e faria o upload dos dados para um servidor remoto. Com estes seeds e senhas teriam permitido que um hacker se conectasse às contas de criptomoedas gerenciadas pela carteira Agama e roubasse os fundos dos usuários.


Ações tomadas

Continue lendo “Backdoor descoberto na carteira de criptomoedas Agama”