{"id":19802,"date":"2022-08-10T17:07:23","date_gmt":"2022-08-10T20:07:23","guid":{"rendered":"https:\/\/www.kaspersky.com.br\/blog\/?p=19802"},"modified":"2022-08-10T17:07:23","modified_gmt":"2022-08-10T20:07:23","slug":"lofylife-malicious-packages-in-npm-repository","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com.br\/blog\/lofylife-malicious-packages-in-npm-repository\/19802\/","title":{"rendered":"Quatro pacotes maliciosos no reposit\u00f3rio npm"},"content":{"rendered":"<p>O c\u00f3digo-fonte aberto \u00e9 uma b\u00ean\u00e7\u00e3o para o setor de TI \u2014 ajuda os programadores a economizar tempo e criar produtos com mais rapidez e efici\u00eancia, eliminando a necessidade de escrever c\u00f3digo comum repetitivo. Para facilitar esse compartilhamento de conhecimento, existem reposit\u00f3rios \u2014 plataformas abertas onde qualquer desenvolvedor pode publicar seus pr\u00f3prios pacotes com seu c\u00f3digo para agilizar o processo de desenvolvimento para outras pessoas.<\/p>\n<p>Esses reposit\u00f3rios atendem a in\u00fameras necessidades da comunidade de TI e s\u00e3o amplamente utilizados no desenvolvimento de basicamente qualquer software moderno: aplicativos da web, aplicativos m\u00f3veis, dispositivos inteligentes, rob\u00f4s, o que voc\u00ea quiser. Os pacotes mais populares recebem milh\u00f5es de downloads semanais e s\u00e3o a base de muitos aplicativos, desde projetos de estima\u00e7\u00e3o at\u00e9 startups de tecnologia bem conhecidas.<\/p>\n<p>De acordo com <a href=\"https:\/\/medium.com\/npm-inc\/this-year-in-javascript-2018-in-review-and-npms-predictions-for-2019-3a3d7e5298ef\" target=\"_blank\" rel=\"noopener nofollow\">algumas estimativas<\/a>, 97% do c\u00f3digo em aplicativos da Web modernos vem de m\u00f3dulos npm. No entanto, sua popularidade e facilidade no upload de qualquer pacote inevitavelmente atraem cibercriminosos. Por exemplo, em 2021, invasores desconhecidos <a href=\"https:\/\/www.kaspersky.com.br\/blog\/uaparser-js-infected-versions\/18359\/\" target=\"_blank\" rel=\"noopener\">comprometeram<\/a> v\u00e1rias vers\u00f5es de uma biblioteca JavaScript popular, UAParser.js, injetando c\u00f3digo malicioso. Esta biblioteca era baixada de 6 a 8 milh\u00f5es de vezes por semana. Ao infect\u00e1-la, os cibercriminosos conseguiram minerar criptomoedas e roubar informa\u00e7\u00f5es confidenciais, como cookies do navegador, senhas e credenciais do sistema operacional de dispositivos infectados.<\/p>\n<p>E aqui est\u00e1 um exemplo mais recente: em 26 de julho de 2022, nossos pesquisadores <a href=\"https:\/\/securelist.com\/lofylife-malicious-npm-packages\/107014\/\" target=\"_blank\" rel=\"noopener\">descobriram uma nova amea\u00e7a<\/a> que apareceu no reposit\u00f3rio npm de c\u00f3digo aberto que eles apelidaram de LofyLife.<\/p>\n<h2>Ent\u00e3o, o que \u00e9 LofyLife?<\/h2>\n<p>Usando um sistema automatizado interno para monitorar reposit\u00f3rios de c\u00f3digo aberto, nossos pesquisadores identificaram a campanha maliciosa LofyLife. A campanha empregou quatro pacotes maliciosos espalhando os malwares Volt Stealer e Lofy Stealer no reposit\u00f3rio npm para coletar v\u00e1rias informa\u00e7\u00f5es das v\u00edtimas, incluindo tokens Discord e informa\u00e7\u00f5es de cart\u00e3o de cr\u00e9dito vinculadas, e espion\u00e1-las ao longo do tempo.<\/p>\n<p>Os pacotes maliciosos identificados pareciam ser usados para tarefas comuns, como formata\u00e7\u00e3o de t\u00edtulos ou certas fun\u00e7\u00f5es de jogos. As descri\u00e7\u00f5es dos pacotes estavam incompletas e, no geral, parece que os invasores n\u00e3o se esfor\u00e7aram muito. No entanto, o pacote de \u2018formata\u00e7\u00e3o de t\u00edtulos\u2019 estava em portugu\u00eas do Brasil com a hashtag #brazil, o que mostra que os invasores que procuram atingir usu\u00e1rios baseados no Brasil. Outros pacotes foram apresentados em ingl\u00eas, para que pudessem ser direcionados a usu\u00e1rios de outros pa\u00edses.<\/p>\n<div id=\"attachment_19804\" style=\"width: 1110px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" aria-describedby=\"caption-attachment-19804\" class=\"wp-image-19804 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/94\/2022\/08\/10165758\/lofylife-malicious-packages-in-npm-repository-proc-title.jpg\" width=\"1100\" height=\"440\"><p id=\"caption-attachment-19804\" class=\"wp-caption-text\">Descri\u00e7\u00e3o de um dos pacotes infectados chamado \u201cproc-title\u201d (Tradu\u00e7\u00e3o do portugu\u00eas: Este pacote formata corretamente seus t\u00edtulos conforme o manual de estilo de Chicago)<\/p><\/div>\n<p>Esses pacotes, no entanto, continham c\u00f3digos JavaScript e Python maliciosos altamente ofuscados. Isso os tornou mais dif\u00edceis de analisar ao serem carregados no reposit\u00f3rio. A carga maliciosa consistia em um malware escrito em Python chamado Volt Stealer \u2013 um script malicioso de c\u00f3digo aberto e um malware JavaScript chamado Lofy Stealer, que possui v\u00e1rios recursos.<\/p>\n<p>O Volt Stealer foi usado para roubar tokens Discord das m\u00e1quinas infectadas junto com o endere\u00e7o IP da v\u00edtima e carreg\u00e1-los via HTTP. O Lofy Stealer, um novo desenvolvimento dos invasores, \u00e9 capaz de infectar arquivos do cliente Discord e monitorar as a\u00e7\u00f5es da v\u00edtima \u2014 detectando quando um usu\u00e1rio faz login, altera e-mail ou senha cadastrados, ativa ou desativa a autentica\u00e7\u00e3o multifator e adiciona novos m\u00e9todos de pagamentos (nesse caso, ele rouba detalhes completos do cart\u00e3o de cr\u00e9dito). Ele carrega as informa\u00e7\u00f5es coletadas para o endpoint remoto.<\/p>\n<h2>Como se proteger de pacotes maliciosos<\/h2>\n<p>Os reposit\u00f3rios de c\u00f3digo aberto permitem que qualquer pessoa publique seus pr\u00f3prios pacotes, e nem todos s\u00e3o completamente seguros. Por exemplo, os invasores podem se passar por pacotes npm populares alterando uma ou duas letras no nome para enganar o usu\u00e1rio e faz\u00ea-lo pensar que est\u00e1 baixando o pacote original. Portanto, recomendamos estar atento e n\u00e3o tratar os pacotes como confi\u00e1veis.<\/p>\n<p>Em geral, ambientes de desenvolvimento ou constru\u00e7\u00e3o s\u00e3o alvos convenientes para invasores que tentam organizar ataques \u00e0 cadeia de suprimentos. Isso significa que esses ambientes exigem urgentemente uma forte prote\u00e7\u00e3o antimalware, a <a href=\"https:\/\/www.kaspersky.com.br\/enterprise-security\/devops-security?icid=br_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">Kaspersky Hybrid Cloud Security<\/a>. Nossos produtos detectam com sucesso o ataque LofyLife com veredictos HEUR:Trojan.Script.Lofy.gen e Trojan.Python.Lofy.a.<\/p>\n<p>Se voc\u00ea quiser ser um dos primeiros a saber sobre novas campanhas maliciosas espalhadas por meio de c\u00f3digo-fonte aberto, assine feeds e relat\u00f3rios de intelig\u00eancia de amea\u00e7as, como os fornecidos pelo <a href=\"https:\/\/opentip.kaspersky.com\/?icid=br_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______&amp;utm_source=kdaily&amp;utm_medium=blog&amp;utm_campaign=br_wpplaceholder_nv0092&amp;utm_content=link&amp;utm_term=br_kdaily_organic_undefined\" target=\"_blank\" rel=\"noopener nofollow\">Threat Intelligence Portal<\/a>.<\/p>\n<p><a href=\"https:\/\/k-asap.com\/pt?icid=br_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder____kasap___\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-14834 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/94\/2020\/04\/15080845\/human-factor-weakest-link-desktop-br.png\" alt=\"Incentive a consci\u00eancia sobre ciberseguran\u00e7a em sua empresa\" width=\"1340\" height=\"400\"><\/a><\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nova campanha maliciosa ca\u00e7a tokens Discord e informa\u00e7\u00f5es de cart\u00e3o de cr\u00e9dito por meio de pacotes npm infectados.<\/p>\n","protected":false},"author":2632,"featured_media":19803,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14],"tags":[1935,1924,2696,2801,3028],"class_list":{"0":"post-19802","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-news","8":"tag-cadeia-de-suprimentos","9":"tag-cartoes-bancarios","10":"tag-discord","11":"tag-ladrao-de-senhas","12":"tag-npm"},"hreflang":[{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/lofylife-malicious-packages-in-npm-repository\/19802\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/lofylife-malicious-packages-in-npm-repository\/24418\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/lofylife-malicious-packages-in-npm-repository\/19884\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/lofylife-malicious-packages-in-npm-repository\/26814\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/lofylife-malicious-packages-in-npm-repository\/24719\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/lofylife-malicious-packages-in-npm-repository\/25123\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/lofylife-malicious-packages-in-npm-repository\/27466\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/lofylife-malicious-packages-in-npm-repository\/33783\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/lofylife-malicious-packages-in-npm-repository\/10901\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/lofylife-malicious-packages-in-npm-repository\/45042\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/lofylife-malicious-packages-in-npm-repository\/19244\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/lofylife-malicious-packages-in-npm-repository\/29092\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/lofylife-malicious-packages-in-npm-repository\/25316\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/lofylife-malicious-packages-in-npm-repository\/30784\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/lofylife-malicious-packages-in-npm-repository\/30530\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.com.br\/blog\/tag\/cadeia-de-suprimentos\/","name":"cadeia de suprimentos"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/19802","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/users\/2632"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/comments?post=19802"}],"version-history":[{"count":3,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/19802\/revisions"}],"predecessor-version":[{"id":19806,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/19802\/revisions\/19806"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media\/19803"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media?parent=19802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/categories?post=19802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/tags?post=19802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}