一款能在GitHub代碼庫中探測密鑰的工具:Truffle Hog
工具簡介
這款名叫“Truffle Hog”的免費開源工具可以幫助開發(fā)人員檢測自己在GitHub上發(fā)布的項目代碼是否意外泄漏了密鑰。
Truffle Hog是一款采用Python開發(fā)的工具,它可以檢索GitHub代碼庫的所有代碼提交記錄以及分支,并搜索出可以表示密鑰(例如AWS密鑰)的高熵字符串。
運行機制
該工具的開發(fā)者Dylan Ayrey解釋稱:
“Truffle Hog會檢索代碼庫中每一個分支完整的代碼提交記錄,而且也會檢查每一次提交的git diff信息,然后對每一個長度超過20個字符的base64字符集和十六進制字符集的香農(nóng)熵(Shannon entropy)進行估值。如果TruffleHog檢測到了一個長度大于20個字符的高熵字符串,它便會將其打印輸出至屏幕。”
一些Reddit用戶目前已經(jīng)在社區(qū)開始討論Truffle Hog了,因為在此之前有攻擊者曾利用工具在GitHub中搜索用戶意外泄漏的AWS密鑰,并將這些密鑰用于惡意的AWS實例之中。由于這種類型的惡意活動會給亞馬遜公司帶來巨額的經(jīng)濟損失,因此亞馬遜也將那些在公共代碼庫中意外泄漏了密鑰的AWS賬號暫時禁用了。
Dylan Ayrey是誰?
其實,有些用戶可能早就熟知Ayrey了。Ayrey在去年曾專門制作了一個演示demo來警告用戶“Pastejacking攻擊”危險性。這種基于JavaScript的攻擊可以修改用戶剪切板中的內(nèi)容,然后誘使用戶在其他地方粘貼這些內(nèi)容。此時的用戶并不知道他們所粘貼的是惡意代碼,而這些惡意代碼則有可能在計算機中的任何地方得到執(zhí)行。
Truffle Hog項目在GitHub上已經(jīng)擁有超過700多位粉絲了,而這也使得該項目成了Ayrey繼Pastejack攻擊demo之后第二火爆的開源項目了。
開發(fā)人員不應(yīng)該粗心大意
開發(fā)人員在將自己的項目代碼提交至GitHub之前,一定要再三檢查代碼中可能存在的敏感信息,而這一點安全研究專家也已經(jīng)多次警告過社區(qū)的開發(fā)人員了。在2013年1月份,GitHub也推出了一款新的內(nèi)部搜索功能,開發(fā)人員可以利用這個功能來搜索代碼庫中的密碼、加密密鑰、以及其他的敏感數(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