Stacs:一款功能強(qiáng)大的靜態(tài)令牌和憑證掃描安全工具
關(guān)于Stacs
Stacs一款功能強(qiáng)大的靜態(tài)令牌和憑證掃描工具,本質(zhì)上來(lái)說(shuō),Stacs是一個(gè)基于YARA的靜態(tài)憑證掃描工具,該工具支持二進(jìn)制文件格式、嵌套文檔分析、可組合規(guī)則集和忽略列表以及SARIF報(bào)告。
當(dāng)前版本的Stacs支持tarballs、gzip、bzips、zips、7z、iso、rpm和xz文件的遞歸解包。由于Stacs處理的是它所檢測(cè)到的文件類型,而不是文件名,因此該工具將自動(dòng)支持基于這些類型的適當(dāng)文件格式,例如Docker鏡像、Android APK和Java JAR文件。
Stacs的適用人群
Stacs可以為任何需要涉及到二進(jìn)制文件的安全團(tuán)隊(duì)提供幫助,因?yàn)镾tacs可以為開發(fā)人員提供自動(dòng)檢查目標(biāo)代碼版本中是否意外包含靜態(tài)憑據(jù)和敏感數(shù)據(jù)的能力。
然而,這并不意味著Stacs不適用于Saas應(yīng)用層序、企業(yè)軟件或者產(chǎn)品源代碼。比如說(shuō),我們可以使用Stacs在上傳到公共或私有容器的Docker鏡像中尋找靜態(tài)憑證。除此之外,我們還可以通過(guò)Stacs搜索意外編譯到可執(zhí)行文件、移動(dòng)設(shè)備軟件包和“企業(yè)文檔”(如Java應(yīng)用程序服務(wù)器使用的文檔)中的憑據(jù)。
工具使用
使用Stacs最簡(jiǎn)單的方法就是通過(guò)Docker Hub中發(fā)布的Docker鏡像了。不過(guò),Stacs也可以直接通過(guò)Python的PyPI來(lái)安裝,或者你也可以直接使用下列命令將該項(xiàng)目源碼克隆至本地:
- git clone https://github.com/stacscan/stacs.git
Docker使用
使用發(fā)布的Docker鏡像,Stacs將該能夠直接幫助我們完成組件掃描。我們可以直接在掃描容器中加載大量文件,并交給Stacs的Docker鏡像進(jìn)行掃描。
比如說(shuō),我們可以使用下列命令直接掃描當(dāng)前目錄中的所有內(nèi)容:
- docker run \
- --rm \
- --mount type=bind,source=$(pwd),target=/mnt/stacs/input \
- stacscan/stacs:latest
默認(rèn)配置下,Stacs會(huì)直接將所有的發(fā)現(xiàn)以SARIF格式直接輸出至STDOUT,并確保一切數(shù)據(jù)按順序排列,所有的信息都會(huì)被記錄并發(fā)送至STDERR。
PyPI安裝
我們也可以通過(guò)Python的PyPi來(lái)安裝Stacs。此時(shí)我們可以通過(guò)“stacs”命令直接在本地開發(fā)環(huán)境中執(zhí)行項(xiàng)目掃描。
我們可以使用下列命令直接通過(guò)PyPI安裝Stacs:
- pip install stacs
微軟SARIF報(bào)告查看
當(dāng)前版本的Stacs數(shù)據(jù)輸出格式僅支持SARIF v2.1.0,下圖顯示的是我們利用Stacs在一個(gè)Docker鏡像中發(fā)現(xiàn)的結(jié)果:
項(xiàng)目地址
Stacs:【GitHub傳送門】