Executando verificação de segurança...
21

Como o Filipe está ligado a vulnerabilidades Python

O Filipe (nosso Michel Teló) fez uma publicação pra notificar a comunidade sobre uma conquista alcançada no TabNews: o Salto de SEO no Google Console.

E sobre isso, parabéns!

Mas o que mais me impressionou nisso é que a query na segunda posição, com mais de 25 mil impressões, se dá partir de um erro de digitação kkkkkk

E, por mais desconexo que os tópicos possam parecer estar, isso explica muito do porquê de ser preciso ter muita atenção ao instalar módulos no Python.

Calma, eu já explico. Mas, primeiro, vamo dar uma olhada no tal ranking:

imagem com ranking de queries

Saca só, o termo na posição 2 é "GTP", onde deveria ser GPT, claro.
O fato de ele estar na segunda posição levanta pra gente uma bandeira muito importante, sobre um assunto que me deparei recentemente e passei a tomar muito cuidado, enquanto desenvolvendo em Python: Módulos Python.

Instalar um módulo Python é muito simples e rápido. Basta um pip install [modulo] e já era. Mas é exatamente essa facilidade — okay, o real problema é a falta de moral e ética de outras pessoas, mas fazer o que, né... 🤷‍♂️ — que possibilita que a gente comprometa um sistema inteiro — e, consequentemente, a vida de pessoas reais —, acidentalmente, por um simples descuido.

E esse problema é possível pela existência de módulos com erro de digitação proposital que contêm Malware!!!

O pessoal tá constantemente analisando e removendo quando descobrem, mas a gente, desenvolvendo em Python, precisa ter realmente uma visão ativa sobre o assunto, e não dar enter no PIP sem verificar bem a grafia.

Exercício Mental

Pegando o exemplo do "GTP" (incorreto, e eu sei, dps de ver o termo tantas vezes, fica fácil se perder. Mas garanto que esse é o incorreto kkkk), imagina que você é Dev de um banco/fintech, e que quer utilizar um sistema legítimo de GPT pra tratativa de questões bancárias de clientes, por um chat bot em alguma rede.

Se existir um módulo open-source lindo e conhecido, de nome, sla, "gpt-handler";

Imagina dar um pip install gtp-handler sem perceber...
Agr imagina que alguém mal-intencionado criou esse módulo "gtp", e que, a cada requisição, os dados bancários do cliente são enviados pr'um servidor qualquer na Rússia, China, Índia...

Dá pra ver o potencial de estrago que um simples erro de grafia pode provocar, e que, provavelmente, levaria um bom tempo pra se identificar, né?!



Nota de rodapé

Eu mesmo comecei a me perder enquanto escrevia kkkkk
Mas garanto, é GPêeeeTê.

Vlw, gente. Tomara que seja útil!
🤝

Carregando publicação patrocinada...
4

NÃO copie e cole comandos no terminal!

Como ferramenta diária da vida de um dev, o terminal é uma ferramenta maravilhosa e muito poderosa.
Justamente por possuir tanto poder que o terminal deve ser utilizado com cautela. Imagina perder arquivos, configurações ou até projetos por não saber o que está colando no terminal. Péssimo né?

A dica é: foi no stackOverflow e achou um comando que parece ser a salvação de todos os seus problemas? Procure a documentação do que ele faz antes de jogar no terminal. Além de ajudar no aprendizado, por causa do esforço adicional, vai garantir segurança no que está fazendo. Para usuários de sistemas operacionais Unix based, aprendam a utilizar o man antes dos comandos, ou a flag -h/--help. São coisas simples como essas que além de ajudar, podem evitar dores de cabeça.

2

Confesso que, depois de bater cabeça tentando resolver, chega uma hora em que isso acaba acontecendo, mesmo kkkkk

Tô tentando reduzir essa prática, principalmente tendo ciência dessa problemática com Python, agora. Um desses módulos fazia uma varredura na máquina e vazava dados de credenciais SSH, por exemplo. Olha isso...

Mas vou tentar realmente dar uma olhada mais ativa no help e no man.
Vlw pelo toque/lembrete!



Ah, lembrei. Eu inseri um adendo ao post respondendo a um comentário aqui, e acho que vale dar uma olhada, porque é exatamente o que cê levantou: não copiar e colar código!

1
2

Cara, sensasional! Hoje mesmo passei por algo semelhante, não que eu tenha sido infectado, na verdade agora você me deixou confuso...

O que se passou foi que estava tentando utilizar o módulo sklearn do python, e como é desse mesmo modo que o importamos eu fui crente de que o comando para o instalar seria pip install sklearn, pois bem, eu estava enganado.

Depois de minutos tentando entender o porquê do meu código não funcionar, eu decidi ir até a documentação e lá eu notei que o real comando seria pip install scikit-learn, se fosse o caso de eu me ferrar, com certeza teria acontecido.

Depois de ler sua publicação e passar por essa furada hoje, acredite, eu não vou mais instalar nenhum módulo antes de conferir a documentação. Kkkk

1

Boa, cara! E pois é kkkkk

E é bom dar uma pesquisada boa pra saber se esse sklearn não é um desses com malware tbm, oq as chances são altas! Pq n tem nenhum motivo pra vc criar um módulo com nome próximo de outro, né, geralmente kkkkkk

2

Ótimo artigo, muito útil, depois disso ficarei mais atento ao instalar pacotes pelo npm ou colar algum comando da internet no meu terminal. Importante ressaltar que isso não ocorre apenas com comandos de terminal, mas também com sites, pessoas mal intencionadas criam clones de sites mudando apenas alguma coisa na grafia de forma quase que imperceptível, então sempre verifiquem os links que entram, antes de saírem colocando seus dados!!

2
2

O foco do artigo é Python mas o alerta serve pra qualquer outra linguagem / tecnologia.
Em projetos Javascript / Typescript temos o npm e o yarn pra instalar pacotes e o mesmo tipo de erro pode acontecer e ser muito prejudicial pro projeto / usuários.

Obrigado pelo conteúdo, muito necessário!

1

Pois é kkkkk essa facilidade, ao mesmo tempo em que é muito boa, pode ser muito perigosa, se a gente não ficar ligado.

Agr me surgiu a dúvida até se essa questão não se aplica aos pacotes do Linux tbm... Eu lembro de já ter visto alguma coisa dessa em relação ao Ubuntu, mas não lembro exatamente o que era. N sei se era o mesmo assunto, mas surgiu a dúvida agr.

Vlw!

2

Eu tinha visto recentemente alguém falando sobre isso e desde então eu prefiro sempre ir na documentacão oficial ou no pypi para verificar o nome do módulo ou pacote. Claro que não é muito prático, mas é muito melhor que arriscar ter um malware no seu projeto.

1

É exatamente oq eu tenho feito também kkkkkkk

E, inclusive, fica o adendo

⛔ Adendo ao artigo

É preciso também tomar muito cuidado ao copiar e colar comandos, uma vez que é possível inserir erros imperceptíveis (imperceptíveis de verdade).

Por exemplo, recentemente houve um caso com o módulo JeIlyfish. Digitando, você iria inserir corretamente, mas se só copiasse e colasse vc corria o alto risco de não perceber que a grafia do que acabei de escrever está incorreta, pq a grafia correta é pip install jellyfish.

Se você reparar atentamente, a "pegadinha" é que no módulo com Malware vc não vê um duplo L no "jelly", e sim um i maiusculo seguido por um L.

Compare você mesmo:

  • pip install jeIlyfish
  • pip install jellyfish

Sacou a problemática? Kkkkkk
E tem mais, uma pessoa mal-intencionada vai, sim, utilizar uma fonte que dificulte ainda mais que você perceba o que tá copiando, infelizmente. 😢

Minha última consideração

Esse "typo-squatting" (termo que a galera dá pra essa prática maliciosa) provavelmente acontece em outras linguagens também, então é realmente importante ter uma visão ativa sobre essa etapa — tão simples, mas ainda tão importante — num contexto geral, mesmo, e não só em Python.

2

Muito bem lembrado. Uma dica que eu deixo é que sempre que eu quero instalar um módulo eu faço a pesquisa no PyPI e uso o comando do pip install de lá. Assim eu tenho mais certeza do que estou instalando vendo se aquele é realmente o módulo oficial.

Também evito de instalar qualquer módulo que tenha pouco uso, avaliação baixa, sem documentação ou código indisponível.

1
2

Muito bom este artigo! Por curiosidade estes destes tipos são chamados de "typos" e precisamos realmente tomar muito cuidado seja com emails assim, sites e até mesmo ações de nossa parte escrevendo de maneira incorreta, ao invés de sempre tomar o cuidado de revisar o que estamos fazendo.

1

Sim, muito importante msm!
Em um dos comentários aqui eu respondi e inseri um adendo importante ao artigo, quanto a copiar e colar código.

Vale dar uma olhada, pq contei sobre um caso desses que rolou recentemente. Ele roubava dados de credenciais SSH e vazava pra um servidor esquisito qualquer por aí... Bizarro kkkkk

1

É terrível kkk Por isso sempre prestar atenção é melhor forma de cuidado. É muito comum acontecer ataques como Phishing ou Spoofing que aproveita a desatenção e confusão para realizar os ataques. E na maioria das vezes são ataques brutais.

1

Pois é, e tem técnicas tão sofisticadas de se fazer isso, q quando vc vê vc já tá "paranoico" realizando quinhentos procedimentos antes de ler um e-mail kkkkkk

E a pior parte é q todo dia eles (o lado mau da força) surgem com uma tática nova que é inteligente pra caralho, e vc fica rendido no meio dela.

A luta é sobre:

  • Não importa o quão atualizado vc esteja: você sempre vai estar desatualizado e na desvantagem, basicamente kkkkkkk
1
1
1
1
1
1

É importante mesmo! E fica atento às outras colocações presentes aqui nos comentários, porque existe a problemática de se copiar e colar códigos