Contents

Como proteger seu projeto do GitHub RepoJacking

Tornou-se evidente que a ameaça de repojacking do GitHub é cada vez mais significativa para os desenvolvedores, pois permite que hackers explorem alterações nos nomes de usuários ou empresas na plataforma, assumindo o controle de nomes de repositórios usados ​​anteriormente. A intenção por trás dessa ação é introduzir conteúdo malicioso no repositório, que pode ser acessado por programas de software que contam com o código como um recurso.

É imperativo que medidas apropriadas sejam tomadas para proteger o próprio projeto GitHub no caso de uma mudança recente no nome de usuário ou ao referenciar outros repositórios como dependências.

O que é RepoJacking?

/pt/images/creating-a-new-github-repository.jpg

O fenômeno conhecido como “repojacking” ocorre quando um indivíduo intencionalmente assume o controle de um repositório cujo proprietário original mudou seu nome de usuário. Isso ocorre utilizando a combinação anterior de nome de usuário e nome de repositório que se torna acessível, e o repojacker reivindica a propriedade do referido nome de usuário para criar um novo repositório com o nome idêntico.

O repojacking engloba duas categorias distintas de perigo, a saber:

A prática de repojacking pode potencialmente comprometer a confiabilidade de um software aparentemente confiável. Nos casos em que um aplicativo depende de um repositório GitHub, qualquer alteração feita em seu nome pelo proprietário pode resultar em software suscetível a riscos de segurança com o uso contínuo.

A utilização de técnicas de sequestro de repositório representa uma ameaça potencial ao desenvolvimento de um aplicativo que incorpore um repositório GitHub como um componente necessário. Caso o repositório seja alterado e não atualizado ou reconhecido pelo desenvolvedor, o aplicativo pode ficar suscetível a ser sequestrado por esse método.

O repojacking, embora não represente uma ameaça significativa para os usuários, pode potencialmente ser utilizado como um meio de executar um ataque grave à cadeia de suprimentos. Caso um aplicativo dependa de um repositório comprometido, ele solicitará e obterá o código do repositório do repojacker, que pode incluir software malicioso.

Minimizar o risco de ataques à cadeia de suprimentos e repojacking é crucial para desenvolvedores que usam o GitHub, tanto como alvo do ataque quanto como parte com dependências.

Como minimizar o risco de RepoJacking

/pt/images/cloning-a-github-repository.jpg

Repojacking é um tipo de ataque que explora uma conhecida vulnerabilidade na gestão de repositórios. Os perpetradores assumem o controle de um repositório não seguro e manipulam dependências de vários aplicativos para realizar suas intenções maliciosas. Felizmente, devido à simplicidade dessa abordagem, contramedidas podem ser efetivamente implementadas para impedir tais ataques.

Crie Clones Privados de Repositórios

A clonagem de um repositório é uma excelente forma de minimizar o risco associado às dependências em seu projeto, pois você terá controle absoluto sobre sua cópia privada. Você pode criar uma cópia privada de um repositório público clonando e espelhando-o, conforme documentado em GitHub.

Rastreie as dependências do seu projeto com cuidado

É prudente revisar regularmente as dependências de seu projeto, especialmente se optar por não utilizar repositórios públicos, a fim de manter seu status atualizado e evitar possíveis problemas. Este processo pode ser realizado em um curto período de tempo, minimizando assim possíveis inconvenientes.

Reconsidere renomear sua conta

É aconselhável manter um nome de usuário atualizado sem apreensão. No entanto, devido à possibilidade de repojacking, é recomendável manter o nome de usuário desatualizado. Caso um usuário deseje modificar seu nome de usuário, ele deve criar outra conta e proteger o nome anterior por meio de registro.

Use recursos externos com sabedoria

A utilização de dependências representa um perigo latente devido à criação de pontos de acesso de terceiros dentro do aplicativo. Embora essas dependências possam oferecer uma medida de eficiência, é imperativo examiná-las rotineiramente em busca de vulnerabilidades. Além disso, a implementação de protocolos de segurança adicionais, incluindo autenticação SSH, pode ajudar a mitigar a ameaça de exploração.