甲方安全建設之研發安全-SCA

前言

大多數企業或多或少的會去採購第三方軟件,或者研發同學在開發代碼時,可能會去使用一些好用的軟件包或者依賴包,但是如果這些包中存在惡意代碼,又或者在安裝包時不小心打錯了字母安裝了錯誤的軟件包,則可能出現供應鏈攻擊。因此去識別採購或者自研項目中的軟件包,來保證其版本足夠新、不存在惡意代碼是解決供應鏈的一項重要措施,而SCA(軟件成分分析)可以幫助完成這一動作。

OpenSCA-cli

下載地址:https://github.com/XmirrorSecurity/OpenSCA-cli 使用方法:首先使用了Docker的方式,快速掃描本地:docker run -ti --rm -v ${PWD}:/src opensca/opensca-cli筆者選擇了一個自身的python項目,沒發現風險:

image.png

不知道是不是Docker中沒漏洞數據庫還是Docker中的自帶的漏洞數據庫太少導致。再次嘗試使用Docker連接其SAAS雲端的方式進行掃描,發現可能是Docker內應用程序問題,導致TLS驗證失敗:

Get "https://opensca.xmirror.cn/oss-saas/api-v1/open-sca-client/aes-key?clientId=SxxxZVL&ossToken=xx-xx-xx-xx-xx": tls: failed to verify certificate: x509: certificate signed by unknown autho

反正核心都是使用opensca-cli ,因此直接使用Github下載的二進制文件進行了本地掃描:

 -token xe43dxxf55-xx-xx-xx-xxx -proj "" -path ${待檢測目標路徑}

雲端還是能掃出不少東西的:

image.png

DependencyTrack

下載地址:https://github.com/DependencyTrack/dependency-track參考官方文檔:https://docs.dependencytrack.org/getting-started/deploy-docker/這裏使用Docker啓動,且先不使用數據庫:

curl -LO https://dependencytrack.org/docker-compose.yml
​
docker-compose up -d

根據docker-compose.yml內容,frontend前端端口是8080,訪問8080,使用admin/admin登錄:

image.png

【----幫助網安學習,以下所有學習資料免費領!加vx:dctintin,備註 “博客園” 獲取!】

 ① 網安學習成長路徑思維導圖
 ② 60+網安經典常用工具包
 ③ 100+SRC漏洞分析報告
 ④ 150+網安攻防實戰技術電子書
 ⑤ 最權威CISSP 認證考試指南+題庫
 ⑥ 超1800頁CTF實戰技巧手冊
 ⑦ 最新網安大廠面試題合集(含答案)
 ⑧ APP客戶端安全檢測指南(安卓+IOS)

這裏依然以python項目爲例,使用python-sbom生成工具生成sbom:https://github.com/CycloneDX/cyclonedx-python

python -m pip install cyclonedx-bom
​
python3 -m cyclonedx_py -h
​
python3 -m cyclonedx_py  requirements -o out.json

然後到Projects->Create project->Components->Upload BOM上傳生成的BOM即可。

image.png

發現一個問題,就以python爲例,DependencyTrack解析的是requirements等方式來獲取的軟件清單,相比於OpenSCA-cli少了很多,比如hostScan項目中的requirements.txt文件裏面的包就是17個,DependencyTrack識別到的就是17個:

image.png

而OpenSCA-cli會發現一些依賴的包:

image.png

更多網安技能的在線實操練習,請點擊這裏>>

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章