Programavimas

„Git Hound“, „Truffle Hog“ pašalina „GitHub“ nuotėkį

Tai „App Dev 101“: nereikia koduoti API žetonų, šifravimo raktų ir vartotojo kredencialų. Bet jei tai padarysite, prieš įsipareigodami „GitHub“ ar kitoms viešosioms kodų saugykloms, įsitikinkite, kad pašalinote juos iš savo kodo.

Prieš ketverius metus „GitHub“ pristatė paieškos funkciją, leidžiančią lengvai rasti slaptažodžius, šifravimo raktus ir kitą neskelbtiną informaciją viešai prieinamose saugyklose. Problema nepagerėjo; Praėjusiais metais mokslininkai visuose „GitHub“ projektuose rado 1 500 „Slack“ žetonų, kuriais kiti galėjo piktnaudžiauti, norėdami patekti į pokalbius, failus ir kitus neskelbtinus duomenis, kuriuos bendrino privačios „Slack“ komandos.

„Truffle Hog“ ir „Git Hound“ yra du galimų įrankių pavyzdžiai, kurie padeda administratoriams ir kūrėjams ieškoti slaptų raktų, kurie netyčia nutekėjo per jų projektus „GitHub“. Jie taiko skirtingą požiūrį, kad išspręstų tą pačią problemą, tačiau tikslas yra tas pats: padėti administratoriams sustabdyti kriptografinių paslapčių skelbimą viešose svetainėse.

„Truffle Hog“ pereis visą kiekvienos šakos įsipareigojimų istoriją ir patikrins kiekvieno skirtumo skirtumus bei įvertins „Shannon“ entropiją tiek „base64“ simbolių rinkiniui, tiek šešioliktainių simbolių rinkiniui kiekvienam teksto dėmeniui, kuriame yra daugiau nei 20 simbolių, sudarytų iš šių simbolių rinkiniai kiekviename diff “, - sakė įrankio kūrėjas Dylanas Ayrey. Šanono entropija, pavadinta matematiko Claude'o E. Shannono vardu, nustato atsitiktinumą, o didelė entropija rodo, kad eilutė greičiausiai naudojama kriptografinėms paslaptims, tokioms kaip prieigos raktas ar privatus raktas. „Truffle Hog“ išspausdina stambios entropijos eilutes, kurias administratoriai gali ištirti, kad sužinotų, kas yra faile. Parašytas „Python“, „Truffle Hog“ paleisti reikia tik „GitPython“ bibliotekos.

„Git Hound“ laikosi kitokio požiūrio: jis naudoja „Go“ papildinį, parašytą „Go“, kad nuskaitytų failus prieš pat įsipareigojimą „GitHub“. Papildinys ieško atitikčių reguliariajam posakiui, nurodytam atskirame faile .githound.yml, ir išspausdina įspėjimą prieš leisdamas atlikti įsipareigojimą, arba nepavyksta ir sustabdo įsipareigojimą tęsti. Skalikas gali „uostyti pokyčius nuo paskutinio įsipareigojimo ir pereiti į„ git-pühend “, kai jis yra švarus“, - sakė įrankio kūrėjas Ezekielis Gabrielse'as. Nors būtų „gana paprasta“ nustatyti patikrą iš anksto įsipareigojus, Gabrielse teigė, kad papildinys suteikia daugiau lankstumo.

Naudodami įprastus posakius „Git Hound“ gali tvarkyti daugybę neskelbtinos informacijos, nes sąraše gali būti kredencialai, prieigos žetonai ir net failų bei sistemų pavadinimai. Papildinys gali būti naudojamas norint nuobodžiauti pokyčius nuo paskutinio įvykdymo, visos kodų bazės ar net visos saugyklos istorijos. Kadangi .githound.yml nėra įtrauktas į „GitHub“ saugyklą, regexpsas lieka privatus.

Patikrinimo laikas yra svarbus, nes Houndas, prieš įsipareigodamas „GitHub“, užuodžia kodą, įtraukdamas šį svarbų saugos patikrinimą į kūrėjo darbo eigą. Su kūrėjo darbo eiga derantys saugos įrankiai greičiausiai bus naudojami tinkamu laiku.

Tai neturėtų atsitikti, tačiau jautrūs raktai netyčia patenka į viešojo kodo saugyklas, nes jie buvo užkoduoti programinės įrangos projektuose, yra pernelyg dažnas atvejis. Saugumo tyrėjai viešai prieinamose „GitHub“ saugyklose rado beveik 10 000 „Amazon Web Services“ ir „Elastic Compute Cloud“ egzempliorių prieigos raktų, paskatindami „Amazon“ taikyti praktiką reguliariai tikrinti „GitHub“ tokius raktus ir atšaukti juos, kol jais nebus galima piktnaudžiauti.

Nors puiku, kad „Amazon“ ėmėsi šios užduoties, greičiausiai bus nutekinta daugybė kitų rūšių paslapčių. „Truffle Hog“ ir „Git Hound“ leidžia administratoriams ir kūrėjams sugauti klaidas, kol jos netampa brangios avarijos.

$config[zx-auto] not found$config[zx-overlay] not found