自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用GoKart對(duì)Go代碼進(jìn)行靜態(tài)安全分析

安全 數(shù)據(jù)安全
GoKart是一款針對(duì)Go代碼安全的靜態(tài)分析工具,該工具能夠從Go源代碼中查找使用了SSA(單一靜態(tài)分配)形式的代碼漏洞。

[[433167]]

關(guān)于GoKart

GoKart是一款針對(duì)Go代碼安全的靜態(tài)分析工具,該工具能夠從Go源代碼中查找使用了SSA(單一靜態(tài)分配)形式的代碼漏洞。GoKart能夠跟蹤變量和函數(shù)參數(shù)的來(lái)源,以確定輸入源是否安全,與其他Go安全掃描程序相比,GoKart能夠有效減少誤報(bào)的數(shù)量。例如,與變量連接的SQL查詢傳統(tǒng)上可能標(biāo)記為SQL注入,然而,GoKart可以確定變量實(shí)際上是常量還是類(lèi)似常量的參數(shù),在這種情況下GoKart不會(huì)報(bào)出漏洞。

工具安裝

我們可以使用下列方式之一來(lái)安裝GoKart。

(1) go install安裝

廣大研究人員可以使用下列命令安裝GoKart:

  1. $ go install github.com/praetorian-inc/gokart@latest 

(2) Release安裝

首先,我們需要訪問(wèn)該項(xiàng)目的【Releases頁(yè)面】,并下載GoKart源碼至本地系統(tǒng)。

接下來(lái),我們可以下載checksums.txt文件來(lái)驗(yàn)證下載包的完整性:

  1. # Check the checksum of the downloaded archive 
  2.  
  3. $ shasum -a 256 gokart_${VERSION}_${ARCH}.tar.gz 
  4.  
  5. b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22  gokart_${VERSION}_${ARCH}.tar.gz 
  6.  
  7. $ cat gokart_${VERSION}_${ARCH}_checksums.txt | grep gokart_${VERSION}_${ARCH}.tar.gz 
  8.  
  9. b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22  gokart_${VERSION}_${ARCH}.tar.gz 

然后,提取已下載好的文檔:

  1. $ tar -xvf gokart_${VERSION}_${ARCH}.tar.gz 

最后,將GoKart代碼移動(dòng)至我們的運(yùn)行路徑中:

  1. $ mv ./gokart /usr/local/bin/ 

(3) 源碼安裝

首先,我們需要使用下列命令將該項(xiàng)目源碼克隆至本地:

  1. $ git clone https://github.com/praetorian-inc/gokart.git 

然后切換至項(xiàng)目根目錄,并構(gòu)建源碼:

  1. $ cd gokart 
  2.  
  3. $ go build 

最后,將GoKart代碼移動(dòng)至我們的運(yùn)行路徑中:

  1. $ mv ./gokart /usr/local/bin 

Docker支持

構(gòu)建Docker鏡像:

  1. docker build -t gokart . 

運(yùn)行容器,并執(zhí)行本地掃描(本地掃描目錄需要加載至容器鏡像中):

  1. docker run -v /path/to/scan-dir:/scan-dir gokart scan /scan-dir 

運(yùn)行容器,并執(zhí)行遠(yuǎn)程掃描(指定私鑰以作認(rèn)證,并加載至容器中):

  1. docker run gokart scan -r https://github.com/praetorian-inc/gokart 
  2.   
  3. # specifying a private key for private repository ssh authentication 
  4.  
  5. docker run -v /path/to/key-dir/:/key-dir gokart scan -r git@github.com:praetorian-inc/gokart.git -k /key-dir/ssh_key 

工具使用

針對(duì)當(dāng)前目錄中的Go模塊運(yùn)行GoKart:

  1. # running without a directory specified defaults to '.' 
  2.  
  3. gokart scan <flags> 

掃描不同目錄中的Go模塊:

  1. gokart scan <directory> <flags> 

查看幫助信息:

  1. gokart help 

項(xiàng)目地址

GoKart:【GitHub傳送門(mén)

 

責(zé)任編輯:趙寧寧 來(lái)源: FreeBuf
相關(guān)推薦

2021-11-26 08:45:06

NetworKi網(wǎng)絡(luò)安全分析安全工具

2015-09-11 15:41:08

2021-01-05 09:25:27

DockerSemgrep代碼靜態(tài)分析工具

2022-04-02 06:10:02

勒索軟件PSRansom安全工具

2021-12-26 18:36:47

安全審查Inspection

2020-12-25 15:24:24

人工智能

2017-09-26 19:02:09

PythonInstagram數(shù)據(jù)分析

2014-05-14 00:50:18

JoyentNode

2010-05-17 16:25:05

MySQL數(shù)據(jù)

2021-11-08 10:58:08

變量依賴圖排序

2009-10-16 10:38:41

2021-09-27 16:39:10

PythonGif壓縮

2021-06-08 13:56:34

工具靜態(tài)代碼

2013-04-08 10:47:42

Xcode靜態(tài)代碼分析

2013-06-27 17:30:37

2010-09-26 09:49:51

2017-12-12 13:17:36

機(jī)器學(xué)習(xí)代碼單元測(cè)試

2021-01-26 09:30:32

加密虛擬機(jī)攻擊

2020-09-21 09:58:01

Frida

2024-11-27 08:00:00

代碼圖代碼分析開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)