Aplikace, které používají staré názvy úložišť na GitHubu jako závislosti, mohou ve skutečnosti vést uživatele k malwaru. Zde je to, co potřebujete vědět.

Je stále více zřejmé, že repojacking GitHubu představuje pro vývojáře legitimní riziko. Hackeři mohou využít toho, že uživatelé a společnosti mění své názvy GitHub tím, že ukradnou staré úložiště jména v naději, že škodlivé soubory, které přidávají, mohou být načteny aplikacemi, které používají kód jako a závislost.

Je tedy důležité, abyste podnikli kroky k ochraně svého vlastního projektu GitHub, pokud jste nedávno změnili své uživatelské jméno nebo odkazovali na jiná úložiště jako závislosti.

Co je RepoJacking?

Repojacking GitHubu je typ exploitu, ke kterému může dojít poté, co vlastník úložiště změní své uživatelské jméno. Zpřístupní se stará kombinace uživatelského jména a názvu úložiště a repojacker může využít své závislosti nárokováním uživatelského jména a vytvoření úložiště se stejným jménem.

Repojacking může představovat dva různé typy rizik:

instagram viewer
  • Repojacking může způsobit, že jinak důvěryhodná aplikace bude nespolehlivá. Pokud používáte aplikaci, která používá úložiště GitHub jako závislost a vlastník úložiště přejmenuje, používání aplikace vás ponechá zranitelné.
  • Repojacking může ohrozit aplikaci, kterou vyvíjíte. Pokud odkazujete na úložiště GitHub jako na závislost a nevšimnete si ho nebo jej neaktualizujete, když je úložiště přejmenováno, vaše aplikace bude zranitelná vůči zneužití repojackingu.

Repojacking nepředstavuje pro uživatele obrovské riziko, ale existuje oprávněný důvod se domnívat, že by mohl sloužit jako mechanismus pro vážný útok na dodavatelský řetězec. Pokud má aplikace závislost, která odkazuje na repojackované úložiště, bude vyžadovat a přijímat kód od repojackerů, který může obsahovat malware.

Pokud vyvíjíte na GitHubu, víte, jak můžete minimalizovat riziko útoků na dodavatelský řetězec a repojacking – jak z hlediska toho, že jde o unesené úložiště, tak jako třetí strana se závislostmi – je životně důležitý.

Jak minimalizovat riziko RepoJacking

Repojackingové útoky se spoléhají na extrémně předvídatelný mechanismus: únosci převezmou kontrolu nad nenárokovaným úložištěm a poté využijí všechny aplikace, které na něj odkazují jako na závislost. Naštěstí je díky tomu snadné bojovat proti repojackingu.

Vytvářejte soukromé klony úložišť

Klonování úložiště je vynikající způsob, jak minimalizovat riziko spojené se závislostmi ve vašem projektu, protože budete mít absolutní kontrolu nad svou soukromou kopií. Můžete vytvořit soukromou kopii veřejného úložiště pouhým klonováním a zrcadlením, jak je zdokumentováno GitHub.

Pečlivě sledujte své projektové závislosti

Pokud se rozhodnete, že byste se raději problémům vyhnuli a odkazovali na veřejná úložiště, měli byste se ujistit, že často kontrolujete závislosti svých projektů. Kontrola stavu vašich závislostí několikrát za rok zabere maximálně hodinu – a ušetří vám to spoustu stresu.

Zvažte přejmenování svého účtu

V ideálním případě by udržování aktuálního uživatelského jména nebylo důvodem k obavám. Vzhledem k riziku repojackingu byste však měli zvážit ponechání svého zastaralého jména. Pokud musíte změnit své uživatelské jméno, měli byste si nárokovat a rezervovat staré jméno registrací jiného účtu.

Používejte externí zdroje moudře

Závislosti představují přirozené riziko, protože ve vaší aplikaci vytvářejí přístupové body třetích stran. I když obvykle stojí za čas, který ušetří, pravidelný audit závislostí vašeho projektu je zásadní. Měli byste také přijmout další bezpečnostní opatření, jako je použití ověřování SSH, abyste zabránili zneužití.