一款能在GitHub代碼庫中探測密鑰的工具:Truffle Hog
工具簡介
這款名叫“Truffle Hog”的免費(fèi)開源工具可以幫助開發(fā)人員檢測自己在GitHub上發(fā)布的項(xiàng)目代碼是否意外泄漏了密鑰。
Truffle Hog是一款采用Python開發(fā)的工具,它可以檢索GitHub代碼庫的所有代碼提交記錄以及分支,并搜索出可以表示密鑰(例如AWS密鑰)的高熵字符串。
運(yùn)行機(jī)制
該工具的開發(fā)者Dylan Ayrey解釋稱:
“Truffle Hog會(huì)檢索代碼庫中每一個(gè)分支完整的代碼提交記錄,而且也會(huì)檢查每一次提交的git diff信息,然后對每一個(gè)長度超過20個(gè)字符的base64字符集和十六進(jìn)制字符集的香農(nóng)熵(Shannon entropy)進(jìn)行估值。如果TruffleHog檢測到了一個(gè)長度大于20個(gè)字符的高熵字符串,它便會(huì)將其打印輸出至屏幕。”
一些Reddit用戶目前已經(jīng)在社區(qū)開始討論Truffle Hog了,因?yàn)樵诖酥坝泄粽咴霉ぞ咴贕itHub中搜索用戶意外泄漏的AWS密鑰,并將這些密鑰用于惡意的AWS實(shí)例之中。由于這種類型的惡意活動(dòng)會(huì)給亞馬遜公司帶來巨額的經(jīng)濟(jì)損失,因此亞馬遜也將那些在公共代碼庫中意外泄漏了密鑰的AWS賬號(hào)暫時(shí)禁用了。
Dylan Ayrey是誰?
其實(shí),有些用戶可能早就熟知Ayrey了。Ayrey在去年曾專門制作了一個(gè)演示demo來警告用戶“Pastejacking攻擊”危險(xiǎn)性。這種基于JavaScript的攻擊可以修改用戶剪切板中的內(nèi)容,然后誘使用戶在其他地方粘貼這些內(nèi)容。此時(shí)的用戶并不知道他們所粘貼的是惡意代碼,而這些惡意代碼則有可能在計(jì)算機(jī)中的任何地方得到執(zhí)行。
Truffle Hog項(xiàng)目在GitHub上已經(jīng)擁有超過700多位粉絲了,而這也使得該項(xiàng)目成了Ayrey繼Pastejack攻擊demo之后第二火爆的開源項(xiàng)目了。
開發(fā)人員不應(yīng)該粗心大意
開發(fā)人員在將自己的項(xiàng)目代碼提交至GitHub之前,一定要再三檢查代碼中可能存在的敏感信息,而這一點(diǎn)安全研究專家也已經(jīng)多次警告過社區(qū)的開發(fā)人員了。在2013年1月份,GitHub也推出了一款新的內(nèi)部搜索功能,開發(fā)人員可以利用這個(gè)功能來搜索代碼庫中的密碼、加密密鑰、以及其他的敏感數(shù)據(jù)。該服務(wù)一經(jīng)推出,廣大用戶就立刻在GitHub中掃描到了大量意外泄漏的密鑰。
工具下載與安裝 – 【GitHub主頁】
下載
- python truffleHog.py https://github.com/dxa4481/truffleHog.git
安裝
Truffle Hog唯一的依賴組件就是GitPython,你可以通過下列命令搭建依賴環(huán)境:
- pip install -r requirements.txt