溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么使用命令行工具Graudit來(lái)查找代碼中的安全漏洞

發(fā)布時(shí)間:2021-10-28 16:13:06 來(lái)源:億速云 閱讀:114 作者:iii 欄目:web開(kāi)發(fā)

這篇文章主要介紹“怎么使用命令行工具Graudit來(lái)查找代碼中的安全漏洞”,在日常操作中,相信很多人在怎么使用命令行工具Graudit來(lái)查找代碼中的安全漏洞問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么使用命令行工具Graudit來(lái)查找代碼中的安全漏洞”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

為什么要使用開(kāi)源工具檢查代碼安全?

選擇開(kāi)源軟件、工具和項(xiàng)目作為開(kāi)發(fā)的一部分有很多理由。它不會(huì)花費(fèi)任何金錢(qián),因?yàn)槟闶褂玫氖且粋€(gè)由志趣相投的開(kāi)發(fā)者社區(qū)開(kāi)發(fā)的工具,而他們希望幫助其他開(kāi)發(fā)者。如果你有一個(gè)小團(tuán)隊(duì)或一個(gè)初創(chuàng)公司,找到開(kāi)源軟件來(lái)檢查你的代碼安全是很好的。這樣可以讓你不必單獨(dú)雇傭一個(gè) DevSecOps 團(tuán)隊(duì),讓你的成本降低。

好的開(kāi)源工具總是考慮到靈活性,它們應(yīng)該能夠在任何環(huán)境中使用,覆蓋盡可能多的情況。這讓開(kāi)發(fā)人員更容易將該軟件與他們現(xiàn)有的系統(tǒng)連接起來(lái)。

但是有的時(shí)候,你可能需要一個(gè)功能,而這個(gè)功能在你選擇的工具中是不可用的。那么你就可以選擇復(fù)刻其代碼,在其上開(kāi)發(fā)自己的功能,并在你的系統(tǒng)中使用。

因?yàn)?,大多?shù)時(shí)候,開(kāi)源軟件是由社區(qū)驅(qū)動(dòng)的,開(kāi)發(fā)的速度往往是該工具的用戶的加分項(xiàng),因?yàn)樗麄儠?huì)根據(jù)用戶的反饋、問(wèn)題或 bug 報(bào)告來(lái)迭代項(xiàng)目。

使用 Graudit 來(lái)確保你的代碼安全

有各種開(kāi)源的靜態(tài)代碼分析工具可供選擇,但正如你所知道的,工具分析的是代碼本身,這就是為什么沒(méi)有通用的工具適用于所有的編程語(yǔ)言。但其中一些遵循 OWASP 指南,盡量覆蓋更多的語(yǔ)言。

在這里,我們將使用 Graudit ,它是一個(gè)簡(jiǎn)單的命令行工具,可以讓我們找到代碼庫(kù)中的安全缺陷。它支持不同的語(yǔ)言,但有一個(gè)固定的簽名集。

Graudit 使用的 grep 是 GNU 許可證下的工具,類(lèi)似的靜態(tài)代碼分析工具還有 Rough Auditing Tool for Security(RATS)、Securitycompass Web Application Analysis Tool(SWAAT)、flawfinder 等。但 Graudit 的技術(shù)要求是最低的,并且非常靈活。不過(guò),你可能還是有 Graudit 無(wú)法滿足的要求。如果是這樣,你可以看看這個(gè) 列表 的其他的選擇。

我們可以將這個(gè)工具安裝在特定的項(xiàng)目下,或者全局命名空間中,或者在特定的用戶下,或者任何我們喜歡地方,它很靈活。我們先來(lái)克隆一下倉(cāng)庫(kù)。

$ git clone https://github.com/wireghoul/graudit

現(xiàn)在,我們需要?jiǎng)?chuàng)建一個(gè) Graudit 的符號(hào)鏈接,以便我們可以將其作為一個(gè)命令使用。

$ cd ~/bin &&; mkdir graudit $ ln --symbolic ~/graudit/graudit ~/bin/graudit

在 .bashrc (或者你使用的任何 shell 的配置文件)中添加一個(gè)別名。

#------ .bashrc ------ alias graudit="~/bin/graudit"

重新加載 shell:

$ source ~/.bashrc # 或 $ exex $SHELL

讓我們通過(guò)運(yùn)行這個(gè)來(lái)檢查是否成功安裝了這個(gè)工具。

$ graudit -h

如果你得到類(lèi)似于這樣的結(jié)果,那么就可以了。

怎么使用命令行工具Graudit來(lái)查找代碼中的安全漏洞

圖 1 Graudit 幫助頁(yè)面

我正在使用我現(xiàn)有的一個(gè)項(xiàng)目來(lái)測(cè)試這個(gè)工具。要運(yùn)行該工具,我們需要傳遞相應(yīng)語(yǔ)言的數(shù)據(jù)庫(kù)。你會(huì)在 signatures 文件夾下找到這些數(shù)據(jù)庫(kù)。

$ graudit -d ~/gradit/signatures/js.db

我在現(xiàn)有項(xiàng)目中的兩個(gè) JavaScript 文件上運(yùn)行了它,你可以看到它在控制臺(tái)中拋出了易受攻擊的代碼。

怎么使用命令行工具Graudit來(lái)查找代碼中的安全漏洞

JavaScript file showing Graudit display of vulnerable code

怎么使用命令行工具Graudit來(lái)查找代碼中的安全漏洞

JavaScript file showing Graudit display of vulnerable code

你可以嘗試在你的一個(gè)項(xiàng)目上運(yùn)行這個(gè),項(xiàng)目本身有一個(gè)長(zhǎng)長(zhǎng)的 數(shù)據(jù)庫(kù) 列表,用于支持不同的語(yǔ)言。

Graudit 的優(yōu)點(diǎn)和缺點(diǎn)

Graudit 支持很多語(yǔ)言,這使其成為許多不同系統(tǒng)上的用戶的理想選擇。由于它的使用簡(jiǎn)單和語(yǔ)言支持廣泛,它可以與其他免費(fèi)或付費(fèi)工具相媲美。最重要的是,它們正在開(kāi)發(fā)中,社區(qū)也支持其他用戶。

雖然這是一個(gè)方便的工具,但你可能會(huì)發(fā)現(xiàn)很難將某個(gè)特定的代碼識(shí)別為“易受攻擊”。也許開(kāi)發(fā)者會(huì)在未來(lái)版本的工具中加入這個(gè)功能。但是,通過(guò)使用這樣的工具來(lái)關(guān)注代碼中的安全問(wèn)題總是好的。

到此,關(guān)于“怎么使用命令行工具Graudit來(lái)查找代碼中的安全漏洞”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI